比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 區塊鏈 > Info

以太坊核心開發者:MPT十六叉樹將被替換_以太坊

Author:

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

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

對于該提案,以太坊聯合創始人vitalik評論稱:

以下是譯文:

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

耐克推出首款基于以太坊的 NFT 運動鞋:金色財經報道,運動鞋和服裝巨頭耐克發布了其首款數字虛擬世界運動鞋,基于以太坊 NFT 的 RTFKT x Nike Dunk Genesis CryptoKicks,并配備了可改變風格的 Skin Vial NFT。球鞋 NFT 已開始在二級市場上轉售,截至發稿時,在 OpenSea平臺的起價約為 5 ETH(超過 14,800 美元)。

2019 年 12 月,耐克獲得了 CryptoKicks 的專利,這是一種區塊鏈驅動的系統,其中數字資產可以與實物產品配對,這家運動鞋巨頭在去年 12 月收購了 NFT 公司 RTFKT Studios。[2022/4/23 14:43:03]

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

以太坊上穩定幣流通量突破360億美元:據歐科云鏈OKLink數據顯示,截至今日14時,以太坊上穩定幣流通量為360.3億美元,首次突破360億美元整數關口,年內增幅達67.54%。

其中USDT的供應量為200.17億,USDC為83.93億,DAI為23.48億。[2021/2/25 17:51:12]

背景

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

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

CoinShares計劃在瑞士證券交易所上市以太坊產品:數字資產投資公司CoinShares計劃推出實物支持的、交易所交易的以太坊產品(ETP)。這是既今年1月推出比特幣產品(代碼:BITC)之后第二款在交易所交易的數字貨幣產品。該產品將以ETHE的代碼在瑞士證券交易所上市,基本費率為1.25%。(彭博社)[2021/2/24 17:48:47]

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

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

數據:目前以太坊2.0存款合約上ETH持有量排名13:據Tokenview數據顯示,以太坊2.0存款合約地址目前存入的ETH已達總目標。首發合約地址為0xcbc1065255cbc3ab41a6868c22d1f1c573ab89fd(Cream ETH 2),該地址于今日14時31分開始發起連續的存入,截止目前正在調用中的合約是位于F2Pool的挖礦地址0x0194512e77d798e4871973d9cb9d7ddfc0ffd801,合約調用仍在進行中。目前以太坊2.0存款合約上ETH的持有量排名13。[2020/11/24 21:58:53]

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

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

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

紐約時報:SEC被要求不將以太坊視為證券:早先據華爾街日報的報道,主要的加密行業投資者Andreessen Horowitz,風險投資公司Union Square Ventures以及一些律師組成了“風險投資工作組”,與美國證券交易委員會企業融資部門的高級官員以及一些委員會的辦公室舉行了一次私人會議,討論基于區塊鏈的加密貨幣豁免情況,當時的報道主要集中在討論ICO。然而,后來據紐約時報的Nathaniel Popper報道,第二大加密貨幣以太坊也在討論范圍內。根據該報道,風險投資工作組的提案認為,以太坊“已經變得非常分散,不應該被視為一種證券”,盡管它在美國法律下其具有許多證券的標志。該提案認為,美國證券交易委員會在確定加密貨幣是否為證券時,如果加密貨幣達到了“全部功能性”或“完全分散化”,就不應被視為有價證券。消息人士表示,美國證交會并不過分服從該提案,某些加密貨幣或得到豁免。但是,目前尚不清楚證交會是否會區分最近發起的項目和已經運行多年的例如以太坊的項目。[2018/4/21]

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

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

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

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

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

覆蓋轉化法

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

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

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

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

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

在這種方法中,確定在區塊高度H1處,區塊具有兩個stateRoots:一個用于“基礎”十六叉樹,一個用于“覆蓋”二叉樹。

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

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

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

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

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

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

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

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

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

下一步

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

致謝

這項提議得益于Alexey Akhunov,Vitalik Buterin,Anna George,Sina Mahmoodi,Tomasz Stanczak以及Martin H. Swende提供的寶貴意見。

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

Tags:以太坊ETHSTAOOT以太坊幣價格今日行情價格ethereum網絡STAMP幣CFOOT幣

區塊鏈
AAX 攜AAB助力合約市場發展 首創平臺收入100%每日回購及銷毀模式_數字資產

2020年雖有比特幣等多個幣種減半的利好預期,但實際的價格走勢卻讓人大跌眼鏡。3月12日晚間,受到美股大跌的影響,比特幣價格在短時間內出現跳水,在跌破6000美元之后沒有收住自己的腳步,直接降到.

1900/1/1 0:00:00
億萬富翁要求Facebook披露誰在利用他的身份推銷比特幣詐騙廣告_FACE

珍妮特?杰克遜的億萬富翁前夫維薩姆?阿爾?馬納(Wissam Al-Mana)要求Facebook披露誰是該平臺上利用其形象宣傳加密貨幣欺詐廣告的幕后黑手.

1900/1/1 0:00:00
數字合約如何將所有權下放?_OIN

在本文中,我們將基于使用數字拼圖作為重現稀缺性方式的思想,及基于供應控制機制以賦予數字貨幣一定硬度的重要性,以探索貨幣的概念。通過簽名和腳本以及稱為CoinJoin的技術證明所有權.

1900/1/1 0:00:00
一份圖表 總覽2020年區塊鏈發展_加密貨幣

2020年區塊鏈發展報告 德意志銀行巴爾茨:預計歐盟委員會將于6月底提交一份數字歐元的立法提案:金色財經報道.

1900/1/1 0:00:00
金色觀察 | 中本聰白皮書不包含脫離監管概念_DAPP

據AMBCRYPTO報道,多年來,比特幣的確發展出了一種叛逆者或非循規蹈矩者的形象,但著名的“加密之父”(crypto dad)還有別的要說.

1900/1/1 0:00:00
金色觀察 | 2020 依舊是反洗錢監管年_數字貨幣

3月16日,新加坡金融管理局(MAS)發布了73頁的新“數字支付令牌服務提供商指南”,對2019年12月發布的,有關“預防洗錢和打擊資助恐怖主義行為”的通知進行了進一步補充.

1900/1/1 0:00:00
ads