來源|?EthereumBlog
作者|GriffinIchibaHotchkiss
Eth1.x:無狀態以太坊新思路“reGenesis”
這周我們將對技術樹(techtree)?進行更新,為以太坊1.x研發添加一些新的主要里程碑,這些里程碑并不算是無狀態以太坊的完整實現,而是我們在中期能夠合理實現的目標。
其中最重要的更新是Alexey的reGenesis提案。雖然這是遠未規范化的更新,但是從研發的角度來看,reGenesis為“完全無狀態”的終極目標提供了一種更保守更切實可行的路徑。在其他方面與reGenesis互補的技術是靜態狀態網絡,能夠幫助在比特流(bittorrent)式的基于DHT的網絡中傳播狀態快照和歷史鏈數據。
同時,一些距離我們比較近的目標已經在為EIP化做準備,例如代碼分塊(codemerkleization)和狀態二進制樹。在本文中,我會為大家闡明已經實現的進展,并且附上鏈接,以便讀者深入了解感興趣的領域。
地址vitalik.eth轉移200 ETH至Kraken:金色財經報道,數據顯示,地址vitalik.eth轉移200 ETH至Kraken。[2023/5/5 14:44:53]
二進制樹
目前以太坊使用十六叉
Patricia默克爾樹來編碼狀態,但如果
轉變為二進制式會帶來顯著的效率提升,尤其是在見證大小這個方面。對以太坊狀態進行完全重新編碼需要制定新范式,以及清晰的過渡策略。最后,還需要決定是否將智能合約代碼分塊,并且將該過程合并到二進制樹過渡中還是作為獨立更新。
二進制樹范式
與當前的十六叉樹結構相比,二進制樹的概念要簡單一些。十六叉樹從樹根遍歷到子節點有十六條可能路徑,二進制樹只有兩條。
數據:Binance錢包地址過去24小時流出約1.1萬枚ETH:金色財經報道,過去24小時,交易所錢包地址中的ETH儲備變化情況如下:Binance 流出1.1萬枚 ETH,當前持有 ETH 約468.8萬枚,跌幅0.24%;
OKX 流出9808.4枚 ETH,當前持有 ETH約124.8萬枚,跌幅0.78%;
Bitfinex 流出8667.4枚 ETH,當前持有ETH 約42.9萬枚,跌幅1.98%;
Huobi 流出1179.5枚 ETH,當前持有 ETH約10萬枚,跌幅1.16%。[2023/2/5 11:48:18]
隨著狀態樹的重新規范,我們有機會解決以太坊運行五年以來顯著的低效問題。此外,我們也有機會使狀態更適應現實世界中數據庫編碼的性能挑戰(在
上一篇有關狀態增長的文章中有提到)。
有關正式二進制樹規范和分塊規則的討論可以參見ethresearch.
以太坊開發者:ETH 2.0下一步是升級和節點分布多樣化:2月11日消息,以太坊基金會研究員及開發者Danny Ryan在播客節目中表示,12月初活ETH 2.0主網成功激不是驚喜而是解脫。很有信心且看到主網發展順利非常棒。與我們發布的一些測試網相比,信標鏈變得越來越好,主網的推出比任何一個都要成功。與此同時,Danny Ryan表示,在接下來的幾個月里,他希望在Eth 2.0上看到一些修正、調整和改進。經過今年年中的升級,驗證節點用于連接到網絡的軟件客戶端的分布將會更加多樣化。看起來網絡上50%的節點都是Prysm,這并不是我們想要的結果,而當前以太坊2.0已經有四個非常棒的客戶端。注:Danny Ryan提到的升級是指此前1月27日公布的ETH2.0預計將于年中進行一次小規模網絡升級。(CoinDesk)[2021/2/11 19:32:56]
過渡到二進制樹
重要的不僅僅是二進制樹范式這個目的地,旅途本身也非常有價值!在理想的過渡過程中,不會對網絡的交易處理產生干擾,也就是說客戶端將需要在處理每十五秒出現的新區塊的同時構建新的二進制樹。
ZBG上線BWPool-ETH云算力(2年期):ZBG官網消息,ZBG于2020年12月24日0:00-2021年1月6日24:00(HKT)上線第一期“BWPool-ETH云算力“并推出限時超值購活動。
首期ETH云算力活動限量4,000M,單價為19.6USDT(約125QC)/M。每購買滿一份(10M)的用戶,可享受ZBG理財加息券一張;每購買10份(100M)的用戶,可享受50USDT現金補貼,。
據悉,本次上線的ETH云算力產品BWPool礦池設計出品,合約周期為兩年期(730天)。
更多詳情訪問ZBG官網了解詳情。[2020/12/24 16:21:50]
目前看起來最有希望的過渡策略被稱為“覆蓋”法,該方法部分基于geth的新快照同步協議。總的來說,新的狀態改變會以二進制范式被添加到現有的十六叉樹中,也就是說在過渡過程中會存在二進制和十六進制混合體。不受影響的狀態會被轉換為后臺處理。一旦完成轉換,這兩層會被合并到一個二進制樹中。
以太坊官方將reGenesis提議添加至ETH發展計劃:8月25日,以太坊官博發布文章稱,將對以太坊發展計劃(科技樹Tech Tree)進行修訂,以反映ETH 1發展的重要里程碑。其中最重要的是ETH 1.x研究人員Alexey Akhunov所提出的reGenesis建議。雖然該建議還尚未明確一定會進行升級,但社區普遍觀點是reGenesis將能推動以太坊走向“完全無狀態”。文章提到,reGenesis將使以太坊更接近于無狀態的最終目標,但避開了無狀態的一些最大挑戰,即在執行EVM期間見證gas會計如何工作。它還提供了一些在網絡中移動的交易見證,為更精簡、更輕的客戶端提供了更多機會,讓dapp開發人員適應無狀態范式并見證生產。再生后的“真正”無狀態將是一個程度問題:無狀態的以太坊實際上只是在每個區塊之后進行重新生成。此外,文章提到,進展計劃中還有一個靜態網絡,可以幫助在基于bittorrent類型的DHT網絡中分發狀態快照和歷史鏈數據。此前消息,以太坊研發者Philippe Castonguay曾表示,無狀態客戶端(或者類似ReGenesis)可有效提高ETH1網絡吞吐量。他稱,無狀態客戶端可以安全地增加區塊Gas限制,將更容易同步和維護節點。[2020/8/26]
請務必注意,客戶端多樣性在二進制轉換過程中也起到了非常重要的作用。每個客戶端將需要實現自己的過渡版本,或是依靠其他客戶端進行轉換,然后在另一端等待新的樹。
這需要我們“三思而后行”,所有客戶端需要協同工作來進行測試并協調轉換。出于安全性的考量,在過渡過程中網絡有可能需要短暫停止服務(例如挖出一些空塊),但是目前就任何具體計劃達成共識還為時尚早。
代碼分塊
以太坊狀態樹的很大一部分由智能合約代碼組成,約占50GB狀態的1GB左右。所有用于智能合約交互的見證(witness)都必須提供其交互的代碼,以計算codeHash,而這可能產生大量額外數據。
代碼分塊(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進行授權。
轉自:以太坊愛好者 幾天前,以太坊發布了“Launchpad”,里面包含了一個簡單易懂的用戶引導界面,只需點擊幾下即可成為ETH2.0驗證者.
1900/1/1 0:00:008月23日,共享新機遇——2020全球區塊鏈算力大會暨新基建礦業峰會進入第二日議程。大會由成都市新經濟委、成都市科技局及成都市成華區人民政府指導,由成都市成華區新經濟和科技局、成都市成華區投促局.
1900/1/1 0:00:00波卡完成DOT拆分后,價格就止不住地往上漲,已經連漲4天了。26日凌晨,DOT一根大陽線沖破5美元關口之后就再沒下來。截至發稿,DOT最新價格在6.3美元,相比拆分后的3美元價格漲了110%.
1900/1/1 0:00:00今天是Filecoin大礦工測試的第二天,本不應該有什么大新聞,可是今天就出了一件大事。明槍易躲暗箭難防,我一直猜想惡性網絡攻擊會過幾天才來,畢竟前幾天網絡不夠穩定,比武大會才剛剛開始,本以為各.
1900/1/1 0:00:00編者按: 作者完成此文"新冠肺炎疫情如何改變社會成本結構與觀念"的時間是六月底至七月初。鑒于與《二十一世紀》的相關協議,該雜志網站發布優先.
1900/1/1 0:00:00據TheBlcok8月19日報道,BitMEX運營商100xGroup的投資部門100xVentures向越南加密貨幣交易平臺VCCExchange投資了150萬美元.
1900/1/1 0:00:00