MerkleTree是一種二叉樹,其最底層葉子節點存儲數據以及數據的哈希,而每上一層節點則存儲兩個子節點的哈希,最后由根節點的哈希保證這個MerkleTree的任何節點數據的完整性。因為修改任何一個葉子節點的數據都會導致根節點的哈希變化,因此,比特幣使用MerkleTree保證一個區塊內的所有交易均不可修改:
這樣就可以把樹的高度從160層壓縮到40層。
40層的高度對于從根開始遍歷還是太長了,我們可以參考MPT,把相同前綴的節點合并,一個節點可以直接跨越幾個層級掛在上層節點上,這樣可以大大縮短節點路徑。
例如,對于空樹,我們插入第一個葉子節點0x215A1C45...,它應該直接掛在根節點表示的子樹索引為2的位置上:
如果插入第二個葉子節點0x215AB162...,因為有共同的前綴215A,所以需要創建一個中間節點215A,再把兩個葉子節點分別掛在索引為1和11的位置:
這樣對于葉子節點來說,只需要很少幾次查找就能定位。
完整的SMT實現參考源碼可以從GitHub下載:
https://github.com/michaelliao/eth-smt
責任編輯:Kate
2022年是殘酷的一年,Terra、3AC和FTX等前巨頭的倒閉對該行業造成了嚴重破壞。情緒低落,價格下跌非常非常糟糕.
1900/1/1 0:00:00BUSD的透明度 BUSD是一種與美元掛鉤的穩定幣,由Paxos發行,并得到Binance的品牌支持.
1900/1/1 0:00:00你是否正在為尋找Web3產品的好想法而苦惱?在加利福尼亞大學伯克利分校WEB3MOOC課程中,Dragonfly合伙人Haseeb最近進行了一個關于如何在Web3領域找到一個好主意的講座.
1900/1/1 0:00:0000后正在以驚人的速度在Web3世界中成長。隨著數字經濟的蓬勃興起,千禧一代的00后自出生起就生活在一個數字化的世界,娛樂、學習、社交......他們的生活與數字化世界互嵌為一體.
1900/1/1 0:00:00在9月底Paradigm官宣完成了區塊鏈安全項目Blowfish的領投又一次引起了大家對智能合約安全分析領域的廣泛關注.
1900/1/1 0:00:00概述 在web3.0世界中,交易的處理性能一直是公鏈面臨的一大技術挑戰,如何在不降低安全性和去中心化程度的前提下顯著地提升區塊鏈交易的TPS無疑成為眾多公鏈技術專家追逐的目標.
1900/1/1 0:00:00