概述

近期, Polygon生態TVL 持續走高。隨著TVL 的快速放大,Polygon 市值也急速攀升,一度進入加密貨幣總市值的前10,超越了UNI、LINK 等老牌明星項目,這也使的社區對Polygon 的安全性產生了討論。

Polygon 希望成為首個以太坊擴容方案聚合器,同時支持多種Layer 2、側鍊等擴容方案。目前,Polygon 擁有一條基於Plasma 框架和PoS 共識機制的側鏈以及配套的PoS Bridge、Plasma Bridge 兩座橋。

在所有側鍊和Layer 2 的系統中,無疑Bridge 的安全性是最重要的,因為所有的資產都被託管在一個Layer 1 的智能合約中,該合約是否保留管理員權限,是否有緊急退出機制一般是衡量一個Layer 2 系統是否無需信任的重要標誌。本文將對並Polygon 與Rollup 方案的Bridge 在安全性等方面進行對比。

Polygon Bridge

橋是側鍊和Layer2 等擴容方案的核心組件之一,資產必須通過橋才可以在以太坊主鍊和子鏈(側鍊或Layer 2)之間進行遷移,同時橋的具體實現機制也決定了擴容方案的安全性。 Polygon 同時支持PoS Bridge 和Plasma Bridge 兩種橋機制。

PoS Bridge 流程機制:

  1. 資產(ERC20/ERC721/ERC1155)的所有者首先必須approve PoS 橋上的託管合約,用來轉入一定數量token,這個合約部署在以太坊主網上,事實上它會鎖定所有存入的token;
  2. 一旦approve 完成,接下來就是存入資產,這會對RootChainManager 合約進行函數調用,由於狀態同步機制的存在,進而觸發Polygon 鏈上的ChildChainManager 合約;
  3. ChildChainManager 內部調用子token 合約的存款函數,並鑄造相應數量的token 資產存入特定用戶的Polygon 賬戶,值得注意的事,只有ChildChainManager 才可以調用子token 合約的存款函數;
  4. 一旦用戶的賬戶存入了token,他們可以立刻在Polygon 網絡使用這些token;
  5. 提取token 回以太坊分成了兩步,第一步是在Polygon 網絡銷毀這些token,之後是將銷毀交易的證明傳回以太坊主網;
  6. 需要花費10-30 分鐘,銷毀交易的證明才會被加入一個checkpoint,並傳回以太坊主網,這是由PoS 驗證者完成的。
  7. checkpoint 被傳回主網後,會調用RootChainManager 合約的exit 函數,並傳入銷毀交易的證明;
  8. exit 函數將驗證這個checkpoint 中的所有銷毀交易,驗證通過後觸發託管合約;
  9. 最後託管合約將之前鎖定的token 釋放,並退還到用戶的以太坊賬戶中。

Plasma Bridge 流程機制:

  1. 用戶在以太坊上的Polygon 合約中存入token;
  2. 一旦以太坊主網確認了存款成功,Polygon 網絡就會鑄造相同數量的token 並存入用戶的Polygon 賬戶,用戶可以立刻使用這些token;
  3. 用戶可以隨時提取Polygon 上的token 到以太坊上,一旦提交請求,需要等待5 分鐘的checkpoint 時間;
  4. 當這個checkpoint 被提交到以太坊主網後,將鑄造一個相同價值的退出NFT (ERC721)作為憑證;
  5. 用戶需要等待7 天的挑戰期,這由Plasma 安全機制決定;
  6. 一旦挑戰期完成,可以使用退出NFT claim 你的token 資產,完成提款。

PoS Bridge 是官方推薦使用的橋,它具有更快的提款時間,支持更多的以太坊資產標準,而Plasma Bridge 提款時需要等待7 天的挑戰期,但是它在安全級別上會更高。兩者主要對比如下:

跨鏈資產橋機制淺析 : Polygon vs Rollups

Bridge 安全性對比

Bridge 安全性的核心其實在於用戶是否可以無需信任的存入和提取資產,包括當Layer 2 節點不可用甚至作惡時,Layer 1 能否獨立的恢復Layer 2 上的交易數據和用戶在Layer 1 上的資產餘額(數據可用性),本節我們將Polygon Bridge 和Rollup Bridge 進行對比。

Polygon PoS Bridge

Polygon PoS Bridge 由一組外部驗證者來保證安全性。在一般的PoS 系統中,一般安全性是由驗證者bond 的資產和懲罰機制來保證的。

此外,該Bridge 合約留有了管理員權限,由一個多簽錢包通過代理控制,這個多簽錢包起初是2/3 多重簽名,現在則升級為5/8 方案。在這8 個簽名者中,4 個是Polygon 聯合創始人,另外4 個則是來自其他Polygon Defi 項目的主要成員。

通過我們對合約代碼的檢查,合約的Owner 可以隨時升級替換合約(沒有延遲期),也即意味著Owner 具備隨時提取合約中所有用戶資產的能力,這無疑是一個潛在的安全風險。所以Polygon 通過Pos Bridge 轉移至Polygon 網絡的資產現階段並不是無需信任的。

Polygon Plasma Bridge

Polygon Plasma Bridge 的退出機制基於Plasma exit mechanism,由於同樣使用了欺詐證明,用戶提現時和Optimistic Rollup 一樣都需要等待7 天的挑戰期。

但Plasma 方案相比Rollup 方案的一個重要不足是數據不可用(data unavailability),即Plasma 的operator 只會把交易數據生成一個hash 值存儲到Layer 1 上,因此Layer 1 是不具備可用的數據來驗證operator 是否作惡以及恢復Layer 2 上的所有交易的。

Optimistic Rollup Bridge

在Optimistic Rollup 方案中,主要由第三方的sequencer 負責Layer 2 與Layer 1 之間的交互。當用戶在Layer 1 存入資產時,由Sequencer 在用戶的Layer2 賬戶中計入相應資產;與此同時,sequencer 週期性的將它在二層上收到的交易生成新狀態根發佈到以太坊上。當用戶提現時,只要提供一個基於最新發布的狀態根得到的,自身賬戶擁有足夠多資產的默克爾證明,即可完成提現。為了防止sequencer 提交無效的狀態轉換,Optimistic Rollup 引入了verifier 和挑戰期的概念,任何一個sequencer 發布的新狀態根都不會立刻生效,而是需要經過一個7 天的挑戰期,在挑戰期內,只要verifier 發現其中一個狀態轉換無效時,就可以發布欺詐證明,如果證明成功,就會取消這個狀態轉換,並且將sequencer 的押金獎勵給verifier。

同時,為了避免sequencer 作惡或者離線,sequencer 被要求將Layer 2 所有的交易數據保存到Layer 1 的calldata 中,這樣即使這個sequencer 消失,一個新的sequencer 也可以基於這些數據還原所有的Layer 2 上發生的交易,並從中斷處重新開始工作。

zkSync Bridge

Rollup 方案都會將Layer 2 上的交易壓縮提交到Layer 1 上的calldata 中,這首先確保了Layer 2 網絡數據在Layer 1 上的數據可用性。

  1. 同時當zkSync 整個系統不可用的時,比如Layer 2 無法收到用戶的簽名,Layer 2 不再將交易數據提交到Layer 1 時,任何人都可以觸發進入緊急退出模式:
  2. 任何用戶都可以在Layer 1 通過調用requestFullExit,發起提現請求,請求順序存儲,且有超時時間(目前設計為3 天);
  3. 當1 中請求序列中的第1 個請求過了超時時間還未被zkSync 的operator 處理時,任何用戶都可以通過調用activateExodusMode 來激活Exodus Mode;
  4. 在鏈下可以使用官方提供的的工具通過爬取Layer 1 上的calldata 數據來最終同步到Exodus Mode 時的zkSync 狀態, 並基於此狀態對用戶擁有的資產產生zkProof;
  5. 最後,用戶通過調用performExodus, withdrawPendingBalance 兩個方法來完成最後的提現(需要用到第3 步中產生的zkproof 和一些數據做為參數)。

可見,zkSync 設計了非常完善的退出機制,即使Layer 2 節點徹底不可用,用戶仍然可以利用Layer 1 上的calldata 數據提取橋中存儲的資產。

詳情請閱讀: A Test of zkSync 1.0's Exodus Mode on Ropsten

三者的主要對比:

跨鏈資產橋機制淺析 : Polygon vs Rollups

最後

DeGate致力於打造以太坊Layer2 上,交易體驗最佳的去中心化交易所,團隊將深入研究市面上的各種Layer2 方案,並綜合性能、安全性、用戶體驗等指標,選擇在其中一個或多個方案上部署DeGate 產品。