這周我們將對技術樹 (tech tree) 進行更新,為以太坊1.x研發添加一些新的主要里程碑,這些里程碑并不算是無狀態以太坊的完整實現,而是我們在中期能夠合理實現的目標。
其中最重要的更新是Alexey的reGenesis提案。雖然這是遠未規范化的更新,但是從研發的角度來看,reGenesis為“完全無狀態”的終極目標提供了一種更保守更切實可行的路徑。在其他方面與reGenesis互補的技術是靜態狀態網絡,能夠幫助在比特流 (bittorrent) 式的基于DHT的網絡中傳播狀態快照和歷史鏈數據。
同時,一些距離我們比較近的目標已經在為EIP化做準備,例如代碼分塊 (code merkleization) 和狀態二進制樹。在本文中,我會為大家闡明已經實現的進展,并且附上鏈接,以便讀者深入了解感興趣的領域。
數據:V神地址在過去20日內向巨鯨地址0x9e92轉入了9300枚ETH:金色財經報道,據 Lookonchain 監測,0xd04d開頭地址在過去20日內向巨鯨地址0x9e92轉入了9300枚ETH(約1116萬美元)。0xd04d開頭可能屬于以太坊創始人Vitalik Buterin,其收到的所有7萬枚ETH均來自于Vb3 ,巨鯨地址0x9e92目前持有17萬枚ETH(約2.59億美元)。[2023/1/19 11:21:25]
目前以太坊使用十六叉Patricia默克爾樹來編碼狀態,但如果轉變為二進制式會帶來顯著的效率提升,尤其是在見證大小這個方面。對以太坊狀態進行完全重新編碼需要制定新范式,以及清晰的過渡策略。最后,還需要決定是否將智能合約代碼分塊,并且將該過程合并到二進制樹過渡中還是作為獨立更新。
ETH跌破1500美元關口 日內跌幅為4.95%:火幣全球站數據顯示,ETH短線下跌,跌破1500美元關口,現報1498.1美元,日內跌幅達到4.95%,行情波動較大,請做好風險控制。[2021/3/5 18:16:44]
與當前的十六叉樹結構相比,二進制樹的概念要簡單一些。十六叉樹從樹根遍歷到子節點有十六條可能路徑,二進制樹只有兩條。隨著狀態樹的重新規范,我們有機會解決以太坊運行五年以來顯著的低效問題。此外,我們也有機會使狀態更適應現實世界中數據庫編碼的性能挑戰 (在上一篇有關狀態增長的文章中有提到)。
有關正式二進制樹規范和分塊規則的討論可以參見ethresearch.
重要的不僅僅是二進制樹范式這個目的地,旅途本身也非常有價值!在理想的過渡過程中,不會對網絡的交易處理產生干擾,也就是說客戶端將需要在處理每十五秒出現的新區塊的同時構建新的二進制樹。
ETH跌破490美元關口 日內跌幅為3.54%:火幣全球站數據顯示,ETH短線下跌,跌破490美元關口,現報489.99美元,日內跌幅達到3.54%,行情波動較大,請做好風險控制。[2020/11/27 22:16:39]
目前看起來最有希望的過渡策略被稱為“覆蓋”法,該方法部分基于geth的新快照同步協議。總的來說,新的狀態改變會以二進制范式被添加到現有的十六叉樹中,也就是說在過渡過程中會存在二進制和十六進制混合體。不受影響的狀態會被轉換為后臺處理。一旦完成轉換,這兩層會被合并到一個二進制樹中。
請務必注意,客戶端多樣性在二進制轉換過程中也起到了非常重要的作用。每個客戶端將需要實現自己的過渡版本,或是依靠其他客戶端進行轉換,然后在另一端等待新的樹。
這需要我們“三思而后行”,所有客戶端需要協同工作來進行測試并協調轉換。出于安全性的考量,在過渡過程中網絡有可能需要短暫停止服務 (例如挖出一些空塊),但是目前就任何具體計劃達成共識還為時尚早。
韓國SK集團推出企業區塊鏈平臺Chainjet for Ethereum:韓國第三大企業集團SK集團宣布已推出企業區塊鏈平臺“ Chainjet for Ethereum”。公司方面介紹,企業可利用該平臺規劃區塊鏈基礎服務,包括開發、運營的平臺配置及功能搭載,4個月即可開放相關服務。(韓聯社)[2020/6/24]
以太坊狀態樹的很大一部分由智能合約代碼組成,約占50GB狀態的1GB左右。所有用于智能合約交互的見證 (witness) 都必須提供其交互的代碼,以計算codeHash, 而這可能產生大量額外數據。
代碼分塊 (Code Merkleization) 旨在將合約代碼切分為較小的塊,然后將codeHash替換為另一個默克爾樹根。這種方式使得我們可以使用參考哈希來替代見證中潛在的大部分智能合約代碼,從而省去數千字節的見證數據。
動態 | Tether Treasury賬戶USDT余額持續流出:據Tokenview數據顯示,近24小時USDT共發生35筆大額鏈上轉賬,單筆金額均超過100萬USDT, 大額轉賬熱度較高。與此同時,Tether Treasury賬戶的USDT余額持續流出,較24小時前減少1193.8萬USDT。[2019/5/21]
進行代碼分塊有多種方式,按復雜度來看,比較簡單的就是通用分塊 (例如每塊大小64字節),而較為復雜的方式就是基于Solidity functionId或JUMPDEST指令的靜態分析。最優的代碼分塊策略最終還是取決于是否適用于從主網收集到的真實數據。
要了解reGenesis提案的最佳去處是@mandrigin給出的解釋,以及@realLedgerwatch提交的完整提案,概括來說reGenesis基本可以說是“區塊鏈的大掃除”。完整的狀態將從概念上分為“活躍”和“非活躍”狀態。整體“活躍”狀態會按一定周期被停用,然后新的交易會再次幾乎從零開始建立新的活躍狀態 (因此被稱作“reGenesis”)。
如果交易需要之前的狀態,將會提供一個見證,這非常類似于無狀態以太坊所需的證明:證明狀態更改與某個非活躍狀態相一致的默克爾證明。如果一筆交易需要狀態的“非活躍”部分,它將自動將其轉變為為“活躍”狀態 (無論交易是否成功),這該部分將會留至下一次reGenesis發生。
這樣做的一個好處在于,在使用狀態時創建一些經濟限制,而實際上不會刪除任何狀態。其次,如果交易發送方盲目地反復試圖交易,則無法生成見證。
關于reGenesis的意義,它使得以太坊朝著終極的無狀態目標跨進了一大步,并且避開了要實現無狀態面臨的最大挑戰,即EVM執行時如何計算見證的gas。同時它還使得某個版本的交易見證能夠在網絡中傳播,讓更輕量級的客戶端和dapp開發者能夠有更多機會熟悉無狀態范式和見證生成。
reGenesis之后“真正的”無狀態性就只是程度上的問題了:無狀態以太坊其實只是每個區塊之后的reGenesis。
從一開始,網絡協議的優化只是技術樹中的一個“支線任務”,但隨著reGenesis進入無狀態以太坊的版圖,為分享以太坊鏈數據 (包括狀態) 探索替代的網絡原語也成為了主線任務。以太坊當前的網絡協議是一個整體,但事實上有多種類型的數據能夠通過不同的“子網絡”來進行共享,而這些“子網絡”能夠滿足不同的需求。
之前在無狀態會議中討論到這個話題時,我們稱其為“三個網絡”,基于DHT的網絡能夠更高效地服務于不常改變的數據類型。隨著reGenesis的引入,“非活躍”狀態能夠被納入這類不常變化的數據,從理論上來說也就能夠適用于比特流式的swarm網絡,而不是當前由全節點進行逐條廣播。
自上一次reGenesis之后,在網絡中傳播不變狀態的網絡就是靜態狀態網絡 (static state network),可以基于devp2p庫 (以太坊網絡協議) 中新的Discovery v5.1規范進行延展。
之前類似Merry-go-Round sync和更為成熟的SNAP protocol,可用于同步活躍狀態,是邁向完全分布式動態狀態網絡的重要步驟,使得客戶端能夠快速同步完整狀態。
Tags:ETH以太坊EGEGENESETHW以太坊幣是哪個國家的幣Legends of Fantasy WarGenesis Wink
金色財經行情播報丨BTC小幅拉升,多頭有發力空間:據火幣行情顯示,昨日晚間BTC小幅拉升,最高探至9253.25USDT,隨后回調震蕩徘徊在9250USDT價格附近.
1900/1/1 0:00:00昨日聯動黃金一波上拉下砸再拉升的動作,高倍杠桿爆倉無數,對于這種短線波動較大的行情,做單一定要謹慎,盤面上看,昨日一波下砸最低觸及40日均線便被拉回,接近前期下砸低點位置,插針后快速回升.
1900/1/1 0:00:001 YFI=1 BTC,這是YFI社區的口號。在8月20日之前,很多人對它持懷疑乃至嘲諷的態度.
1900/1/1 0:00:00文章系金色財經專欄作者幣圈北冥供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:00在金融科技快速發展的過程中,如何既充分發揮其積極作用,又能有效應對潛在風險和挑戰,建立防范互聯網金融風險的長效機制,避免重蹈網絡借貸平臺的覆轍?近日.
1900/1/1 0:00:00昨日,Filecoin的大礦工激勵計劃“太空競賽”終于啟動了。從幾個月前的狂熱傳播到今天大礦工終于能確認“真正挖出FIL”,礦工們盼望已久.
1900/1/1 0:00:00