BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

從Devcon5大會看以太坊和區塊鏈生態發展

星球君的朋友们
Odaily资深作者
本文約4991字,閱讀全文需要約8分鐘
文章結合大會內容與社區信息,幫助大家更全面地了解以太坊生態,以及區塊鏈生態的一些最新發展。
AI總結
文章結合大會內容與社區信息,幫助大家更全面地了解以太坊生態,以及區塊鏈生態的一些最新發展。

編者按:本文來自萬向區塊鏈(ID:gh_1b8639a25429),作者:萬向區塊鏈研究組,經授權發布。

二級標題

正文

正文

二級標題

Ethereum1.X

在去年的Devcon4上,一群以太坊核心開發人員和愛好者討論了當前以太坊的挑戰,他們都有一個相似的觀點:由於日漸嚴重的性能瓶頸,以及佔用的存儲空間持續增加,如果以太坊主網不尋求變化,以太坊的可用性將會變得非常差。性能下降主要歸因於過大(且不斷增加)的狀態數據。越來越大的存儲需求,主要是由於需要留存區塊、Event日誌(receipts),以及狀態歷史記錄(當前可在大部分客戶端中刪除)。

最後,他們得出一個共識:改進,以太坊主網必須改進!

他們還給改進計劃取了一個代號“Ethereum1.x”。 Ethereum主網計劃在近期內採納的各種重大升級更新都包含在裡面。

行動代號為“Ethereum1.x”的計劃包括:

1、通過提高tps吞吐量來提高主網可擴展性(通過客戶端優化實現,這將能夠大幅提高區塊的gas限制);

2、通過“存儲租金”來減少和限制對磁盤空間需求,從而確保整個節點是可持續化的運營。具體做法是設計一種租金模型,要求合約開發者和用戶隨著時間的遷移,為EVM2的存儲付費,而不是無期限存儲代碼和數據。

3、通過VM升級(包括eWASM)改善開發者體驗。

為了實現這些目標和計劃,以太坊核心開發團隊成立了幾個工作組:

1、狀態租金:設計存儲佔用的費用模型,用以限制鏈上存儲佔用;

2、eWASM:以太坊Wasm虛擬機;

3、存儲裁剪:優化客戶端的存儲空間佔用;

4、模擬/仿真。

在今年的Devcon5上,以太坊基金會介紹了過去一年內成立的幾個工作組:

1、EVM進化:優化性能、安全和互操作性;

2、EIP 1559:費用模型優化,讓交易易費用更更穩定、可預測;

3、測試/基礎設施:用新的工具來幫助測試客戶端能更更好的互相兼容;

4、最終性組件:用Ethereum2.0信標鏈來敲定Ethereum1.0生產的區塊。

咦,怎麼還有Ethereum1.0和2.0?它們和Ethereum1.x有什麼關係?

二級標題

二級標題

Ethereum2.0

Ethereum2.0,是以太坊的寧靜(Serenity)版本,剛才也說了它是獨立於Ethereum1.0進行開發的一條鏈。並且在去年的Devcon4會議上明確了Ethereum2.0在3-5年內不會在功能上取代Ethereum1.0。

Ethereum2.0將包含Sharding(分片),Proof of Stake共識以及一個新的VM(即eWASM)等一系列升級。

它的目標主要有以下5個:

☆ 去中心化(Decentralization):允許普通消費級的筆記本計算機能夠利用O(C)的資源處理和驗證O(1)的分片(包括系統級別如信標鏈的驗證等)。

☆ 彈性(Resilience):主網絡分區或大量節點掉線時系統仍舊是可用的。

☆ 安全性(Security):利用密碼學和設計技術來保證大量驗證節點可以參與到系統中來(短期和長期範圍內)。

☆ 簡單性(Simplicity):最小化複雜性,即使性能上有一些損失。

☆ 長期可用性(Longevity):選擇量子安全的組件,或者在可用時容易替換為相應的量子安全的組件。

這是個大工程,所以並不會在單一的時間點完成,而是按階段進行開發。這裡簡要介紹各個階段及其計劃完成的目標。

Phase0 信標鏈(Beacon Chain)

Phase0階段即為信標鏈的啟動。信標鍊是整個系統的基礎,用於管理其自身以及各分片區塊鏈(shardchain)的Casper Proof of Stake協議:

1、管理驗證節點及其Stake;

2、在每一步中為每一個分片任命出塊者;

3、將驗證節點組織為驗證委員會(committee),用於對提議區塊進行投票;

4、運行共識協議;

5、對驗證節點進行獎勵和懲罰;

6、作為一個錨點,各分片向其註冊狀態,從而有助於進行跨分片的交易的執行。

信標鏈上的主要數據載荷為證明(attestation),包括對分片區塊的投票(availability vote)和信標區塊的PoS投票等。

Phase0將使用Casper the Friendly Finality Gadget (FFG)來實現最終確認性(finality)。

在Phase0期間,所有的用戶交易和智能合約計算都在Ethereum1.0上進行。而在Phase0完成後,將同時有兩條鏈:Ethereum1.0鍊和Ethereum2.0鏈。

Phase1 分片區塊鏈(Shard Chain)

分片區塊鍊是未來實現可擴展性的關鍵,這是因為其允許交易的並行執行。 Phase1主要關注分片區塊鏈的數據的構造、有效性和一致性,而並不實現狀態的執行和賬戶的餘額。 Phase1更多的是分片結構的試運行,而不是嘗試實現使用分片進行擴展。對信標鏈來說,它把分片的區塊當作是位集合,而非結構化或有意義的數據。

信標鏈區塊中使用crosslink來表示一段時間內分片的當前狀態(也就是combined data root)。

crosslink即為分片鏈上驗證節點委員會對區塊的有效簽名集合,代表了分片區塊鏈的最新狀態,同時也是跨分片的異步通信的基礎。

Phase2 狀態執行(State Execution)

Phase2中,各相關功能將會進行集聚。分片區塊鏈的數據將不再是簡單的數據容器,而是重新引入的的結構化的鏈數據和智能合約。每個分片管理基於eWASM的VM,支持賬戶,合約,狀態數據等。

Phase2中將很有可能引入狀態租賃(State Rent),合約開發者和用戶將為eWASM存儲付費。

Phase3及之後的階段不斷更新中

二級標題

https://github.com/

二級標題

Ethereum2.0中的隨機性

在本次Devcon5會議上,還有一些關於Ethereum2.0中的隨機性的討論議題。

在現今區塊鏈系統中,系統隨機性問題正受到越來越多的關注。

Ethereum2.0採用了PoS(Proof of Stake)和分片(sharding)機制相結合的共識協議,共識委員會的選取依賴於系統產生的隨機值。因此,方案的安全性與系統產生隨機值的隨機性高度相關。一旦惡意攻擊者可以操控或者影響隨機值的產生,那麼他們就可以利用這種優勢,在共識過程中增加自身被選入委員會的機率,降低攻擊系統所花費的代價,從而威脅協議的安全性。

區塊鏈作為承載分佈式應用的底層平台,鏈上提供的安全隨機數同樣也是眾多應用安全性的重要保障。

隨機數在Ethereum2.0中主要被使用在如下三個環節:

區塊提議者的選取

共識委員會的選取

鏈上應用

安全的隨機性算法需要保證:

1、公平性(unbiased):任何參與者不能影響隨機數生成的結果。

2、無法預測性(unpredictable):在隨機數生成前,任何參與者無法提前預測輸出的結果。

此外,為了滿足分佈式系統的容錯性,可靠的隨機性算法還應該保證即使系統中若干節點停止工作時,算法依然繼續運行。

因此,安全的隨機性算法可以使得:

1、保證區塊提議者選取的公平性,同時防止攻擊者提前預測提議者身份,發起DOS攻擊;

二級標題

二級標題

分佈式隨機性算法RANDAO

RANDAO是一個簡單的分佈式隨機性算法,使得多個節點可以交互協商,產生一致的安全隨機數。

算法包含兩個階段:

承諾階段(commit)

揭示階段(reveal)

在承諾階段中,系統中所有節點各自線下選定某個隨機數,然後向RANDAO 提交對該隨機數的承諾。

但RANDAO也是有缺陷的:

但RANDAO也是有缺陷的:

1、RANDAO協議產生的隨機數滿足不可預測性,並且擁有與底層共識協議一樣的容錯性,但仍是在公平性上存在缺陷。

2、協議中,在揭示階段,最後公佈其隨機值的節點可以影響最後產生的隨機值。

3、具體來說,惡意攻擊者看到網絡中所有其他節點公佈各自所選取的隨機數之後,可以根據自身隨機數執行異或運算,並根據結果對自己的利弊來決定是否要公佈自己的隨機數。

4、這使得單個攻擊者就能對輸出造成一定的影響,同時隨著攻擊方所控制的參與者數目增多,該類攻擊的破壞性也隨之增強。

二級標題

二級標題

VDF函數

VDF是一類數學函數(Verifable Delay Function),該函數的特點是:

1、計算至少需要一段已知的時間。

2、通過證明可以快速驗證函數輸出結果的正確性。

利用VDF函數的計算延遲,可以使得RANDAO協議中最後公佈其隨機值的節點失去對最終結果的影響。

二級標題

二級標題

Ethereum1.0 往2.0 的切換

從Ethereum1.0鏈遷移到Ethereum2.0鏈需要考慮兩個重要因素。首先,需要遷移現有的以太幣,其次,需要遷移狀態。

Phase0 以太幣遷移(信標鏈)

在第0階段,Ethereum1.0鏈上的用戶將能夠將他們的以太幣鎖定在合約中,並在Ethereum2.0中的信標鏈上獲得等量的以太幣。之後他們可以抵押以太幣(32個ETH)成為驗證人,並開始在Ethereum2.0鏈上獲得驗證獎勵。

Phase1 狀態遷移(分片)

在階段1中,將當前Ethereum1.0鏈的狀態轉移到Ethereum2.0鏈上的一個分片中。而從保證來自Ethereum1.0鏈的所有信息將在Ethereum2.0鏈上可用。目前第1階段及之後的階段還沒有進入積極的開發階段。

Phase2 智能合約

這一階段計劃重新引入智能合約,並用eWASM代替當前的EVM。此外狀態租金這一在Ethereum1.x被提到的概念可能會在這一階段實施。

Phase3 鏈下狀態存儲

第3 階段會盡可能地把鏈上的狀態轉移到鏈下,從而最小化鏈上狀態。在第3 階段中維護和檢索鏈下的狀態將會成為dApp的關鍵性設計約束。

Phase4 分片合約

實現不同分片上的合約之間的交互。目前的各種關於分片合約互操作的提案中,似乎都無法解決同步、擴展這一對矛盾課題,這也是最具挑戰的階段之一。

ETH
歡迎加入Odaily官方社群