大神給你介紹以太坊2.0是什麼?分成幾個階段?
袁辉腾
2019-01-18 02:32
本文约9980字,阅读全文需要约40分钟
ETH2.0是一個複雜且不斷發展的系統,所有DApp工程師都需了解ETH2.0計劃及進度。

編者按:編者按:Medium編者按:

編輯| 盧曉明

編輯| 盧曉明

編輯| 盧曉明

二級標題

二級標題

二級標題ETH2.0 是什麼?ETH2.0 是以太坊的計劃替代方案。在接下來的幾年裡,ETH2.0 的開發者們打算將現在以太坊的共識系統以及狀態完全納入其中。由於其範圍如此廣泛,我們也無法準確地傳達出ETH2.0 將會包含或不包含的具體內容。確實,我們已建構部分切實可行的操作規範,同時也有相當多的團隊力量致力於開發早期的實現。 ETH2.0 開發者暫時計劃包括分片技術(Sharding)、Casper協議、狀態租賃(State Rent)、以太坊虛擬機EVM 的升級項目eWASM。,ETH2.0 會讓以太坊鏈中的以太幣映射過去,但ETH2.0 設計者最終計劃通過將ETH2.0 成為主鏈,而Ethereum 1.X 則是其管理下的分支鏈來改變這種局面。

二級標題

二級標題二級標題對工程師意味著什麼?

我們為ETH1.X 編寫的工具和智能合約或需要推倒重來

分階段推出

目前,目前,目前,目前,分片路線圖階段 0定期更新有明確的規範,並定期更新階段1 規範

的嚴格性、準確性要低很多,且可能處於ethresear.ch 的次數是鏈接到Github 的三倍。由於未來的任何一步都更像是推測,而不是工程,因此我們的具體討論僅限於階段0、1、2。同時,在這些具體討論中也涉及幾個關於後期階段可能方向的粗略輪廓概述。

一級標題

一級標題一級標題階段0: 信標鏈( The Beacon Chain)

顯然,像“信標鏈”的這種早期迭代在設計之初就盡可能簡單,這也是階段0 並不支持智能合約、賬戶、資產轉移,也不包括任何分片的原因。同時,基於信標鏈上的以太幣也無法實現鏈上轉移,這意味著用戶不能將其存入交易所。

二級標題

二級標題

  1. 二級標題

  2. BETH:新的以太幣作為一種新資產類型,Beacon ETH(BETH)僅由信標鏈上的Stakers(持幣者或用戶)使用。 BETH 能夠以下兩種方式創建。作為驗證信標鏈的獎勵(以及階段1 之後的分片);

任何ETH1.X 用戶可以通過

ETH1.X 合約

購買1 個ETH 的BETH,合約將其稱為“存款/充值“(Deposit)。

過去,一些類似BETH 這種低功能的Token項目已通過IOU(欠條)在交易所進行交易。例如,在Tezos 眾籌期間,其就曾推出HitBit 和BitMEX XTZ 期貨市場。因此,若是對BETH 存在需求,我們應該致力於構建一個支持受託管BETH 的交易和入股(Staking)的交易所生態系統。然而,用戶當下對於BETH 的需求或許存在懷疑。由於從ETH 到BETH 的單向掛鉤導致BETH 價格上限為1 ETH,BETH 並不是一個絕佳的投資標的。換言之,BETH 永遠不會比ETH 更值錢,甚至有可能價值更低。

一級標題

一級標題

一級標題0 階段+:入股(staking)在信標鏈上,用戶可以投注32 個BETH 保證金成為驗證者。在階段0 中,驗證者只需管理信標鏈即可;而從階段1 伊始,驗證者在管理信標鏈的同時,還將管理1024 條分片鏈。信標鏈以及每一條分片鏈將使用Casper FFG 來完成出塊。 FFG 是一種權益證明算法(Proof of Stake),用於對鏈上不良行為實施罰沒(即削減權益)。關於混合PoW / FFG 的說明FFG 論文

二級標題

二級標題

二級標題用戶(stakers)需做些什麼?”,並將其隨機分配給分片分片分片分片多階段隨機數生成過程以及以及以及

以及

可驗證的延遲函數64 個

二級標題

二級標題無狀態簡化支付驗證(SPV)

換句話說,關於權益證明的遠程狀態證明將包含PoW 無狀態SPV 驗證大致相同的數據量,但需要對整個PoS 歷史進行預先驗證。相比之下,無狀態SPV 驗證不需要其他信息進行驗證。這意味著在主觀權益證明環境中,跨分片或跨鏈應用程序功能減少,但開銷增加。

一級標題

一級標題

一級標題階段1:分片階段1 旨在就分片鏈的內容達成共識,並非對其意義達成共識。換言之,這是一次對分片結構的“試運行”,而不是嘗試使用分片進行擴容(Scale)。信標鏈將分片鏈視為沒有結構或意義簡單的位(Bit)集合。分片鏈尚未擁有賬戶、資產或智能合約。分片驗證者是由信標鍊為每個時間段(Epoch)的分片進行隨機選擇產生的。其僅僅對每個塊的內容達成一致。在分片中出現什麼信息並不重要,只要所有委員會成員達成共識,並定期更新分片上的信標鏈即可。

通過一個稱為交聯(Crosslinking)的過程,分片驗證者可以驗證分片的內容及狀態。簡單來說,委員會必須在信標鏈中包含關於分片(例如根哈希)的可驗證信息。在階段2 甚至更高階段,交聯將支持跨分片通信(Cross-Shard Communication)。信標鏈從多個委員會收到給定交聯的

準確性證據

有趣的是,階段0 的實現與規範的製定同時推進。即使當下——距離測試網絡還不到三個月的時間,階段0 規範也會定期修改。對於時間線的預估也意味著未來ETH2.0 階段在開發時間上會存在極大的差異。樂觀主義者告訴我6 個月就已足夠,但在我看來,在看到階段0 進入測試之後,階段1 需要12 個月至18 個月的開發週期。

一級標題

一級標題 eWASM一級標題

階段2:智能合約

最終,階段2 會帶來一個與我們所熟悉的以太坊相似的系統。隨著階段2 發布,分片鏈從簡單的數據容器過渡至結構化的鏈狀態。此時,新的以太幣BETH 可實現轉讓,並且將重新引入智能合約。每個分片將基於在這個階段,EVM2 將支持我們熟悉的賬戶、合約、狀態以及其他抽象內容。然而,大量的幕後更改可能會破壞大多數現有工具。幸運的是,eWASM 技術團隊已為Solc 編譯器、以太坊的開發和測試框架Truffle、Ganache 做了一些基礎工作。在階段2 的測試網絡之前或期間,我們能夠看到最常用的工具移植於此支持EVM2。模式

狀態租賃(State Rent)或包含在階段2,這也對當前Solidity 編程語言工程師們提出一些有意思的挑戰。狀態租賃並不是無限期地存儲代碼和數據,而是要求合約開發者以及用戶在一段時間內為EVM2 存儲付費。通過確保未使用的信息隨著時間的推移而脫離狀態來防止狀態膨脹,最終實現其目標——讓用戶而不是讓整個節點來支付狀態成本。人們為此提出不同的模式,“百家爭鳴”,但仍沒有明確的定論。隨著一些以太坊升級計劃

此外,我們並不知道階段2 的最終歸處,其依然處於早期的研究階段,包括幾個尚未解決的主要問題。鑑於非正式規範和開發過程,以及階段2 在階段1 的拓展範圍。在2020 年之前啟動階段2 似乎並不合理。也就是說,雖然ETH2.0 或在今年推出,但預計ETH2.0 版本至少要到2020 年才能支持資產轉移或智能合約。

一級標題

一級標題

階段3:鏈下狀態存儲

正文

階段4:分片智能合約

正文

正文

正文

CDP 激活與DAI 收取之間的長時間延遲會導致難以負擔的經濟損失。若市場發生變化,同時CDP 在用戶收到DAI 之前被清算情況又會如何?在實際操作中,這可能意味著用戶需要在每個包含智能合約的分片上擁有一個賬戶,但跨分片的結構則毫無用武之地。 Maker 和0x 只有在其均部署在同一個分片上時才能進行交互,並且0x 用戶也需要在該分片上擁有一定數量的資產。

二級標題

二級標題

二級標題

根本性權衡:同步或是擴展

ETH2.0 版本的設計人員並不知曉跨分片通信系統的最終模樣。通過閱讀諸多提案,該系統或許會在即時反饋與可預測性之間進行根本性權衡。分片的本質不會改變,任何用戶都必須等待跨分片通信。但是,我們可以緊密或鬆散地將交易的本地和遠程執行階段耦合到每個分片上。緊密耦合會使得等待處於優先級。在分片通信之前,交易不會執行任何操作。相反,我們可以通過現在執行部分以及稍後執行部分來鬆散地進行耦合交易。交易在本地分片上執行,然後在跨分片通信之後在遠程分片上執行。鬆散耦合提供了更好的用戶體驗。用戶能夠即時看到其交易在本地執行,且知道遠程執行將在未來的某個時刻發生。但福禍相依,用戶必須在等待的情況下才能夠知道鬆散耦合交易遠程階段的結果。相較於鬆散耦合交易,緊密耦合的交易更具可預測性。同時,由於遠程狀態不會在本地和遠程執行階段之間轉換,用戶更了解結果。但“心急吃不了熱豆腐”,緊密耦合需要用戶在看到任何結果之前必須等待。

關於ETH2.0 通信模型的信息少之又少。我們知道,該模型必須在犧牲幾乎所有擴展優勢的情況下提供跨分片合約調用。如果你在這裡停止閱讀,我不會責怪你,因為階段4 只存在劃重點:下面所有的內容都是推測性的

二級標題

二級標題

二級標題

基本模型:收據(Receipt)和證明(Proof)

不難看出,該過程需要消耗大量時間。四個通信步驟中的每一步都需要等待幾分鐘才能完成。不幸的是,我們無法完全避免等待。如果我們想確定遠程狀態,那麼在每一步都必須等待最終結果。往返通信的最佳情況是四個最終確認週期。換言之,由於用戶可以在分片A 看到分片B 的數據之前看到它們,在三個確認週期後用戶可獲得信心。使用ETH2.0 的6.4 分鐘的時間段(Epoch)長度,用戶必須等待19 分鐘才能看到結果,並且需要26 分鐘才能獲得鏈上結果。

二級標題

二級標題

二級標題

具體收據(Concrete Receipts):分片之間的代幣遷移

二級標題

二級標題

Yanking(拉拽)Yanking 二級標題

這將允許任何一個智能合約與任何其他智能合約進行通信(在跨分片等待時間之後)。但由於收據包含整個合約及其所有存儲,因此轉移大型或用戶體量大合約的成本會很高。收據在運輸過程中,合約將完全無法使用。其已從分片A 中抽出,但尚未到達分片B。這意味著所有其他用戶均無法使用該合約,直到其到達分片B。同時,只有已在分片B 上的用戶才能與之進行交互。因此,Yank 最適合用戶很少的小智能合約,它使緊密耦合的執行成為可能,但並非是通用的解決方案。

二級標題

二級標題

二級標題

分片配對(Shard Pairings)

在此模型中,如果A 和B 之間需要進行跨鏈交易,則需要等待A 和B 隨機配對。但是Vitalik 描述了100 種分片案例。存在1024 個分片,我們預計其需要512 個區塊,因此大約需要一個小時。但由於配對是隨機的,它可能需要更長或更短。正如Vitalik 所說,當你想要與多個分片進行交互時,這種擴容性並不好。

二級標題

二級標題

二級標題

此外,由於區域需要驗證者知悉區域中所有分片的狀態,會導致其否定分片的許多擴容優勢。假如一個區域由16 個分片組成,則犧牲約15/16( 94%)的擴容優勢,僅獲得總網絡的15 / 1024(1%)的緊密耦合的執行。

二級標題

二級標題二級標題產權負擔(Encumbrances)

然而,當應用於智能合約時,由於狀態永遠不可替代,這種解決方案就變得異常複雜。狀態的欠條是不可能實施的,因此其亦不適用通用交互。我們應該將產權負擔視為鬆散耦合中的用戶體驗進行改進,允許松耦合模擬緊耦合,快速執行某些交易。

二級標題

二級標題

只有在執行區塊中包含的所有狀態更新更新

一級標題

一級標題

小結

小結

小結

袁辉腾
作者文库