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

Post-Merge時代:以太坊新共識的破局重生

Arcane Labs
特邀专栏作者
2022-09-27 06:00
本文約12042字,閱讀全文需要約18分鐘
合併,僅僅只是拉開了以太坊新時代的序幕。
AI總結
展開
合併,僅僅只是拉開了以太坊新時代的序幕。

原文作者:Frank Fan,0xCryptolee

原文作者:Frank Fan,0xCryptolee

「只要勇於做出承諾,世界自會助你剷除不可逾越之障礙。去完成未竟之夢想,宇宙絕不會抑制你前進的步伐,這即是奧義所在。」

以太坊經歷了歷史性的升級,發展進入了新的階段。合併之後,以太坊將繼續沿著擴容和去中心化的方向前進。 The Merge 僅僅是PoS 時代的第一步,以太坊依然面臨著巨大的挑戰,驗證者群體中心化,擴容,Lazy Validator Problem 等問題依然制約著應用的爆發和以太坊的安全擴展,本文將從The Merge 開始,逐步分析POS 採用的共識算法,重點探索使用DVT 技術來解決驗證者單點風險的問題,和從業者一起分析以太坊的問題和未來的發展機會,建議具備一定以太坊基礎的讀者閱讀此文章。

1. The Merge

1.1 背景

圖片描述

圖片描述

圖片描述

圖片描述

圖片描述

圖片描述

圖2:Vitalik對於合併後以太坊能源消耗的觀點

  • 圖片描述

圖片描述

圖片描述

  • 圖片描述

圖片描述

圖片描述

  • 圖4:Rocket Pool質押收益率

  • 圖片描述

圖片描述

圖片描述

  • 圖片描述

圖片描述

圖片描述

圖6:合併後以太坊客戶端

2. Gasper

切換為PoS 共識以後,以太坊的算法由Ethash 轉換為了Casper FFG(Gasper),相較之前的算法,Gasper 更加節能,不需要再通過專門的礦機計算難度值,而是通過隨機的方式來出塊,讓我們往下繼續探索以太坊的共識算法和出塊方式!13,830,目前信標鏈上面質押了378 個ETH432,203,活躍驗證者的數目為

圖片描述

圖片描述

圖片描述

圖片描述

圖片描述

圖片描述

  • 圖8:Epoch和Slot圖示

  • Slot(時隙):合併以後一個Slot 就是一個區塊,有一個committee 負責在12S 的時間內生成該Slot。

  • Epoch:每32 個Slot 組成一個Epoch,一個Epoch 的時間為384S,即6.4Min。

  • Committee(驗證者委員會):每個驗證者委員會最低會分配128 個Validator,驗證者會對自己負責的Slot 進行Attestation 操作,並且在委員會中有一個Validator 會被隨機選為Proposer,進行出塊。

  • Attestation(投票簽名):每一個Slot 對應的committee 裡面的Validator 都需要對上一個Epoch 進行投票簽名,確保自己認可了上一個Epoch 裡面的交易。

  • Validator(驗證者):由於以太坊The Merge 以後共識算法切換為了POS,原來的礦工被Validator 取代,Validator 通過質押32ETH 資產成為Validator,負責參與各個Epoch 內slot 的出塊和簽名工作。

  • Beacon chain(信標鏈):用於替代PoW 共識的PoS 區塊鏈,beacon chain node 被用來掛載Data Blobs 的交易類型,為Rollup 提供更多的存儲空間。

2.2 流程

2.2 流程

Epoch 開始的時候,通過RANDAO 為每一個Slot(時隙)分配一個Committee(驗證者委員會)對上一個Epoch 進行Attestation(簽名投票)。

圖片描述

圖片描述

圖片描述

在當前Epoch,每一個Slot 在出塊的時候,committee 都對上一個Epoch 的檢查點進行Attestation,連著兩個檢查點Attestation 以後,上一個檢查點才Finalised,直到32 個Slot 都依次對檢查點進行了Attestation,本輪Epoch 結束。 Post-Epoch 的第一個Slot 開始的時候,Pre-Epoch 達到了終局性的共識,即Post-Epoch 經歷了Pre-Epoch 和當前Epoch,一共兩輪Epoch(因為兩個Attestation 的檢查點之外,還有衝突的檢查點的話,必然有1/3 的驗證人作惡了,比如32 64 96 三個區塊高度,可能64 號高度沒有達成檢查點,到了96 號才有檢查點,這時候32 號高度才是Finalised),時間上為12.8Min,交易就在鏈上確定下來了,即所謂的終局性。

2.3 特性

圖片描述

圖片描述

圖片描述

圖10:RANDAO

2.4 Latest Message Driven GHOST(LMD-GHOST,由最新消息驅動的GHOST)

在以太坊新的POS 共識機制中使用LMD-GHOST 作為分叉選擇規則,當發生分叉的時候,GHOST 會選擇獲得更多消息支持的子樹。其背後的理念是在計算鏈頭時,只考慮每個驗證者最近的投票,而不是過去產生的任何投票,以此降低運行GHOST 所需的計算量。https://eprint.iacr.org/2013/881.pdf

想要深入學習的可以查閱:

  • 2.5 隨之而來的問題

  • 通信與驗證成本增加:是不是驗證者越多越好呢?其實不然,雖然驗證者的數量增多有利於數據可用性採樣(DAS)和去中心化,但是驗證者增多意味著單個Slot 的驗證者也會變多,在收集各個驗證者簽名的時候就會增加Aggregator和驗證者之間的通信負擔,除此之外,聚合簽名的驗證成本也會增大,這無形中會增加驗證者節點的負擔。

長程攻擊:長程攻擊是指某個驗證者在Withdraw 質押在信標鏈上的ETH 後,他可以利用舊私鑰在某個曾經簽署過的區塊進行惡意分叉,因為此時其在鏈上已無任何質押資產,然後迅速產生空塊至目前的區塊高度,對網絡進行攻擊。這也是未來可能出現的攻擊方式。以太坊在設計的時候是對Pre-Epoch 的checkpoint(檢查點)進行投票,其設計思路也就是將初始狀態不斷往前推進,避免可能出現的攻擊。

3.1 Staking

3. 以太坊質押挖礦

驗證者的職責:在協議規定的時間生產區塊和attestation。

3.1.1 Staking 方式

  • 3.1.1 Staking 方式

  • Solo Staking:solo staking 的方式是由想要自己出資32 個ETH 做驗證者的質押人自己在雲服務器上運行驗證者節點,除了選擇在雲服務器上面運行節點,也可以選擇在自己家中擺放服務器設備運行以太坊節點,區別在於雲服務之上運行節點更加穩定,在參與網絡共識的時候可以避免和減少因為停電和網絡原因造成的怠工懲罰,而在家自己搭建節點的優勢在於硬件和網絡服務的成本低於雲服務器,這裡質押人可以自行選擇採用哪種託管方案。

    Staking Pool:由於32 個ETH 對於普通人來說是一筆不菲的資金,尋常小資金的質押者想要參與網絡共識卻沒辦法自己運行節點,於是出現了質押池解決方案,其中以許可型的半去中心化質押解決方案Lido 為主要項目,其吸收了較大的資金體量,成為賽道內的頭部解決方案,其次還有去中心化程度更高一些的解決方案如Rocket Pool 和Swell等,在現有的質押池解決方案之上,還產生了Unamano 這樣的聚合解決方案來幫助和發展以太坊Staking 領域。

    在節點運營方面,Lido 選擇指定部分專業的運營商來運行網絡節點,這也是其相對中心化的一點,運營商掌握簽名私鑰,用戶的資產部分信賴Lido 和運營商,至於提款私鑰, 2021 年7 月之前,提款地址是一個6/11 的多簽地址,多簽私鑰由行業內OG 保管,2021 年7 月之後,提款地址指向一個可升級的合約地址,該合約由DAO進行管理。 Rocket Pool 在節點方面選擇更加去中心化,任何人只需要提供16 個ETH 和相應的軟硬件設備就可以作為運營商運行節點,雖然降低了運營商門檻,但是Rocket Pool 引入$RPL 質押來降低運營商作惡的風險。

  • Staking Pool 的方案使得普通的用戶可以將小額的ETH 存入合約來獲得以太坊的挖礦獎勵,同時返還生息代幣如stETH 和rETH 來釋放質押資產的流動性,進一步增強了以太坊的去中心化程度和資金使用效率,是社區最為看好的方向。

CEX,中心化託管機構:除了Solo Staking 和Staking Pool,中心化的交易所和一眾資管機構都是以太坊質押的主要參與者,例如Coinbase 和幣安等也都推出了自己的質押服務,通過吸收小額的ETH 來參與低風險的以太坊質押挖礦。三種方案在去中心化程度和安全性方面都各有優劣,這取決於質押者的信任對象,但是無可置疑的是,三種方案都捕獲到了相應的資金和用戶,共同維護著以太坊的安全和去中心化。

圖片描述

圖片描述

圖片描述

圖11:合併後質押ETH去向

目前以太坊的質押量主要集中在Lido,Coinbase 和Solo Staking,合併以後新的以太坊質押則大量流向了Lido 和Coinbase 這類相對中心化的機構和協議裡,在解除提款限制以後,我覺得原來質押的以太坊會被重新分配到Lido 和Coinbase 裡,隨著時間的流逝,Lido 和Coinbase 將會掌握越來越多的以太坊驗證者和質押量,最終對以太坊的去中心化帶來嚴重的威脅,當他們控制住以太坊以後,對於想要重新打破這種局面的交易,將會被Lido 或Coinbase 這樣的大礦池所拒絕,因為你想質押ETH 到以太坊的這筆交易能否上鍊也是他們說了算,並且新產生的ETH 也將會往ETH 越多的人手裡集中,因為他們在質押的時候就掌握了大量的ETH,這無疑對以太坊的去中心化會是新的挑戰,我們可以期待社區和核心開發者一起來解決這個問題。

  • 圖片描述

圖片描述

圖片描述

  • 圖片描述

圖片描述

圖片描述

  • 圖片描述

圖片描述

圖片描述

圖14:合併後MEV情況

  • 3.1.4 懲罰類型

  • 怠工懲罰:未能按照共識預期產生出塊:未在預期時間對區塊進行Attestation。

惡意行為導致slash(罰沒):在單個Slot 內生產兩個區塊或者進行兩次Attestation;違反Casper FFG 共識規則提議錯誤區塊。

  • 3.2 私鑰類型

  • 簽名私鑰:簽名私鑰用於驗證者在履行職責時的消息簽署,包括attesting 和proposing blocks,每6.4min,即每個Epoch,該密鑰將被使用一次。

提款私鑰:提取質押資產和出塊獎勵時使用的密鑰,需要離線存儲,在上海分叉以後,可用提款私鑰提取質押的ETH 和獎勵。

  • 3.3 ETH2 質押風險

  • 私鑰被盜:ETH2 的簽名/ 提款私鑰被盜。

單點故障/ 驗證者的有效性:目前,驗證人以單一的機器或節點存在並履行其職責。協議嚴格的規則禁止常見的冗餘形式,如在多個節點上運行同一個驗證人,這樣做可能會導致驗證人被「懲罰」(slashed)。如果使用質押服務,密鑰位於一個雲服務器上( 如AWS)。如果任何組件出了問題,驗證人就會停止驗證,從而受到懲罰。

在質押層面,雖然我們有去中心化的質押解決方案來降低質押門檻和提高質押服務的去中心化,但是在Validator 層面,依然存在著單點風險,現在單個驗證者運行著網絡的多個客戶端,如果因為網絡原因或者是斷電等物理因素會造成怠工懲罰,slot 也無法收集到有效的簽名,我們無法通過冗餘的方式在多個地方運行同一個驗證者節點,因為這會造成簽名的混亂,會被認為是對網絡的攻擊,但是我們可以將簽名私鑰拆分,通過DVT 技術來降低單點故障的風險,在實施升級的時候,也為節點提供了升級空間,並不會因為網絡升級導致節點的大面積掉線,具體分析,請讓我們往下探究!

4.1 概念

  • 4.1 概念

  • operator:運行一個(或多個)節點的個人或實體。

  • 圖片描述

圖片描述

圖片描述

圖15:Validator、Nodes、Committees和Operators的關係

  • 4.2 分佈式驗證者節點需要運行

  • 以太坊執行層客戶端

  • 以太坊共識層客戶端

  • 以太坊分佈式驗證者客戶端

以太坊驗證者客戶端

  • 4.3 DV 如何防範ETH2 質押風險

  1. 私鑰被盜

  2. 使用門限簽名技術(m-of-n)可以實現防止私鑰被盜的風險

  3. 圖片描述

圖片描述

圖片描述

  • 圖16:密鑰拆分和聚合簽名

  1. Crash Faults:

    節點宕機

    原因:因為停電,斷網,硬件故障,軟件錯誤導致的崩潰;

  2. Byzantine Faults:

    防範措施:通過在多個地方運行同一個節點的冗餘備份方案來防範節點掉線;

    原因:由軟件bugs,網絡攻擊導致;

圖片描述

圖片描述

圖片描述

  • 圖17:DVT總體架構

  • 分佈式驗證者使用私鑰分片遠程簽署消息

在分佈式驗證者客戶端內通過聚合簽名技術對分佈式驗證者的簽名進行聚合,達到閾值以後,對區塊進行簽名。

  • 4.5 實現DVT 技術的兩種路徑

  • 圖片描述

圖片描述

圖片描述

圖18:DKG Protocol

4.6 Threshold Signature Schemes (TSS)(閾值簽名方案)

當驗證者對區塊達成一致需要簽名時,採用BLS 閾值簽名方案來實現簽名。其允許N 個驗證者共同簽名數據,並且在t+1(0) 個驗證者正確簽名的情況下實現完整簽名。通過tss 的方案,既實現了每一個驗證者都無法獲得完整的簽名私鑰,又保證了完整簽名的順利生成。

5.1 SSV

5. 從主流項目看DVT

表面上看,SSV 提供了穩健的、去中心化的進入以太坊質押(Staking)生態系統的途徑。再深入一點,SSV 是一個複雜的、配有共識層的多簽錢包,SSV 在信標鏈節點和驗證者客戶端之間充當緩衝器的作用。

  • 5.1.1 配置的主要組成部分

  • Distributed Key Generation:operator 通過運行SSV 程序計算生成了一個共享的公私鑰集。每個operator 只擁有私鑰的單一部分,確保沒有一個運營商可以影響或控制整個私鑰做出單方面的決定。

  • Shamir Secret Sharing:這個機制被用於使用預先定義的KeyShares 閾值重構驗證者密鑰,單個的KeyShared 不能被用於簽署消息。 SSV 能夠利用BLS 技術聚合簽名,創建驗證者的完整密鑰簽名。通過結合Shamir 和BLS,驗證者的簽名私鑰被切片共享,並在需要簽名時聚合重組。

  • 圖片描述

圖片描述

圖片描述

圖19:SSV V2網絡拓撲

  • 5.1.2 SSV 生態的三類參與者

  • Stakers:利用SSV/DVT 技術的交易所,服務商或個人ETH 持有者,以實現其驗證者的最佳有效性、安全性和去中心化。 stakers 向operators 支付SSV 代幣的費用,以管理他們的驗證器。

  • Operators:operators 提供硬件基礎設施,運行SSV 協議,並負責維護驗證者和ssv.網絡的整體健康。 operator 以SSV 代幣確定其服務費用,並向驗證者收取運營和維護驗證器的費用。

DAO (SSV token holders) :ssv.network DAO 分散了ssv.network 協議和資金的所有權和治理權,SSV 是網絡的原生代幣。任何擁有SSV 代幣的人都可以參與DAO,對提案和其他需要投票的項目進行投票。擁有的SSV 代幣的數量決定了對影響網絡的決策的投票權。

  • 5.1.3 ssv.network DAO 負責以下工作:

  • Operator scoring:ssv.network 依靠operators 和對他們的質量、經驗和提供的服務進行0-100% 的去中心化和透明的評分。 DAO 還負責審核「Verified Operators」(VOs),並維護VOs 的名單。 Stakers 可以查看並使用這些排名來選擇管理其驗證者的Operators

  • Network fees:為了使用ssv.network,Stakers 需要支付網絡費。網絡費是對每個驗證者收取的固定費用,被添加到operators 費用中。網絡費直接流入DAO 國庫,可用於資助SSV 生態系統的進一步發展和通過DAO 投票程序的活動。

  • Treasury:stakers 支付的網絡費用為DAO 國庫提供資金,它被用於發展SSV 協議和生態系統的項目。可能包括協議開發和網絡增長的贈款,與SSV 代幣持有人直接分享收入,營銷和社區激勵,代幣交換以實現國庫的多樣化,以及戰略合作夥伴的投資以換取SSV 代幣。

5.2 Obol

Voting:提交給DAO 的撥款請求和其他需要投票通過的提案。任何持有SSV 代幣的人都可以對影響DAO 的決定進行投票,例如撥款請求、成為驗證運營商的請求以及提交給DAO 考慮的其他想法或請求。

Obol 是一種通過multi-operator 促進staking 信任最小化的協議,該協議能夠被作為多種類web3 產品的核心模塊以低信任成本獲得以太坊質押收益。

  • 5.2.1 Obol 的四個核心公共產品:

  • 圖片描述

圖片描述

圖片描述

  • 圖20:Charon內部架構

  • Obol Managers:一組用於形成分佈式驗證器的可靠智能合約

Obol Testnets:一組正在進行的公共激勵測試網,使任何規模的運營商都可以在為Obol 主網網絡服務之前測試他們的部署。

  • 5.2.2 關鍵概念:

  • 圖片描述

圖片描述

圖片描述

  • 圖21:Obol的客戶端示例

Execution Client:執行層客戶端(以前稱為Eth1 客戶端)專門負責運行EVM 和管理以太坊網絡的交易池。

  • 執行層客戶端包括:Go-Ethereum、Nethermind、Erigon。

  • Distributed Validator Client:

Consensus Cilent:共識客戶端的職責是運行以太坊的權益證明共識層,通常稱為信標鏈。共識層客戶端包括:Prysm、Teku、Lighthouse、Nimbus、Lodestra。

  • 分佈式驗證者客戶端通過標準化的REST API 攔截驗證者客戶端↔共識層客戶端的信息流,並聚焦於兩個核心職責:

  • 就所有驗證者簽署的候選人職責達成共識

  • 將所有驗證者的簽名組合成一個分佈式驗證者簽名

  • Validator Client:驗證者客戶端是運行一個或多個以太坊驗證者的一段代碼。

  • 驗證者客戶端包括:Vouch、Prysm、Teku、Lighthouse

Distributed Validator Cluster:分佈式驗證者集群是連接在一起的分佈式驗證者節點的集合。

  • 圖22:Obol 的DVT 網絡拓撲

  • Distributed Validator Key:Distributed Validator Key 是一組BLS 私鑰,它們共同作為參與權益證明共識的閾值密鑰。

  • Distributed Validator Key Share:分佈式驗證者私鑰的一份私鑰。

Distributed Validator Key Generation Ceremony:為了在分佈式驗證器中實現容錯,各個私鑰份額需要一起生成。與其讓受信任的經銷商產生私鑰,將其分割並分發,不如讓分佈式驗證器集群中的每個操作員參與所謂的分佈式密鑰生成儀式,這樣做的好處是在任何時候都不會構建完整的私鑰。分佈式驗證器密鑰生成儀式是DKG 儀式的一種類型。儀式產生簽名的驗證器存放和退出數據,以及所有的驗證器密鑰份額和它們相關的元數據。

6. 總結與展望

行文通篇,從The Merge 開始敘述,講述合併以後以太坊採用的Casper FFG 算法,熟悉了合併以後區塊的產生方式以及新的一些技術概念,隨後講到了以太坊新的挖礦方式以及目前存在的Staking 方案,了解到驗證者存在的單點故障問題,隨後又深入到DVT 技術,並通過兩個項目的案例簡述DVT 如何解決了這個問題,整篇文章按照去中心化的思路敘述,為讀者了解以太坊的共識算法和去中心化發展方向提供了一定的參考。

6.2 展望

6.2 展望

原文鏈接

原文鏈接

參考資料

https://www.ethereum.cn/validated-staking-on-eth2-2-two-ghosts-in-a-trench-coat

2.https://www.youtube.com/watch?v=awBX1SrXOhk

3.https://github.com/ObolNetwork/

4.https://www.ethereum.cn/Eth2/distributed-validator-specs

5.https://medium.com/nethermind-eth/sorting-out-distributed-validator-technology-a6f8ca1bbce3

6.https://docs.ssv.network/learn/introduction

7.https://medium.com/nethermind-eth/a-tour-of-verifiable-secret-sharing-schemes-and-distributed-key-generation-protocols-3c814e0d47e1

8.https://ecn.mirror.xyz/kFzA6fZKF-qIjAOvOkJT03WizNea0Bo2Gx6tUDamFsY

9.https://consensys.net/blog/ethereum-2-0/an-update-on-the-merge-after-the-amphora-interop-event-in-greece/

10.https://twitter.com/VitalikButerin/status/1570299062800510976?s=19

11.https://ultrasound.money/

12.https://rocketpool.net/

13.https://www.ethereum.cn/

14.https://beaconcha.in/

15.https://ethos.dev/beacon-chain/

16.https://medium.com/nethermind-eth/sorting-out-distributed-validator-technology-a6f8ca1bbce3

17.https://obol.tech/

18.https://ssv.network/

原文鏈接

ETH
歡迎加入Odaily官方社群