通過重啟以太坊,可以降低節點的負擔?
編者按:本文來自以太坊愛好者(ID:ethfans)以太坊愛好者(ID:ethfans)
以太坊愛好者(ID:ethfans)
編者按:本文來自
以太坊愛好者(ID:ethfans)
以太坊愛好者(ID:ethfans)
二級標題
,作者:Alexey Akhunov,翻譯&校對:閔敏& 阿劍,Odaily經授權轉載。
來自Cosmos Hub 的經驗
如果你觀察過Cosmos Hub 是如何從1.0 版本升級到2.0 版本,再升級到3.0 版本的,你就會知道Cosmos Hub 的升級本質上是通過用一個新的創世塊重啟區塊鏈來實現的。要升級的時候,節點運營者需要關閉節點,然後生成Cosmos Hub 狀態的快照,然後將這一快照打包進新的創世塊,創建一條新的區塊鏈。
我們可以“重啟” ETH 1.0 嗎?
二級標題
二級標題
二級標題
二級標題
二級標題
這不是無狀態以太坊嗎?
二級標題
區塊中的證明vs 交易中的證明
二級標題
二級標題
假設我們想讓交易發送者將每一個相關狀態的證明都添加進交易。這樣做的好處在於,將簡化我們為見證收取額外gas 費所需的工作量。這樣做的主要缺點在於,這通常需要通過動態狀態訪問(DSA,與靜態狀態訪問(SSA)相對)實現。如果一個交易涉及的智能合約特別複雜,比方說,有大量對其他合約的嵌套調用,可能很難預先計算出交易將涉及的狀態項。攻擊者甚至可以利用DSA 來給用戶“下套”,即,搶跑其交易(發送內容一樣但Gas 費更高的交易,以搶在前面被打包)讓用戶的交易因為證明不充分而失敗。
ReGenesis 提供的緩解措施
雖然DSA 的隱患很難徹底解決,但是可以盡可能降低其風險,讓用戶不會感到不便,也不會永遠限於無法實現預期狀態轉換的境地。該緩解措施需要引入額外的規則,即,任何隨交易提供的證明(已經根據狀態根進行過驗證,但這並不足以保證交易能成功)都會成為隱式狀態的一部分。因此,隨著用戶反复嘗試執行交易,隱式狀態會不斷增長,最終交易成功。那些嘗試給用戶“下套” 的攻擊者必須找到更複雜的方法,把用戶的狀態訪問重定向到已有的隱式狀態之外,最終以失敗告終。
二級標題
隨著隱式狀態從無(剛重啟時)到有不斷增長,包含越來越多的主動訪問狀態,交易需要提供的證明將會減少。過了一段時間,大多數交易甚至不需要附帶任何證明,除了那些涉及到很久之前的狀態的交易。
我們可以定期執行ReGenesis


