原文:finematics

那麼什麼是提交鏈(commit chain)?它與側鏈有何不同?是什麼讓Polygon Commit Chain 成為一條提交鏈而不是側鏈?我們將在本文中回答所有這些問題。

讓我們從了解究竟什麼是側鏈開始。

側鏈

側鏈本質上是一個單獨的區塊鏈,可用作擴展第1 層區塊鏈(如以太坊或比特幣)的一種方式。顧名思義,側鏈與主鏈並行運行或在主鏈“一側”運行。

側鏈有自己的共識機制,通常採用權益證明(PoS)、委託權益證明(DPoS)或權威證明(PoA)的形式。

側鏈允許用戶從主鏈發送他們的代幣並在側鏈上接收它們。一旦資金轉移到側鏈,它們就可以在側鏈生態系統中使用。同樣,用戶可以將他們的代幣從側鏈撤回主鏈。整個過程稱為雙向掛鉤或雙向橋。需要注意的是,一旦用戶代幣在側鏈上,它們就完全依賴於側鏈的共識機制。

最初,所有擴展解決方案(例如側鏈、Plasma 和Rollup)都被歸類為第2 層解決方案,因為它們建立在第1 層之上。

一段時間後,以太坊社區開始區分由以太坊主鏈完全保護的擴展解決方案——第2 層和其他具有自己共識機制的擴展選項——側鏈。目前,幾乎所有的擴展解決方案都歸類為一種或另一種。

談到Polygon Commit Chain,值得將它與側鏈區分開來,因為它有許多依賴於主要以太坊層的安全性的額外能力。

讓我們一一回顧它們。

以太坊上的無許可驗證器

許多側鏈使用共識機制來限制能夠驗證鏈的實體數量。例如,在委託權益證明(DPoS)中,通常有21 個由代幣持有者選擇的驗證者,只有這些驗證者能夠驗證區塊鏈的狀態。類似地,在權威證明(PoA) 模型中,鏈發起者選擇權限來運行鏈。這將大多數參與者排除在外,並造成只有少數人負責確保正確驗證交易的情況。

在Polygon PoS 鏈中,任何人都可以加入網絡並開始驗證區塊鏈的狀態。這很重要,因為它允許任何參與者成為驗證者並自行檢查所有交易是否正確處理。

Polygon PoS Chain 上的驗證者必須抵押他們的MATIC 代幣並運行一個完整節點。

MATIC 代幣質押在以太坊主鏈上。這也是維護所有驗證器集的地方。如果驗證者開始以惡意方式行事,例如,通過雙重簽名或嚴重停機,他們的質押品將被削減。

這也是介紹Polygon PoS 鏈架構的2 個核心組件——Heimdall 鍊和Bor 鏈——的好時機。

Heimdall 鍊和Bor 鏈

Heimdall 與部署在以太坊主網上的Stake Manager 合約協同工作,以協調驗證器選擇和更新驗證器。

由於Staking (質押)實際上是在以太坊智能合約上完成的,我們不必依賴驗證者的誠實性,而是為這個關鍵部分繼承以太坊鏈的安全性。即使大多數驗證者串通並開始惡意行事,社區也可以聚集在一起並在以太坊上重新部署合約以進行分叉,即削減惡意驗證者,並且鏈可以繼續按預期運行。

Heimdall 還負責檢查點(checkpointing)——本文後面將詳細介紹這一點。

Bor 是PoS 鏈架構的區塊生產者層,負責將交易聚合成區塊。

Bor 區塊生產者是由Heimdall 驗證器定期改組的驗證器的子集。區塊生產者被選中來僅驗證一定數量的區塊,也稱為“跨度(span)”。在此時間段之後,該選中過程再次被觸發。

讓我們仔細看看選擇區塊生產者的過程。

假設池中有3 個驗證者,他們是Alice、Bill 和Clara。 Alice 質押了100 個MATIC 代幣,而Bill 和Clara 各自質押了40 個MATIC 代幣。驗證者根據他們的質押被分配給插槽,因為Alice 有100 個MATIC 代幣抵押,每個插槽有10 個代幣(由驗證者管理維護),Alice 總共將獲得5 個槽位。同樣,Bill 和Clara 總共獲得2 個插槽。所有驗證器都被賦予這些插槽[ A, A, A, A, A, B, B, C, C ]使用歷史以太坊區塊作為種子,我們對這個數組進行洗牌。使用種子打亂插槽後,我們得到這個數組[ A, B, A, A, C, B, A, A, C]現在根據生產者數量(由驗證者治理維護),我們從頂部選出驗證者,例如,如果我們想選擇5 個生產者,我們將生產者設置為[ A, B, A, A, C]因此,為下一個跨度設置的生產者定義為[ A: 3, B:1 , C:1 ]。使用這個驗證器集和Tendermint 的提議者選擇算法,我們為Bor 上的每個sprint選擇一個生產者。

該模型允許任何人使用任意數量的MATIC 代幣參與保護網絡。它也不會犧牲交易速度,因為並非所有驗證者都必須一直驗證區塊。

讓我們回到Heimdall 的另一個重要功能——檢查點(Checkpointing)。

檢查點

檢查點很重要,因為它們在以太坊鏈上提供了最終性。

Heimdall 層允許將Bor 生成的區塊聚合到單個Merkle 根中,並定期將其發佈到以太坊主鏈。此已發布狀態也稱為檢查點,因此整個過程稱為檢查點。

檢查點提議者最初是通過Tendermint 的加權循環算法選擇的。基於檢查點提交的成功實現進一步的自定義檢查。這允許Polygon PoS Chain 與Tendermint 提議者選擇解耦,並為其提供諸如僅在以太坊主網上的檢查點交易成功時選擇提議者或在檢查點交易失敗時提交先前區塊的檢查點交易等功能。

在Tendermint 上提交檢查點是一個兩階段提交過程。通過上述算法選擇的提議者在提議者字段中發送帶有地址的檢查點,所有其他提議者對其進行驗證。

然後下一個提議者發送確認交易以證明之前的檢查點交易在以太坊主網上成功。每個驗證器集更改都將由嵌入到驗證器節點上的Heimdall 上的驗證器節點中繼。這允許Heimdall 始終與以太坊主鏈上的Polygon 合約狀態保持同步。

部署在主鏈上的Polygon PoS Chain 合約被認為是最終的真實來源,因此所有驗證都是通過查詢以太坊主鏈合約來完成的。

檢查點還在提取資產時提供“銷毀證明”。

說到提現,讓我們來看看PoS 鏈的另一個重要元素——雙向以太坊橋。

雙向以太坊橋

典型的雙向橋依賴於一小組通常甚至不被質押的權威機構,也不是側鏈驗證者集的一部分——基本上橋通常是由幾個PoA 簽名者控制的。這是一個重要的安全問題。

Polygon 提供了兩種不同的方式在以太坊和Polygon 之間移動資產——Plasma Bridge 和PoS Bridge。

由於Plasma 退出機制,Plasma Bridge 提供了更高的安全保證。但是,由於Plasma 架構中的某些限制,所有退出/提款都有7 天的提款期。

PoS 橋沒有這個限制,它由我們在本文前面討論的一組強大的驗證器保護。這些驗證器的狀態在以太坊主網上維護,它們由系統中的所有資金擔保——在撰寫本文時約為5 億美元。據我們所知,PoS 橋是唯一一個由橋接鏈的整個驗證者集保護的橋;如前所述,橋樑通常由一小組PoA 簽名者保護。

如我們所見,Polygon PoS Chain 提供了許多基於以太坊主鏈的額外安全措施,而不僅僅是一條側鏈。也許,提交鍊是一個更好的名字。

那麼您如何看待Polygon Commit Chain 呢?您認為將其與側鏈區分開來是否有價值?