比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > NEAR > Info

給以太坊做個大手術:MPT十六叉樹轉二叉樹需要這三步_以太坊

Author:

Time:1900/1/1 0:00:00

寫在前面:

想象一下,你正在翻譯一本5000頁的書籍,作者一直打電話告訴你他對故事做了調整,這會影響到你已經翻譯過的頁面……而這可能會一直持續下去,這就是以太坊從當前使用的MPT十六叉樹轉變為二叉樹結構中遇到的一個類似困境。對此,以太坊核心開發者GuillaumeBallet提出了一種方案,可以在大約幾天的時間內,通過3個步驟完成這一轉換手術。

(圖片來自:tuchong.com)

以下是譯文:

影響以太坊的眾多問題之一是賬戶和合約數據的存儲方式,以太坊目前選擇的結構稱為默克爾帕特里夏樹(MerklePatriciaTree,或簡稱MPT)。盡管從理論上講,它是很有意義的,但在實踐中,它帶來的問題要比其解決的問題要更多。多年來,核心開發人員一直在討論向二叉樹的轉換,在本文中,我將介紹我對這一問題的看法,然后給出一個解決它的方法。

區塊鏈開發商Neon Labs推出Neon EVM:金色財經報道,區塊鏈開發商Neon Labs推出了“Neon EVM”,這是一種計算環境,允許開發人員在Solana之上編寫以太坊應用程序。?Neon的實現是構建在Solana之上的智能合約,允許開發人員部署以太坊虛擬機 (EVM) 代碼這是迄今為止在網絡上不可能實現的。?Neon Labs宣布完成了以太坊開發人員將其項目轉移到Solana所需的工具,據稱此舉可能會降低其應用程序的運營成本。

Neon Labs團隊表示相信,其EVM解決方案將與Solana的高吞吐量功能有效集成以托管以太坊應用程序,目前正在這方面進行廣泛的測試。除了提供對Solana網絡的訪問之外,Neon EVM希望使以太坊應用程序能夠利用Solana的原生功能,包括并行執行交易。[2023/7/18 11:00:48]

提議的過程引入了一個過渡期,在此期間,兩種樹結構都會存在。這樣做的好處是,在轉換樹結構時,主鏈可以保持運行,并且還可以確保將所有帳戶轉換為二叉樹格式。

前NBA球星沙奎爾·奧尼爾要求法院撤銷FTX集體訴訟的訴訟傳票:5月9日消息,前NBA球星沙奎爾·奧尼爾(ShaquilleO’Neal)要求美國聯邦法院撤銷指控其在FTX崩潰事件中誤導投資者的訴訟傳票,他的律師表示法庭文件送達的流程不充分,送達員將法律文件扔在了奧尼爾行駛汽車前面,并將法律文件留在了它們落下的路上。(彭博社)[2023/5/9 14:51:10]

背景

目前,以太坊的賬戶是被存儲到一棵十六叉樹當中的。所謂十六叉,就表示一個節點有16個子節點,理論上這是很好的,因為這意味著你需要更少的"階段"來存儲你所有的數據。

例如,這就是以十六叉樹的形式表示鍵與值對的過程。在十六進制中,170表示為0xaa,因此你只需要兩層:其中之一用于第一個a,另一層則用于第二個a。

過去30天以太坊流通量減少超過10萬枚:金色財經報道,Ultrasound.money數據顯示,過去30天以太坊流通量減少104,601.23枚。當前以太坊流通量約為120,335,282枚,當前年化通縮率為1.057%。[2023/5/8 14:49:02]

圖1:這是一棵十六叉trie樹示例,顯示了值“v”如何存儲在鍵0xaa處。此樹只有2字節長的鍵,并且只沿0xaa鍵的子樹被展開。為了簡潔起見,不相關的子樹被替換為“…”。

注意,這棵樹很淺,也很寬。然后將其與以下相同鍵與值對的二叉樹表示法進行比較。在二進制中,

170表示為

10101010。

圖2:和圖1中相同的鍵值對,以二叉樹形式進行存儲。為了簡潔起見,不相關的子樹被表示為“…”。

收益聚合器Reaper Farm遭到攻擊,攻擊者將160萬DAI轉入Tornado.Cash:8月2日消息,據PeckShield監測,收益聚合器Reaper Farm遭到攻擊,攻擊者已轉移160萬DAI和62枚ETH至Tornado.Cash。[2022/8/2 2:54:01]

你可以看到,這棵樹要深得多,也窄得多。

在以太坊中,每個區塊都包含一個stateRoot字段,它是MPT根的哈希值。總而言之,這個哈希,是通過對根的16個子項的哈希列表進行哈希運算而獲得的。這些子哈希列中的每一個,又依次是其子哈希列表的哈希,依此類推。

每次生成一個新區塊時,礦工都會更新帳戶樹并重新計算其根哈希值。哈希存儲在新區塊的stateRoot字段中,然后新區塊被密封。

調查:加密貨幣在千禧一代中比共同基金更受歡迎:6月28日消息,投資公司Alto發布的一份報告調查了美國成年人的投資偏好。結果顯示,與投資共同基金的同齡人相比,25歲至40歲的千禧一代投資加密貨幣的人數更多。

調查顯示,40%的千禧一代受訪者投資了加密貨幣。該報告稱,這一比例“高于千禧一代擁有共同基金的比例”。此外,這一數字幾乎與持有股票的千禧一代人數相等。

根據該調查,大多數千禧一代要么已經擁有加密貨幣,要么正在考慮購買。然而,Alto創始人兼首席執行官Eric Satz表示,目前的形勢讓千禧一代很難考慮投資,因為他們難以負擔現在的生活。

與此同時,目前持有加密貨幣的調查參與者提到,他們可能會將加密貨幣加入自己的退休投資組合中。該報告強調,擁有加密貨幣和個人退休賬戶(IRA)的千禧一代中,70%的人在IRA中持有數字資產。(Cointelegraph)[2022/6/28 1:37:00]

圖3區塊頭的stateroot字段指向十六叉樹的根。

問題就出現在這里了:通過對所有節點進行哈希運算來重新計算哈希根花費的時間太長,因此,為了計算根節點,礦工將從數據庫中檢索同級哈希。盡管從數據庫中獲取所有子葉并對整棵樹進行哈希運算所需的時間不多,但此操作仍然需要大量時間。這是因為必須要從數據庫中獲取每個哈希。

在十六叉樹中,通常每個階段要獲取15個同級哈希。在上面的示例中,這就是30個哈希。

即使更深入,二叉樹每個階段也只需要一個同級哈希。在上面的示例中,就只有8個哈希!這就是為什么在實踐當中,二叉樹實際上要更好的原因。

覆蓋轉化法

不幸的是,要將以太坊從十六叉樹切換到二叉樹,并不是一件容易的事。有很多數據需要轉換,并且執行更改需要花費超過15秒的區塊時間。

除此之外,想象一下,你正在翻譯一本5000頁的書籍,作者一直打電話告訴你他對故事做了調整,這會影響到你已經翻譯過的頁面……而這可能會一直持續下去。

這就是目前以太坊遇到的問題,因為用戶可以更新已轉換的地址,這意味著你必須重新開始轉換過程。

解決此問題的建議是設一個過渡期,在此期間,在十六叉樹的頂部放置一棵覆蓋二叉樹,它的作用是保存狀態發生的所有更改,直到基樹轉換為二叉樹。

這種過渡會分成三步進行:

第1步-轉換

在這種方法中,確定在區塊高度

H1處,區塊具有兩個

stateRoots:一個用于“基礎”十六叉樹,一個用于“覆蓋”二叉樹。

圖4:在轉換過程中,區塊具有2個狀態根:一個是傳統十六叉樹的只讀根,第二個是“覆蓋”二叉樹的根。

十六叉樹被認為是只讀的,因此對狀態的任何更新都將是對覆蓋樹的更新。

當一筆交易讀取或更新一個帳戶時,系統首先搜索覆蓋樹。如果在那里找不到帳戶,系統將在舊的十六叉樹中搜索該值。

而在同時,十六叉樹正在后臺轉換。現在可以不用擔心插入,因為所有更改都存儲在頂部樹中。

第2步-基轉換

后臺轉換過程完成后,礦工將通過轉換結果替換只讀的十六叉樹基礎根來宣布他們已準備好進行切換。對狀態的讀寫操作與步驟1相同。

圖5:轉換的第二個階段,區塊頭將十六叉樹基礎根替換為其二叉樹轉換基礎根,以向網絡發送信號,告知它們已準備就緒。

當一個足夠大的序列區塊對轉換后的基礎根具有相同的值時,這意味著大多數礦工都完成了轉換,并對轉換后的樹的外觀達成了共識。接下開,就進入到合并過程。

第3步-合并兩顆樹

合并過程會逐漸進行:每次生成新區塊時,都會從疊加層中刪除n個鍵,然后將其重新插入到基礎樹中。該過程將持續進行,直到從疊加層中刪除所有鍵為止。在此階段,覆蓋狀態根將從區塊頭中刪除。

除此之外,如果交易執行寫入覆蓋樹中找到的鍵,則該鍵將從覆蓋樹中刪除,并直接寫入到基礎樹。

下一步

我們已經創建了一個初步的原型,以便估計完成轉換所需的時間。我們相信,整個過程可以在合理的時間內完成。隨著算法的改進,我將發布更多的細節。

致謝

這項提議得益于AlexeyAkhunov,VitalikButerin,AnnaGeorge,SinaMahmoodi,TomaszStanczak以及MartinH.Swende提供的寶貴意見。

相關討論:https://ethresear.ch/t/overlay-method-for-hex-bin-tree-conversion/7104

Tags:以太坊EONNEONNEO以太坊幣價格今日行情價格紅色是漲嗎Meong Tokenneon幣什么時候上交易所neon幣是什么意思啊

NEAR
機構投資者繼續潛伏,比特幣期貨交易量恢復還需時日_比特幣

剛剛過去的3月不是最好的月份,2020年第一季度也不是最好的季度。上個月,比特幣從超過9,000美元跌至4,000美元以下,抵消了數月的漲幅,并將該加密貨幣的價格拉低至年度低點,然后才出現微弱的.

1900/1/1 0:00:00
巴比特專欄 | 案例分析:交易所“宕機”,持幣人損失賠不賠?_COIN

本文來源: 肖颯lawyer 作者:郭譚浩肖颯 幣圈交易平臺宣傳“20ms”“10ms”絕無卡頓、絕不宕機來招攬客戶。但幣價漲落,各大主流虛擬幣交易量常單日破億;交易系統承受的壓力巨大.

1900/1/1 0:00:00
區塊鏈政策 | 22省將區塊鏈寫入2020政府工作報告_區塊鏈

作者:羅滔 編者注:原標題為《區塊鏈政策利好:22省將區塊鏈寫入2020政府工作報告》自2008年中本聰發表《比特幣:一種點對點的電子現金系統》以來,比特幣所采用的區塊鏈底層技術已經發展十多年.

1900/1/1 0:00:00
信通院論文:如何評估區塊鏈基礎設施的安全性?認準這14類評估指標_LOCK

作者:魏亮?查選 來源:中國電子銀行網 編者注:原標題為《區塊鏈基礎設施安全風險及評估探索》摘要:區塊鏈技術憑借抗篡改、透明化、分布式的安全特性已成為近年來全球科技和經濟發展新熱點.

1900/1/1 0:00:00
觀點:比特幣減半實際上是對那些高效礦工的獎勵_CRYPT

比特幣的區塊獎勵減半,提醒了人們它的稀缺性。盡管比特幣過去已經面臨兩次減半的事件,但第三次減半即將在一個多月的時間內完成.

1900/1/1 0:00:00
馬克斯·凱澤:黃金是富人的“廁紙”,比特幣是窮人的“廁紙”_區塊鏈

本文來源:Cointelegraph中文,作者:WILLIAMSUBERG人們將成群結隊地購買比特幣。因為馬克斯·凱澤預測,由于冠狀病的緣故,人們將不會出售黃金.

1900/1/1 0:00:00
ads