OKX研究院:以太坊2.0方案及進展研究報告

前言:

近期,以太坊開發者Marius van der Wijden在社交平臺上表示,目前正在以太坊上測試PoS機制,並將進行首次主網影子分叉。這意味著以太坊“合併”的即將到來,“合併”是以太坊2.0可擴展藍圖上的一個關鍵里程碑,屆時以太坊整個網路將過渡為PoS共識機制。

另外,以太坊2.0核心開發者dapplion在其社交帳號上表示,本週六將再次進行以太坊主網影子分叉測試。

伴隨著“合併”臨近,以太坊2.0的腳步也更進了一程。其力圖在不犧牲去中心化原則的前提下使應用區塊鏈變得更快速、更便宜,具體的方案和進程再次成為大家熱切關注的話題。那麼以太坊2.0到底是什麼方案?包含哪些升級?目前進展如何?它的到來,又會為行業發展造成哪些影響呢?歐易研究院將從以太坊2.0技術進展、以太坊2.0方案、展望和風險三個部分對以太坊2.0展開詳細講解。

注:為迎接合併的到來,以太坊基金會此前宣佈,以太坊在升級協定的同時也面臨著定位的轉變,在2021年底,核心開發人員已經停止使用Eth1.0、Eth2.0術語,分別使用“執行層”和“共識層”來替代。 但改名未影響以太坊的既定的升級路線,因以太坊2.0稱謂已深入人心,本文仍將沿用“以太坊 2.0”這一名稱。

一、以太坊2.0技術進展

1.1路線規劃

以太坊成立至今牢牢佔據第一公鏈的位置,擁有著全球最大的開發者社群,DAPP數量將其他公鏈遠遠甩在身後。但是即便是這樣首屈一指的地位,也並不意味著就可以高枕無憂了。定位於“世界電腦”的以太坊,目前每秒只能處理大約20筆交易,甚至難以支援一個普通規模的商業應用,頻頻發生的擁堵事件導致的高gas費和等待打包交易更是讓使用者的體驗變得很差,這在很大程度上限制了以太坊的發展。

以太坊2.0便是解決當前以太坊的網路性能瓶頸的既定規劃,致力於在不降低去中心化的前提下大幅提升以太坊網路上的擴展性與性能,從而更好的承載去中心化應用,促進行業應用爆發。

以太坊的目標是成為分散式金融和智慧合約執行平臺,成為“一台真正的世界電腦”。為了實現世界電腦的目標,其在2014年誕生之初,就設定了4個發展階段:分別是Frontier (前沿)、Homestead (家園)、Metropolis (大都會)、Serenity (寧靜)。前三個階段都是採用PoW模式,第四個階段“寧靜”則是以太坊的最終形態,也就是我們常說的以太坊2.0。

目前為止,以太坊的前三個階段都已經完成,正在進行第四階段的開發工作,這期間將完成從 PoW 到 PoS 的轉化,以及分片、由eWASM代替EVM等重要升級,升級完成後以太坊的性能將會大大提升。

當然,第四階段無法一蹴而就,會分階段進行升級。據其最新路線圖顯示,以太坊第四階段升級的主要節點是2021年Q3信標鏈上線,2022年“合併”,以及在之後將實施的分片。目前信標鏈已於2020年12月上線,此後信標鏈開始以PoS的形式運行,執行層產生區塊的過程仍然由原鏈以 PoW 形式進行,以太坊進入一個PoW+PoS混合挖礦的階段,為整個網路向PoS過渡做鋪墊。

以太坊2.0技術進展

(以太坊升級的最新路線圖)

截至4月12日,信標鏈運行平穩。鏈上資料顯示,信標鏈已擁有34.13萬個節點,累計質押總額約1090.46萬ETH,其中有效投票參與率達99.84%。自2021年10月15日至今,節點數量和質押總額穩步增長,每日驗證者收入也在緩慢增長中。

信標鏈運行平穩

(信標鏈區塊資料,圖片來源於https://beaconscan.com/)

(信標鏈區塊資料,圖片來源於https://beaconscan.com/)

1.2“合併”來臨

接下來,以太坊計畫於2022年第二季度進行“合併”。將會把共識層(PoS信標鏈)與執行層(PoW原鏈)合併,並停止原鏈的 PoW 部分,這次升級代表著以太坊正式切換到PoS共識。

值得注意的是,本次合併將停止原鏈的 PoW 驗證,且不會解鎖此前質押到信標鏈的ETH,解鎖將在合併後的第一次硬分叉中進行。這意味解鎖前既沒有 PoS 增發的ETH能夠釋放流通,也停止了通過PoW 方式增發的途徑,以太坊進入更強的通縮。此外,本次合併只是以太坊共識的改變,並不能實現性能的提升,因此GAS費並不會因為這次升級產生變化,需要等到之後升級中引入分片才能切實提升以太坊的可擴展性。

二、以太坊2.0方案

2.1以太坊2.0架構模型

以太坊2.0方案模型圖中從上至下分別為:

1.PoW Main Chain是原以太坊主網。在以太坊2.0中,它將會作為信標鏈的一個分片繼續運行。

2.Beacon Chain是信標鏈,它是整個以太坊2.0系統的中樞部分。通過Casper共識協調管理所有獨立並行的分片鏈,負責為分片鏈隨機分配驗證者,對整個系統的安全性起到至關重要的作用。通過交聯作為各分片的錨定點以實現跨分片通信,並追蹤每條分片當前的狀態,為以太坊提供最終確定性保證。

3.Shard Chains是分片鏈,以太坊2.0是可擴展性的來源,目前規劃是建立 64條分片鏈,每一個分片都有一組驗證者委員會負責對區塊進行打包和驗證。它能在沒有提高節點硬體要求且沒降低去中心化程度的情況下,實現網路性能和容量的大幅提升。

4.VM層是虛擬機器,它是智慧合約運行的基礎環境,驅動著整個以太坊的運轉。以太坊2.0將以eWASM 將替代當前的 EVM,這會提升智能合約的相容性和執行效率。因為相比於EVM,eWASM具有更好的性能以及更好的擴展性,可以支援Solidity,C++,Rust,AssemblyScript等程式設計語言,開發合約會更容易。此外,eWASM 也與當前的Web標準相容,因而更容易在普通流覽器中運行,使用者無需擴展程式即可訪問 dApp。

以太坊2.0架構模型

(以太坊2.0 架構模型)

2.2關鍵解決方案

區塊鏈有一個著名的不可能三角問題,即區塊鏈系統無法同時在可擴展性、安全性、和去中心化程度這三項指標上做到最優,需要在這三者之間做一個取捨進行優化權衡。即使如BCH對區塊大小進行擴容,效率提升的作用也很有限,EOS通過DPoS共識犧牲去中心化來保證性能,但隨之引來人們對安全的問題擔憂。種種解決方案並不能完美解決不可能三角問題,目前公鏈無論是在擴展性、交易效率還是安全性能等多個方面都無法滿足實際商業應用的需求。

定位於下一代分散式社會底層平臺的以太坊,針對不可能三角問題提出了以下解決方案:

通過分片提升網路性能和容量,解決性能問題;

通過共識機制PoW轉PoS,降低節點門檻,支持更多用戶參與,解決去中心化問題;

通過信標鏈和Casper共識機制解決由分片和PoS引入的安全性問題。

關鍵解決方案

(以太坊2.0解決不可能三角問題的具體方案,圖片來源於歐易研究院)

2.2.1解決性能問題——分片(Shards)

分片(Shards)——提升網路性能和容量

分片是區塊鏈擴容最佳方案,它能在沒有提高節點硬體要求且沒降低去中心化程度的情況下,實現網路性能和容量的大幅提升。物理空間上,分片是將公鏈網路中的所有節點劃分為不同的分組,每一個分組叫做一個分片。原本公鏈中所有節點都要執行同樣計算,在所有節點比對結果一致後寫入區塊資料中,整個網路嚴重受制於網路中單個節點所能處理任務的上限。現在將區塊裡的任務分組後分配給不同的分片處理,單個分片內的節點僅需承擔全網的部分工作。假設分片數為n,則每個節點需要承擔的工作量為全網工作量的1/n。於是各個分片可以並行工作,從而提升整個網路的承載能力。同理,全網容量也將變為原來的n倍。

解決性能問題——分片(Shards)

(分片物理空間圖,圖片來源於TokenInsight《分片技術研究報告》)

2.2.2解決去中心化問題——共識機制PoW轉PoS

共識機制PoW轉PoS——降低節點門檻,支持更多用戶參與

PoW機制下,成為驗證節點的門檻較高,需要昂貴的專業礦機產生足夠的算力來和同行競爭。採用PoS機制,以太坊可以有效降低驗證節點的准入門檻。任何用戶質押32枚Eth即有機會進入驗證者委員會,這由信標鏈隨機演算法選出區塊驗證者和區塊提議者,不需要比拼算力。其中區塊提議者打包交易提議新區塊,另外的區塊驗證者檢驗新區塊,最終協作完成出塊過程,對比PoW共識節點的工作大大簡化。

如此一來,以太坊網路節點對硬體設備的要求大大降低,支持更多用戶參與。而參與驗證的節點越多,以太坊網路也更加去中心化和分散,面臨攻擊時將會更加安全,同時也解決了PoW需要大量算力造成資源浪費的問題。

共識機制PoW轉PoS——降低節點門檻,支持更多用戶參與

(節點出塊過程,圖片來源於歐易研究院)

2.2.3解決安全性問題——信標鏈、Casper共識機制

分片和PoS共識機制的引入,為以太坊增加了新的安全性的挑戰。比如由分片導致的單分片51%攻擊問題、分片間雙花攻擊問題,以及PoS共識機制導致的無利害攻擊問題、長程攻擊、簡單攻擊問題。以太坊通過信標鏈和共識機制Casper 來彌合這兩類風險,解決安全性問題。

1)信標鏈——解決分片51%攻擊問題、分片間雙花攻擊問題

與普通區塊鏈不同,信標鏈是以Slot 和 Epoch而不是 “區塊”作為基本時間單位的。

Slot(時隙):未來在以太坊中每一個分片都有一個驗證區塊的驗證者委員會,驗證者委員會完成一次區塊確認的時間(當前為12秒),分為區塊提議和區塊驗證兩個步驟。如果驗證者委員會內部能達成共識,該Slot便能成功產生一個區塊,否則該 Slot 就無法出塊,形成了一個 “跳過” 的 Slot,所以鏈上的出塊速度並不確定。

Epoch(時段):多個Slot(當前為 32 個)組合而成的時間段,為6.4分鐘。驗證者委員會的節點們會在每個Epoch後被洗牌重新分配,它們的獎懲金額也是在每個Epoch結束後進行確定。 Epoch 中最後一個 Slot 稱為Checkpoint(檢查點)。

信標鏈——解決分片51%攻擊問題、分片間雙花攻擊問題

(Slot 和 Epoch圖示,圖片來源於《區塊的產出和確認》)

為系統隨機分配驗證者,解決分片51%攻擊問題

區塊鏈系統出塊過程中的隨機性至關重要,它必須是分散式、可驗證、不可預測的,並且是不可剝奪的。對於公鏈來說,在將全網任務劃分到不同分片的同時,也就把算力劃分到了相應分片中。對於單個分片來說,只能得到原來1/n的算力保證,此時對單個分片發起51%攻擊的難度也會降到原來的1/n,這會導致分片更容易被惡意礦工掌控。因此對於一個分片系統來講,需要很好的隨機性來防止特定分片被單獨攻擊,而信標鏈就是負責向系統提供這種隨機性的,它會為每個分片隨機選出驗證者委員會。

驗證者委員會是由信標鏈隨機選擇的一組驗證節點,負責見證信標鏈和各分片產生的區塊。信標鏈有其對應的委員會,每一個分片也各有一組驗證者委員會。委員會負責保證它們所在分片的安全性和完整性,並負責證明信標鏈上的分片狀態。

在每一次Slot中,信標鏈會在驗證者委員會中隨機為該鏈選出一位驗證者負責出塊,一定數量的其他驗證者則檢查該區塊並驗證正確性。到下一次出塊時,則再從委員會中隨機選出一個驗證節點提議生成區塊,同時換另一組不同的驗證節點驗證正確性。

在完成一個Epoch的出塊和驗證任務後,信標鏈會將所有的驗證節點重新洗牌,給每一分片隨機選出下一個Epoch的新的驗證者委員會。驗證節點的選舉過程在亂數產生演算法的説明下,從根本上避免了驗證節點間的勾結串通,提高了協議的安全性。

跨分片通信,解決分片間雙花攻擊問題

雙花攻擊是指將同一筆資金分別發給兩個人或者多個人。在分片中也存在雙花問題,攻擊者完全可以嘗試將同一筆資金發送給不同分片中的帳戶來實施雙花攻擊,這就需要做好跨分片通信來避免雙花攻擊。

跨分片通信需要借助信標鏈來完成,分片與信標鏈直接通信,信標鏈會同步更新所有分片的區塊頭作為驗證的資訊,不同的分片就能通過信標鏈通信。當信標鏈區塊完成時,相應的分片區塊就被認為是最終確定的,而其餘分片則可依賴其進行跨分片交易。信標鏈作為樞紐能夠記錄所有分片的狀態和資訊,避免出現雙花問題。

具體來看:當分片1向分片2發出消息時,分片1會將相關資訊打包到它的區塊頭中。等待信標鏈將分片1的區塊頭打包到新的區塊中,信標鏈完成區塊共識後,分片2會接收到信標鏈廣播的包含分片1區塊頭的資訊。在此之後,分片 2 會驗證關於 分片 1 的資訊然後開始執行相關操作,並將執行完成的區塊資訊發送給信標鏈。

跨分片通信,解決分片間雙花攻擊問題

(跨分片通信過程,圖片來源於歐易研究院)

2)共識機制Casper——解決無利害攻擊、長程攻擊、簡單攻擊問題,以獎懲機制規範節點行為

Casper是以太坊 2.0 的核心共識協定,負責管理系統節點,對驗證者施行獎勵和懲罰。

通過節點質押解決PoS無利害攻擊問題,以獎懲機制規範節點行為

由於PoS存在“無利害攻擊”問題,即在PoS機制下,惡意的節點驗證者可以在沒有任何損失的情況下把自己的幣押在分叉鏈上推動硬分叉。因此在持幣者需要向信標鏈抵押一定數量的ETH(目前為32Eth)申請成為節點,當被標記為“active” 之後,才能運行協議。

同時信標鏈也會跟蹤和管理驗證節點。節點們每成功打包一個區塊,就會獲得一個與他們所持有的Token成比例的以太坊系統獎勵。節點負責出塊、驗證區塊,還需要一直線上以完成系統分配給它們的任務。如果大多數驗證者拒絕他們所建立的區塊,節點將面臨失去抵押token的風險;如果驗證者沒有履行對區塊投票的責任,他們質押的Eth也會被罰沒;如果驗證節點的餘額減小到驗證閾值以下,則將被踢出驗證節點池,無法繼續參與驗證工作。因此,Casper迫使驗證者誠實行事,並通過獎懲制度遵守共識規則。

確保鏈的最終確定性,避免PoS長程攻擊、簡單攻擊

長程攻擊指的是從創世區塊開始,創建一條比原主鏈還要長的鏈,並篡改交易歷史來代替原來的主鏈。簡單攻擊指的是分叉鏈在單位時間裡面盡可能多的創造區塊,以此來超過原主鏈長度所形成的攻擊。對比PoW, PoS 沒有兩次出塊之間強制延時的機制,攻擊者可以短時間內讓重寫歷史的鏈追趕上原本的主鏈,根據最長鏈原則來決定的話,很有可能出現真正的主鏈被篡位的情況。

以太坊將通過每Epoch週期一個的檢查點實現鏈的最終確定性,避免這類風險。具體來看,以太坊將每個Epoch裡的第一個Slot區塊設置為一個檢查點。參與共識的驗證節點會對檢查點投票。當檢查點收到了超過2/3的的投票,且上一個檢查點也是確定性檢查點,那麼這個檢查點即是確定性檢查點,這段區塊就成為確定性不可更改的。所以Casper共識的一大改進是引入了顯式的最終確定性,只要是在最終性檢查點之前的區塊都是被確認的,區塊資訊無法再被篡改,沒有被顛覆的可能,也無需後續的礦工用為已經確認的區塊增加安全性。

確保鏈的最終確定性,避免PoS長程攻擊、簡單攻擊

(檢查點,圖片來源於歐易研究院)

三、展望和風險

3.1展望

3.1.1奠定行業地位

以太坊2.0如果成功實施,將徹底解決以太坊的性能瓶頸。憑藉其目前最大的生態規模,升級後更低的 Gas 費、更快的交易速度,加之eWASM 更好的開發者體驗和更高的可訪問性,以太坊將成為公鏈領域不可顛覆的存在。

3.1.2促進生態繁榮

受限於底層公鏈的性能瓶頸,目前區塊鏈無法服務于實體應用,超過千萬月活用戶的Dapp還沒有出現。以太坊2.0如果成功實施,便可以支援大規模商業應用,屆時,必定會將公鏈賦能於實體,助推Web3的騰飛,千萬用戶級的Dapp也將湧現。

3.2風險

3.2.1落地風險

以太坊2.0開發難度較大,雖然以太坊的框架已經確定了下來,但很多細節還在持續討論和修改中,存在落地風險。由架構圖可以看出,完成以太坊2.0需要有幾個大的技術創新,實現智慧合約分片與狀態分片本身就有極高設計與開發難度,除此之外還需要考慮與原鏈的過渡與相容,更進一步的增加了實現難度。以太坊作為一個發展幾年的平臺,代碼結構已經變得非常複雜,底層重則修改難,對於原有架構的修改牽一發則動全身,需要考慮很多因素。

3.2.2競爭風險

根據公鏈TVL對比資料,雖然左邊圓形圖中以太坊公鏈依然是以55.4%占比位居第一位,但右圖面積圖能清晰反映出以太坊上的TVL比例正在不斷下降且被其他公鏈蠶食。

競爭風險

(公鏈TVL圖,圖片來源於defillama)

許多公鏈致力於解決以太坊當前面臨的擴展與性能問題,他們大都會在智慧合約層相容以太坊代碼,可以最快速、最方便的讓開發者能轉移到自己的公鏈上來,所以以太坊面臨的競爭壓力是非常大的,如果以太坊不能及時的完成升級,將會給其他公有鏈超越的機會。高性能公鏈賽道裡Solana、Avalanche和Terra等公鏈激烈角逐,地址數量迅猛增長,留給以太坊2.0的時間是緊迫的。

作者:歐易研究員 秀秀(Shirley)

參考文章:

TokenInsight《分片技術研究報告》

以太坊2.0 都要來了你還不知道 Casper 嗎?

以太坊2.0系列 :區塊的產出和確認

讀懂以太坊升級:瞭解最新路線圖,消除對合併轉PoS的誤解