以太坊步入「寧靜」階段,全面解析 2.0 設計哲學

原文標題:《Chain Hill Capital :「ETH2.0 Serenity–『寧靜』」》

作者:Steven,Chain Hill Capital 合伙人

從 11 月 4 號以太坊開發團隊發布 ETH2.0 的啟動條件并公布存款地址以來,各路 ETH 深度參與者們紛紛祭出了自己的 32 個或者更多的 ETH 支持其啟動,終于在 11 月 24 號超額完成了 V 神設定的至少 16384 筆 32-eth 驗證者存款總共不低于 52.4 萬個 ETH 的啟動要求,ETH2.0 主網在 12 月 1 號凌晨準時上線,

主網上線后第一階段被命名為「Serenity」,運行的主鏈為 Beacon chain,即現在所運行的信標鏈(如下圖所示,目前已經進行到第 357 個 Epoch),那么關于這條 PoS 鏈,有哪些設計哲學和創新點,他們是否又足以支撐 ETH 向 PoS 過渡呢?

Principles Serenity 的設計哲學

Simplicity 簡單

基于加密經濟學里權益證明和 Sharding 分片技術的內在復雜性,Serenity 在設計的時候盡可能的追求最大簡單性,以便:1)最小化開發成本;2)降低不可預見的安全問題的風險;3)讓之后的開發者在設計協議時,更容易的對其使用者說明協議的細節和合法性,(關于第三點,在某些協議的復雜性不可避免時,優先順序應該服從:Layer2 協議 > 客戶端實現 > 協議規范)

Long-term stability 長期穩定性

底層協議的建設必須足夠的完美和有預見性,只有這樣在未來的 10 年或更長的時間內都不需要對其進行任何更改,任何創新都可以基于這些底層,在更高的協議層發生和建設。

Sufficiency 充分性

Serenity 將會從基礎性上保證盡可能多的應用程式可以構建在她協議的頂層。

Defense in depth 深度防御

協議可以在各種可能的安全假設下無差別的工作,(例如,網路延遲,故障計數,以及用戶的邪惡動機,

Full light- client verifiability 全輕節點可驗證

在給定的假設中(諸如網路延遲,攻擊者的預算限定,1/n 或者 s/n 的少數誠實節點),一個驗證客戶端,即使在 51 攻擊之下,應該也是可以獲得整個系統的所有有效數據。(其實這點也是深度防御的一個子集)

2.0 The Layer1 VS Layer2 一層協議與二層協議的權衡

在任何區塊鏈協議中,都存在著在 Layer1 中放入更多的特性將,還是盡可能的將 Layer1 設計的簡單而在 Layer2 上進行更多的特性建設的爭論,

其中,支持 Layer2 的理由包括:

  1. 降低了共識層的復雜性
  2. 減少了修改共識層的需要
  3. 減少共識層失敗的風險
  4. 減少協議治理的負載和政治風險
  5. 隨著時間的推移,將會更具有靈活性和實施新想法的能力

而支持 Layer1 的理由是:

  1. 減少由于缺乏機制迫使每個人升級到一個新的協議(硬分叉)而導致的發展停滯的風險
  2. 可能降低整個系統的復雜性
  3. 如果第一層沒有足夠強大,在第二層協議上構建多么復雜龐大的機制是不可能的(就像你永遠有沒有辦法在比特幣的網路上構建以太坊)

以太坊 2.0 的大部分內容都是在 Layer1 和 Layer2 之間小心權衡,在 Layer1 上所做出的努力包括以下三點:

1)準圖靈完備、全狀態代碼執行

2)可拓展和可計算

3)高速區塊完成時間

具體而言:

如果沒有 1),就不能使用完備的可信模型去構建 Layer2 的應用程式;

如果沒有 2),拓展性能就會被局限在某種狀態通道和像 Plasma 的某些技術中,而這些技術往往面臨著資金鎖定和大規模資金退出的問題;

如果沒有 3),就不能實現在不用狀態通道的情況下及時交易的要求,而這通用也會從產生資金鎖定和大規模資金退出的問題;

除了上述特性,ETH2.0 將 1)隱私、2)高級編程語言、3)可伸縮狀態存儲、4)簽名方案,留給了 Layer2,因為它們都是快速創新的領域,現有的許多方案都具有不同的特性,未來不可避免的要在更多更好的方案之間進行權衡,例如:

1)隱私:環簽名+機密值 VS Zk snark VS Zk starks;rollup VS ZEXE VS …

2)高級編程語言:聲明性與命令性、語法、形式驗證特性、類型系統、保護特性以及本地支持隱私功能

3)擴拓展的狀態存儲:賬戶 VS UTXOs,不能的租借方案,raw Markle branch 見證人 VS Snark/Stark 壓縮 VS RSA 累加,spares Markle trees VS AVL trees VS 基于使用的 imbalanced trees;

4)簽名方案:M/N 多重簽名,社交密鑰的撤銷和恢復,Schnorr 簽名,BLS 簽名,Lamport 簽名

Why Casper 為什么選擇 Casper 做 PoS 的方案

目前一共有三種主流的 POS 的共識算法:

  • Nakamoto-inspired,如 Peercoin,NXT,Ouroboros…
  • PBFT-inspired,如 Tendermint,Casper FFG,Hotstuff
  • CBC Casper

在后兩種方案中存在著一個問題,即是否以及如何使用安全質押與懲處(Security deposits and Slashing)(第一種方案與質押懲處是不兼容的)。所有的三種方案都是優于工作證明的,我們將具體介紹一下 ETH2.0 的做法。

Slashing

以太坊 2.0 使用的 Slashing 機制,即在驗證者被發現有不當行為時,將會罰沒其質押在網路中充當驗證節點的代幣,最好的情況下是約有 1% 的驗證者會受到懲罰,最壞的情況是全網所質押的 ETH 都會面臨懲罰。這種做法的意義在于:

1)提高攻擊的成本

2)克服驗證者們存在的問題,使驗證者偏離誠實行為的最大動機是懶惰(不做驗證就對一切交易都進行簽名),對自相矛盾和不正確的簽名的進行大額的懲罰可以在很大程度上解決這一問題。關于這一點,有一個很典型的案例:2019 年 7 月,一個在 cosmos 上的驗證者因為簽署了兩個相互沖突的塊而受到了質押金的罰沒,而這個驗證者出現這種失誤的原因就是因為它同時運行了一個主節點和備份節點(以確保其中一個離線不會組織它們獲得獎勵),而這兩個節點在同一時間以外打開,導致它們最終相互矛盾,

共識算法的選擇

在出現大規模的驗證節點作惡(1/3inBPFT-inspired,1/4in CBC), 只有 BFT-inspired 和 CBC 學派的一致性算法能夠有較好的最終性,Nakamoto-inspired 共識算法無法在這種前提下實現最終性。最終性的確認需要大多數的驗證節點都在線,這個要求在 Sharding 分片機制中也是需要滿足的,因為分片要求必須要有 2/3 的隨機驗證者在跨片溝通時進行簽名。

ETH2.0 選擇 Casper FFG 就是因為它可以用最簡單的算法在協議的最終部分實現最終性,但是未來會在第三階段逐步轉向 CBC Casper。

Sharding 分片–為什么 ETH2.0 討厭超級節點

對于 Layer1 而言,分片的主要方法是使用超級節點–通過要求每一個共識節點都擁有超強的服務器,來保證它們能夠單獨處理每個事物,基于超級節點的拓展是很方便的,因為它實現起來很簡單:它只是在現有的區塊鏈的工作方式的基礎上,加入了一些更加平行運作的軟體工程層面的工作,

而對于這種做法,面臨的主要問題如下:

1)抵押池集中化風險:運行節點的固定成本很高,因此可以參與的用戶很少。如果運行驗證節點的固定成本占據了回報的大部分,那么較大的池子相較于小池子就能夠節省更小的費用,這將會使得小池子不斷被擠出,從而加劇集中化的趨勢,相比較而言,在分片系統中,抵押了更多 ETH 的更大的節點需要驗證更多的交易,所以其費用并不是固定的。

2) AWS 集中化風險:在超級節點的體系下,家庭作坊式的抵押形式幾乎是不存在的,大部分的抵押都將會在云計算的環境中,這將會大大增加單點故障的風險。

3)可拓展性的問題:隨著事務吞吐量的增加,上述風險增加,而在分片系統中增加的負載可以被更容易的處理而減少上述風險。

這些集中化分險也是 ETH2.0 沒有選擇格外追求超低延時(<1s)< span=""> 的原因,他們將這個延時設定在一個相對保守的數據,

在 ETH2.0 的分片系統中,不管你有多少的 ETH 和算力,你都能夠參與到 ETH 的驗證系統中,固定成本被最小化,即便你擁有非常龐大的 ETH 的量,你面臨的費用依然是次線性的,

安全模型

ETH2. 的深度防御與分片方法是將隨機委員會抽樣結合起來,以實現誠實多數者模型下的有效性和可用性,同時提供保管證明以防止懶惰的行為者,并提供欺詐證明和數據可用性證明,以便在不下載和核實所有數據的情況下檢測無效或不可用的鏈條 ; 這將允許客戶拒絕無效或不可用的鏈。

下表是當前預期的安全屬性:

Casper 的獎勵機制是如何設計的?

在每一輪 Epoch 中,每一個驗證者都會給出自己的證明,這個證明指的是驗證者指出哪個是區塊頭并為之簽名,如果這個證明被打包,驗證者將會獲得 以下獎勵:

1)證明被打包入內的獎勵

2)指定正確的 Epoch checkpoint 的獎勵

3)指定正確鏈頭的獎勵

4)證明被迅速打包上鏈的獎勵

5)指定正確 shard block 的獎勵

在不同的場景中,具體的回報計算方式如下:

B= 基礎回報,P= 做出正確判斷的驗證者的比例

任意做出正確判斷的驗證者將會獲得 B*P 的獎勵,

B 的計算公式為:

其中,D1…Dn 表示質押量大小,k 是一個常數,

Beacon chain/shard chain 的結構

分片系統包含了 64 個邏輯分片「shards」,該系統以 beacon chain 為中心,協調所有的活動,

一筆交易在這個系統中得到最終確認的流程如下:

1)交易被包含在一群 shard 的某個 shard block 中

2)隨機選擇出來的驗證委員會被分配到這個 shard 中并進行驗證和簽名

3)委員會的簽名被打包進下一個 beacon block

4)下一個 beacon chain 通過 Casper FFG 進行最終性確認

將每個 shard block 都通過 hash 連接到下一個 beacon chain,使 shard 能夠迅速識別彼此的 Markle 根,從而能夠相互驗證收據:

如上圖所示,如果 shard n 沒有被立即被打包到 n+1beacon chain 中,n+2beacon chain 的委員會可以嘗試打包這個 shard 和下一個 shard,

尾—關于 ETH2.0 的未來

「寧靜」僅僅只是 ETH2.0 浩瀚征途的第一步,但是從他們在第一步中所做的取舍可以看出來整個團隊過去三年對于公平和效率的深入思考,并沒有一味的追求所謂百萬 TPS,而是在保證安全的前提下對實用性和可行性進行更大的實踐。

我相信未來在很長的一段時間內,ETH 都將會整個區塊鏈網路的基石,今年的 DeFi 只是在不成熟的網路條件下的一場偉大的社會實踐,2.0 在 2021-2022 愈臻完善的時候,必然會迸發出更大的商業價值和社會價值。

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧