兄弟,我的朋友告訴我梅克爾樹是一個“史前”的概念。我甚至不知道梅克爾樹是什麼!

兄弟,沒錯。你的朋友說得對。梅克爾樹是一種基本的數據結構,它是“史前”的,因爲它是由拉爾夫·梅克爾在1979年發明的。那是在比特幣創造之前足足30年!

中本聰挖掘了這個“化石”,並意識到它是解決區塊鏈一個巨大問題的關鍵。

好吧,這個古老的東西到底是什麼?

梅克爾樹是一種將大量數據(比如一個加密區塊中的所有數千筆交易)壓縮成一個唯一指紋的方法,這個指紋被稱爲梅克爾根。

  • 想象一下一個有1,000名選手的巨大比賽。這些就是你的交易。

    1. 在對陣表的底部,你"哈希"每個選手的名字以獲得他們獨特的ID。

    2. 然後,就像比賽一樣,你將他們配對。選手1 vs. 選手2。你將他們的兩個ID一起"哈希"以獲得"比賽贏家"(一個新的哈希)。你對所有的配對都這樣做。

    3. 你將這些贏家再次配對,將他們的ID一起哈希以獲得下一輪的贏家。

    4. 你重複這個過程,配對和哈希,直到你在對陣表的頂部只剩下一個無可爭議的冠軍。最終的哈希就是梅克爾根。

這對區塊鏈爲什麼如此重要?

這個大師"冠軍"是唯一被放入區塊頭的信息。它賦予區塊鏈兩個超級能力:

  1. 它是防篡改的:如果有人試圖更改其中一筆初始交易(選手1的名字)中的一個細節,他們的初始哈希會改變。這會改變他們第一場比賽的贏家,進而改變下一輪的贏家,依此類推,直到最後。最終的"冠軍"將完全不同。這是一個即時的"檢查發動機"信號燈,適用於整個區塊。

  2. 它超級高效:現在,你想證明"選手77"實際上參加了這個比賽。

    • 舊方式:你必須展示所有1,000名選手的列表。

    • 梅克爾方式:你只需向你的朋友展示"選手77"和他們在比賽中對抗的少數"贏家",以便到達頂部(這就是梅克爾證明)。你的朋友可以重新運行那一支對陣表的分支,看看他們是否在最後得到相同的"冠軍"(梅克爾根)。

這使得你手機上的錢包能夠驗證你的交易,而無需下載整個1,000千兆字節的區塊鏈。