來源|?EthereumBlog
作者|GriffinIchibaHotchkiss
Eth1.x:無狀態以太坊新思路“reGenesis”
這周我們將對技術樹(techtree)?進行更新,為以太坊1.x研發添加一些新的主要里程碑,這些里程碑并不算是無狀態以太坊的完整實現,而是我們在中期能夠合理實現的目標。
其中最重要的更新是Alexey的reGenesis提案。雖然這是遠未規范化的更新,但是從研發的角度來看,reGenesis為“完全無狀態”的終極目標提供了一種更保守更切實可行的路徑。在其他方面與reGenesis互補的技術是靜態狀態網絡,能夠幫助在比特流(bittorrent)式的基于DHT的網絡中傳播狀態快照和歷史鏈數據。
同時,一些距離我們比較近的目標已經在為EIP化做準備,例如代碼分塊(codemerkleization)和狀態二進制樹。在本文中,我會為大家闡明已經實現的進展,并且附上鏈接,以便讀者深入了解感興趣的領域。
數據:50,000,000枚USDT從Tether財政部轉移到Bitfinex:金色財經報道,據Whale Alert數據顯示,50,000,000枚USDT從Tether財政部轉移到Bitfinex。[2022/8/21 12:38:20]
二進制樹
目前以太坊使用十六叉
Patricia默克爾樹來編碼狀態,但如果
轉變為二進制式會帶來顯著的效率提升,尤其是在見證大小這個方面。對以太坊狀態進行完全重新編碼需要制定新范式,以及清晰的過渡策略。最后,還需要決定是否將智能合約代碼分塊,并且將該過程合并到二進制樹過渡中還是作為獨立更新。
二進制樹范式
與當前的十六叉樹結構相比,二進制樹的概念要簡單一些。十六叉樹從樹根遍歷到子節點有十六條可能路徑,二進制樹只有兩條。
LBank藍貝殼于6月25日10:00上線PLUG,開放ETH和USDT交易:據官方公告,6月25日10:00,LBank藍貝殼上線PLUG,開放ETH和USDT交易,6月25日10:00開放充值,6月26日10:00開放提現。資料顯示,高級多鏈合成資產協議。一個網絡,使資產保管人能夠利用任何網絡的任何資產的合成形式。[2021/6/24 0:02:27]
隨著狀態樹的重新規范,我們有機會解決以太坊運行五年以來顯著的低效問題。此外,我們也有機會使狀態更適應現實世界中數據庫編碼的性能挑戰(在
上一篇有關狀態增長的文章中有提到)。
有關正式二進制樹規范和分塊規則的討論可以參見ethresearch.
過渡到二進制樹
重要的不僅僅是二進制樹范式這個目的地,旅途本身也非常有價值!在理想的過渡過程中,不會對網絡的交易處理產生干擾,也就是說客戶端將需要在處理每十五秒出現的新區塊的同時構建新的二進制樹。
ETH出現9萬枚大額轉賬:金色財經報道,Whale?Alert數據顯示,北京時間10月23日23:00,90000枚ETH從0x1213開頭未知錢包地址轉入0x15a6開頭未知錢包地址,價值約3715.23萬美元,交易哈希為:0x031d6f34e8efc05f70e01be5d0f68f2a71ae068d7df8d38590244b7f15d3a80e。[2020/10/23]
目前看起來最有希望的過渡策略被稱為“覆蓋”法,該方法部分基于geth的新快照同步協議。總的來說,新的狀態改變會以二進制范式被添加到現有的十六叉樹中,也就是說在過渡過程中會存在二進制和十六進制混合體。不受影響的狀態會被轉換為后臺處理。一旦完成轉換,這兩層會被合并到一個二進制樹中。
請務必注意,客戶端多樣性在二進制轉換過程中也起到了非常重要的作用。每個客戶端將需要實現自己的過渡版本,或是依靠其他客戶端進行轉換,然后在另一端等待新的樹。
Tether向波場網絡增發1億枚USDT(已授權未發行):金色財經報道,Whale Alert數據顯示,北京時間5月11日23:14,Tether向波場網絡增發1億枚USDT,交易哈希為9dd58512b1e065a6e785a96545bd54779e0d181739573a1785c130bbf151180b。對此,Bitfinex首席技術官Paolo Ardoino表示,波場網絡補充了1億USDT的庫存。請注意,這是一筆已授權但未發行的交易,這意味著該金額將用作下一次發行請求的庫存。[2020/5/12]
這需要我們“三思而后行”,所有客戶端需要協同工作來進行測試并協調轉換。出于安全性的考量,在過渡過程中網絡有可能需要短暫停止服務(例如挖出一些空塊),但是目前就任何具體計劃達成共識還為時尚早。
代碼分塊
以太坊狀態樹的很大一部分由智能合約代碼組成,約占50GB狀態的1GB左右。所有用于智能合約交互的見證(witness)都必須提供其交互的代碼,以計算codeHash,而這可能產生大量額外數據。
行情 | ETH 1小時跌幅達2.77%:Bitfinex數據顯示,當前 ETH 價格222.73美元,1小時下跌超過6.34美元,跌幅達2.77%,波動較大,請密切關注行情走勢,做好風險控制。[2018/9/6]
代碼分塊(CodeMerkleization)旨在將合約代碼切分為較小的塊,然后將codeHash替換為另一個默克爾樹根。這種方式使得我們可以使用參考哈希來替代見證中潛在的大部分智能合約代碼,從而省去數千字節的見證數據。
進行代碼分塊有多種方式,按復雜度來看,比較簡單的就是通用分塊(例如每塊大小64字節),而較為復雜的方式就是基于SolidityfunctionId或JUMPDEST指令的靜態分析。最優的代碼分塊策略最終還是取決于是否適用于從主網收集到的真實數據。
reGenesis
要了解reGenesis提案的最佳去處是@mandrigin給出的解釋,以及@realLedgerwatch提交的完整提案,概括來說reGenesis基本可以說是“區塊鏈的大掃除”。完整的狀態將從概念上分為“活躍”和“非活躍”狀態。整體“活躍”狀態會按一定周期被停用,然后新的交易會再次幾乎從零開始建立新的活躍狀態(因此被稱作“reGenesis”)。
如果交易需要之前的狀態,將會提供一個見證,這非常類似于無狀態以太坊所需的證明:證明狀態更改與某個非活躍狀態相一致的默克爾證明。如果一筆交易需要狀態的“非活躍”部分,它將自動將其轉變為為“活躍”狀態(無論交易是否成功),這該部分將會留至下一次reGenesis發生。
這樣做的一個好處在于,在使用狀態時創建一些經濟限制,而實際上不會刪除任何狀態。其次,如果交易發送方盲目地反復試圖交易,則無法生成見證。
關于reGenesis的意義,它使得以太坊朝著終極的無狀態目標跨進了一大步,并且避開了要實現無狀態面臨的最大挑戰,即EVM執行時如何計算見證的gas。同時它還使得某個版本的交易見證能夠在網絡中傳播,讓更輕量級的客戶端和dapp開發者能夠有更多機會熟悉無狀態范式和見證生成。
reGenesis之后“真正的”無狀態性就只是程度上的問題了:無狀態以太坊其實只是每個區塊之后的reGenesis。
狀態網絡
從一開始,網絡協議的優化只是技術樹中的一個“支線任務”,但隨著reGenesis進入無狀態以太坊的版圖,為分享以太坊鏈數據(包括狀態)探索替代的網絡原語也成為了主線任務。以太坊當前的網絡協議是一個整體,但事實上有多種類型的數據能夠通過不同的“子網絡”來進行共享,而這些“子網絡”能夠滿足不同的需求。
之前在無狀態會議中討論到這個話題時,我們稱其為“三個網絡”,基于DHT的網絡能夠更高效地服務于不常改變的數據類型。隨著reGenesis的引入,“非活躍”狀態能夠被納入這類不常變化的數據,從理論上來說也就能夠適用于比特流式的swarm網絡,而不是當前由全節點進行逐條廣播。
自上一次reGenesis之后,在網絡中傳播不變狀態的網絡就是靜態狀態網絡(staticstatenetwork),可以基于devp2p庫(以太坊網絡協議)中新的Discoveryv5.1規范進行延展。
之前類似Merry-go-Roundsync和更為成熟的SNAPprotocol,可用于同步活躍狀態,是邁向完全分布式動態狀態網絡的重要步驟,使得客戶端能夠快速同步完整狀態。
結語
關于無狀態以太坊技術樹每個分支更為細致和技術化的說明,讀者可以參閱
無狀態以太坊規范庫,也能在Eth1x/2R&DDiscord中對所有這些話題進行討論,如果想加入可以在ethresear.ch上要取邀請。如果有任何反饋和建議,請在推特聯系@gichiba或@JHancock。
聲明:ECN的翻譯工作旨在為中國以太坊社區傳遞優質資訊和學習資源,文章版權歸原作者所有,轉載須注明原文出處以及ethereum.cn,若需長期轉載,請聯系ethereumcn@gmail.com進行授權。
OKEx情報局行業周報帶你快速回顧行業動態,厘清產業動向。 目錄: 行情概覽 加密貨幣市場 DeFi生態 行業聲音 區塊鏈產業賦能 行業軼事 行情概覽 根據CoinGecko數據,截至2020年.
1900/1/1 0:00:00Aragon上已經創建了1500多個DAO組織,鎖定金額超2800萬美元。我們已經寫過很多DeFi不同版塊的內容了,基本上DeFi大類覆蓋的差不多了,今天填上DeFi重要的一個拼圖——DAO.
1900/1/1 0:00:008月22日,“2020全球區塊鏈算力大會暨新基建礦業峰會”在成都市成華區開幕。會議由市新經濟委、市科技局、成華區政府指導,由成華區新經濟和科技局、成華區投促局、龍潭新經濟產業功能區管委會、巴比特.
1900/1/1 0:00:00近日,美國國稅局開始向加密貨幣持有者發出一批新信件,咨詢他們是否正確地申報稅款。信件寫道:“我們了解到您擁有一個或多個賬戶包含虛擬貨幣,但可能未正確報告您涉及虛擬貨幣的交易,包括加密貨幣和非加密.
1900/1/1 0:00:00來源:EthereumBlog作者:CarlBeekhuizen免責聲明:本文對并沒有針對哪一個客戶端。我們要知道,每個客戶端甚至每個規范都可能含有不足以及漏洞.
1900/1/1 0:00:008月22日-23日,“共享新機遇——2020全球區塊鏈算力大會暨新基建礦業峰會”在成都舉行。本次大會由成都市新經濟委、成都市科技局及成都市成華區人民政府指導,由成都市成華區新經濟和科技局、成都市.
1900/1/1 0:00:00