以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > BNB > Info

以太坊如何完成從1到2的轉變?_ETH

Author:

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

原文標題:引介 | eth1 -> eth2 轉換

編者注:本文為 Vitalik 于 2020 年 10 月 19 日在以太坊研究者論壇上發表的帖子,提議了他所設想的 Eth1 如何轉換成分片化信標鏈的子系統的過程,并解釋了開發者、用戶對這個過程會有什么知覺。確切來說,這并不是一個針對 Eth1 的提案,因為提案的內容無涉于 Eth1 的鏈和生態如何形成廣泛的社會共識來完成這種轉換,相反,它僅僅涉及到了分片化信標鏈的一個子系統(“Eth1 EE”)要按什么樣的程序選取 Eth1 上的哪個狀態作為自己的起始狀態。此外,讀者還可借此一窺作者心中一個準備好完成轉換的分片化信標鏈應具備哪些基礎設施,例如,無狀態性和 EE;借此可反推分片化信標鏈的開發方向和進度。

本文介紹的路線圖被用來完成從eth1 向 eth2 轉換,如果你是應用開發者或用戶,你所能感受到的變化乃至顛覆實際上非常有限。已有應用將繼續運行,而不會發生任何改變。所有賬戶余額、合約代碼和合約存儲(包括 ERC20 余額、質押債倉等)都將繼續存在。

WOOFi在與Stargate集成后增加對以太坊的跨鏈支持:3月9日消息,去中心化交易平臺WOOFi宣布其跨鏈交易功能已完成測試,在與Stargate集成后增加了對以太坊的跨鏈支持,目前支持以太坊、Arbitrum、Optimism、Avalanche、Polygon、BNB Chain或Fantom上WOO、ETH、USDC、USDT的資產兌換。

下一步,WOOFi還將增加兩個新的跨鏈功能,第一個功能為新增在目標鏈上選擇不同錢包地址接收資金,第二個新功能使用戶在跨鏈時可獲取少量目標鏈的原生代幣。[2023/3/9 12:52:36]

你需要應對以下情況:

IO 訪問操作碼(SLOAD、BALANCE、EXT*、CALL*)的 gas 成本將增加。CALL(調用)的 gas 成本大概是每訪問 1 字節的代碼需要消耗 1 gas。

你需要下載實現網絡升級的代碼。這在根本上與拜占庭和君士坦丁堡等其它升級沒有區別。但是下載量更大一點,因為如果你還沒有 eth2客戶端,那你需要下載一個。

以太坊區塊鏈可能會暫停大約 1 小時。1 小時后,“以太坊” 看似重新上線了,但是實際上 eth1 不再是一個獨立的系統,而是成了在 eth2 內運行的子系統。

以太坊2.0新進展:信標鏈規范在Dafny語言中的正式驗證已完成:8月15日消息,ConsenSys研究員、以太坊2.0開發者Ben Edgington在披露的以太坊2.0新進展中表示,信標鏈規范在Dafny語言中的正式驗證已完成,另外,以太坊2.0API規范已更新至v2.0.0,為Altair升級做準備。Altair升級的一個主要目的是使輕客戶端能夠在以太坊2.0網絡中高效運行。在研究進展中,目前信標鏈上區塊需要兩個epoch的時間完成敲定,大概13分鐘,最終確定性的延遲意味著驗證者有機會重組最近的鏈。[2021/8/15 22:15:00]

就是這樣。如果你是開發者,只要你確保自己的應用所需的 witness 規模不會太高(可通過單筆事務所訪問的全部 存儲槽+合約+合約代碼 的數量來衡量),你的應用因為 gas 消耗量改變而崩潰的可能性就很小。

假設 phase 0-2 已經完成,并且 eth2 鏈正在穩定運行。eth1 鏈也在穩定運行中。phase 0 規范已經安排了一個名為?eth1_data?voting 的機制。在這個機制中,驗證者會通過投票就 eth1主鏈最新的區塊哈希值達成共識;這個機制目前被用來處理押金。我們將重新改變該機制的用途,用它來將 eth1 的完整狀態(根)傳入 eth2。

以太坊客戶端OpenEthereum發布v3.2.0-rc.1版本:2月28日消息,以太坊客戶端OpenEthereum表示,為柏林硬分叉升級準備了候選版本OpenEthereum v3.2.0-rc.1。Ropsten測試網硬分叉將于3月10日進行,主網計劃在4月14日進行。[2021/2/28 18:00:17]

目前,該機制有大約 6 小時的延遲(其中有 4 小時的延遲是因為 ETH1_FOLLOW_DISTANCE “Eth1 主鏈跟隨距離”,另外 2 小時是因為投票期) ,但是在轉換完成前,這些參數會隨著時間的推移而減小,將延遲降至 1 小時左右。

影響 eth1 向 eth2 轉換的基本機制如下圖所示:

指定一個(eth1 鏈的) 高度?TRANSITION_HEIGHT。高度為?TRANSITION_HEIGHT?的 eth1 區塊將被視為 eth1 鏈的 “最終” 區塊。從該區塊往后,(原本是 “正統鏈的”)eth1 將作為 eth2 的子系統運行。

Cardano在以太坊虛擬機開發網絡中增加新編程語言Glow:Cardano在以太坊虛擬機(EVM)開發網絡中增加了一種新的編程語言Glow,該語言旨在簡化智能合約的編寫和部署。引入Glow將改善開發過程并降低其成本。(U.Today)[2021/2/26 17:56:57]

eth2 的 “誠實驗證者” 代碼會根據(1)做出相應調整,不允許驗證者投票給區塊號 >?TRANSITION_HEIGHT?的 eth1 區塊。如果投票算法已經選出了某個區塊編號 >?TRANSITION_HEIGHT?的 eth1 區塊,則改成為?TRANSITION_HEIGHT?的 eth1 區塊投票。

此外,在已觸發(2)的情況下,驗證者會將?deposit_count?設置為比實際值高 2**63(就是將deposit_count?的 top bit 作為 “eth1 已完成” 的標記)

當 eth2 在 “eth1 已完成” 標記開啟的情況下接受?eth1data?時,eth2 會執行一次 “非常規的狀態變換”,將該 eth1 區塊的狀態根放到 “eth1 執行環境”(eth2 上的一類系統級智能合約)的狀態中。與 eth1 鏈上的總 ETH 供應量等量的 ETH 會添加到這個 eth1 執行環境的余額中。

Pax Treasure在以太坊發行11697730枚BUSD:whale alert數據顯示,10月12日4點25分左右,Pax Treasure在以太坊發行11697730枚BUSD,交易哈希為0x3690b34c175a10e6c9a6b0a406f5c5bd5806304a2d0013c14b697316935067a1。[2020/10/12]

在這之后,轉換完成。從技術層面來說,eth1 鏈會繼續運行,但它已經變成了一條毫無價值的鏈;等到冰河期到來時,這條 eth1 鏈將徹底消失。

eth1 系統現在位于 eth2 系統內部。因此,通過在 eth2 上提交針對 eth1 執行環境(即上文所述的 eth2 子系統)的交易,eth1進一步轉換成 eth2 的子系統。eth1 執行環境擁有可以實現整個 eth1 EVM 和交易處理邏輯的代碼;它有一個?update(state_root, transaction, witness) -> new_state_root?功能,可以按照 eth1 鏈的規則,以交易和見證消息(狀態部分的默克爾證明)作為輸入處理該交易,并決定更新后的 eth1 狀態根。關于見證消息和狀態根的運作原理,請閱讀《無狀態客戶端概念》。

eth1 執行環境代碼可以添加額外的功能,即,將 ETH 和消息從 eth1 執行環境提取到 eth2 的其它部分,以及其它分片上的 eth1 執行環境副本中。在默認情況下,所有 eth1 賬戶/合約都會放在同一個分片上,因此為了利用 eth2 更大的容量,你需要主動使用這個功能將你的 ETH 或其它應用轉移到其它分片上,不過難度不大。我們需要通過擴展 ERC20 標準來支持跨分片代幣轉賬。

在轉換至兩種代碼路徑之前,我們需要對客戶端面向用戶的部分進行修改。客戶端會檢查 eth2,來查看轉換是否已經發生。如果轉換尚未發生,客戶端就會像之前那樣使用 eth1 來發送交易,查看余額等,不同之處在于客戶端會假裝所有區塊編號 >?TRANSITION_HEIGHT?的 eth1 區塊都不存在。如果轉換已經發生,客戶端就會在 eth2 上查看 eth1 執行環境。完整的客戶端將按順序處理 eth2 上所有針對 eth1 執行環境的交易,以便繼續更新完整的 eth1 狀態樹。這使得完整的客戶端可以為它們想要發送的交易生成見證消息,并使用 eth2 格式對其進行 “打包”。輕客戶端(以及錢包,如 metamask)會將它們的交易廣播給完整的客戶端,由后者為其添加見證數據。

從用戶的角度來看,以太坊能夠 “感受到” 轉換前和轉換后(由于 PoS 和 EIP 1559,以太坊在感受后者時更加順暢)。雖然打包和廣播交易所使用的代碼路徑區別很大,但是它們所提供的功能都是一樣的。

我們甚至可以對這種轉換進行設計,以便錢包無需經過任何修改,即可通過 RPC 與客戶端通信。

假設你在 MakerDAO 上創建了一個質押債倉,然后就去睡覺了。等你醒來時,你發現轉換已經發生了。你可以像以前那樣發送交易來與你的質押債倉交互并將其清算,但是你的客戶端會看到轉換已經發送,于是會將見證數據添加到你的交易上,將其發送至 eth2 網絡而非 eth1 網絡上。

在 eth1 鏈達到?TRANSITION_HEIGHT?至 eth2 上的 eth1 執行環境獲取該狀態的這段時間內,我們會對 eth1 狀態進行一些預處理。特別是,我們可以:

將十六叉帕特里夏樹替換成二叉稀疏默克爾樹和一個專門的哈希函數,以確保分支的哈希開銷保持在O(log(n))。這可以將默克爾樹分支的大小減少 4 倍左右。

將 RLP 替換成 SSZ 哈希樹

將狀態租金相關的數據字段添加到賬戶上

清除 “粉塵” 賬戶

根據抽象提案修改賬戶結構

我們不會在 EE 中照搬沿用 Eth1 的狀態根生成方法,而是以適用上述修改后的方法來計算狀態根(Instead of including the actual eth1 state root into the EE, we would include the root of the state tree generated by performing all of these modifications)。這是確定性計算,因此所有驗證者都可以同時進行計算。這種一次性的計算支出可以大大提高 eth1 轉換后的效率和可用性。

原文鏈接:

https://ethresear.ch/t/the-eth1-eth2-transition/6265

作者: Vitalik

翻譯&校對:?閔敏 & 阿劍

Tags:ETHETH2以太坊IONetha幣的前景eth2.0幣種幸運以太坊Encryption AI

BNB
視頻 | 央視:疫情和避險需求或是BTC歷史新高的推手_比特幣

12月17日,CCTV-2(央視財經頻道)《正點財經》欄目報道比特幣創歷史新高,報道稱,北京時間今天比特幣價格首次突破2.1萬美元關口,徹底從三年的熊市中復蘇并創下歷史新高.

1900/1/1 0:00:00
美國參議員反對可能施行的自托管加密錢包監管法規_MMI

美國財政部長Steven Mnuchin計劃在年底離職前施行禁止或嚴格限制自托管加密貨幣錢包的法案,懷俄明州參議員Cynthia Lummis對此表示反對.

1900/1/1 0:00:00
別再用智能合約時代的思維 去思考下一代區塊鏈應用_區塊鏈

BTC 帶來了基于區塊鏈的去中心化數字貨幣,以太坊有了智能合約平臺,誕生了像 Uniswap 這樣 “有區塊鏈靈魂” 的初級應用,那么下一代區塊鏈應用會是什么樣呢?回答這個問題.

1900/1/1 0:00:00
香港證監會SFC頒發首個數字資產牌照 和其他國家的虛擬資產交易所牌照有何不同?_虛擬資產

12月15日消息,BC科技集團(863.HK)旗下OSL率先獲得香港證監會頒發的首個虛擬資產牌照(或稱數字資產牌照),牌照類型為第1類(證券交易)和第7類(提供自動化交易服務)受規管活動牌照.

1900/1/1 0:00:00
區塊鏈技術生態持續優化 五大趨勢不容忽視_區塊鏈

隨著區塊鏈被納入新基建,區塊鏈的發展備受關注。“過去一年,區塊鏈的污名化、理想化問題已解決。”中國信息通信研究院云計算與大數據研究所所長何寶宏在不久前舉辦的《讀懂區塊鏈》新書發布會上發表了這一觀.

1900/1/1 0:00:00
從“一籃子貨幣”到“穩定幣” Diem 從 Libra 中衍生出哪些不同?_DIE

內容概述: Facebook 計劃在 2021 年推出名為 Diem 的穩定幣。Diem 旨在提供與美元掛鉤的加密貨幣,并推出一個高吞吐量的區塊鏈和數字錢包.

1900/1/1 0:00:00
ads