Plasma + ZK-SNARKs:以太坊擴容新思路



解讀 Vitalik 新作,揭祕以太坊的新動向,Plasma 與 ZK-SNARKs 的融合將如何改變遊戲規則?

撰文:dt,DODO Research;0xNing0x,EMC Fund 高級研究員

上週以太坊創辦人 Vitalik (以下文章簡稱 V 神)於推特上發表了其最新的文章「Exit games for EVM validiums: the return of Plasma」,文章著重在對於 Plasma 擴容技術的介紹並有意引導目前日漸邊緣的 Plasma 擴容方案與 ZK 零知識證明結合,此文一出許多與 Plasma 技術相關的專案隨即大漲,也讓這項被 Rollup 取代逐漸淡出眾人視野的技術重新回到以太坊擴容賽道的競爭中。

本週的 CryptoSnap,讓 DODO Research X NingNing (@0xNing0x) 用最簡單易懂的方式來向大家科普下 Plasma 並闡述 V 神的最新文章在表達什麼!

Plasma 是什麼?

擴容問題一直是區塊鏈世界開發者重點研究的專案,為了能夠實現去中心化世界電腦的目標,打造一個便宜且快速的區塊鏈勢在必得,因此圍繞著以太坊主網出現了各種的擴容方案,而 Plasma 便曾是以太坊擴容方案的主流。

Plasma 可以簡單理解為在以太坊主網上架構一條鏈,透過智慧合約控制主網與 Plasma 鏈之間的存取資金交互,與側鏈(BNB Chain, Gnosis Chain) 不同的是 Plasma 鏈需要定期地將鏈上最終狀態回傳至以太坊主網中,而與 Rollup 技術不同的是 Plasma 鏈並未回傳整條鏈上的交易數據而僅回傳默克爾樹的根也就是 Plasma 鏈上的狀態。

Plasma + ZK-SNARKs:以太坊擴容新思路插图1

Exit Game 安全「退出遊戲」機制

由於計算並不在主網進行,Plasma 鏈能夠大大提升整個網路的可擴展性(Scalability),並且有相對安全的驗證機制能預防作惡者。說到安全性那麼就要提到 V 神標題所述的「Exit game」,Plasma 鏈的安全「退出遊戲」機制。

在 Plasma 框架的設計中安全性由其退出機制來保護,當用戶想返回主網或其認為 Plasma 鏈出現攻擊時,用戶得以向主網鏈上 Plasma 合約提出「退出」並提供證明若在七天的挑戰期內沒有挑戰者反證來挑戰該「退出」便能順利在主網上取回資產,反之若被成功挑戰則「退出」失敗,惡意用戶需要承擔相應罰金。

而常見的的攻擊的行為有下列三種:

  • 發送交易後立即退出(Not latest owner):這種攻擊是指,當一個用戶發送了轉賬交易後,在挑戰期內立即進行資產退出。這是無效的,因為最新的資產擁有者應該是交易的接收者,網路可以挑戰這個退出,證明資產已被轉移給其他人。

  • 雙花攻擊(Double spend):雙花攻擊指的是同一個資產被非法花費兩次或以上,比如 Alice 向 Bob 轉賬了 1 個 token,然後 Alice 再向 Charlie 轉賬同樣的這個 token。網路可以檢測到這個 token 被雙重使用,因此可以挑戰這個非法的轉賬。

  • 非法交易歷史(Invalid history):這表示檢測到資產交易歷史中存在非法狀態轉換,例如存在未被對應消費的交易輸出,用戶可以通過提供相應的消費證明來回應這個挑戰。

Plasma Cash

接著 V 神在此篇文章仲介紹了使用 Plasma 框架的專案 Plasma Cash,在 Plasma Cash 中用戶存款的每一筆代幣都將視為一個 NFT,每一個 NFT 都有一條交易歷史並將其以默克爾樹形式記載,但由於 NFT 的獨一無二不可拆分性,讓 Plasma Cash 使用場景有限僅能為特定轉賬用途服務,此時便出現了以 UTXO 模型改進的版本,透過 UTXO 賬本形式可以解決 Plasma Cash 原先 NFT 轉賬設計中無法拆分的困境,有助於再支付領域的發展但同時也讓其難以與智慧合約交互。

Plasma + ZK-SNARKs:以太坊擴容新思路插图3

Plasma 技術瓶頸

Plasma 目前的技術瓶頸是難以實現 EVM,由於 EVM 合約中的許多狀態對象沒有明確的「所有者(Owner)」,這一點與 Plasma 的安全模型存在矛盾,Plasma 退出機制要求每一個狀態對象都有一個明確的所有者,所有者有責任去監控這個狀態對象的數據,必要時進行退出以保護資產安全。但是在 EVM 合約中有很多狀態對象並沒有明確的所有者,比如 Uniswap 中的流動性池或是 MakerDAO CDP 頭寸就沒有單一的所有者,在這種情況下,如果 Plasma 鏈出現問題將出現以下幾種狀況:

  • 沒有所有者去進行狀態退出,狀態可能永遠被鎖在 Plasma 鏈上。

  • 即使外部人員可以發起退出,也容易出現 Exit Game 攻擊,風險很大。

  • 複雜狀態的合約難以驗證。

Plasma + ZK-SNARKs

對於 Plasma 目前所遇到的技術瓶頸,V 神回應到假若能夠結合目前已經成熟的有效性證明 (zk-SNARKs) 技術將有效解決部分瓶頸,具體可以分成以下五點:

  1. zk-SNARKs 可以在主鏈上證明 Plasma 區塊的有效性,減輕對退出機制的依賴。

  2. 可以實現 Plasma 鏈上資產的立即提款,去除七天的欺詐證明挑戰期,減少鏈重新組織的問題。

  3. 可以構建一個代表 EVM 狀態的並行 UTXO 結構,用 zk-SNARKs 證明其等效性,規避 EVM 的部分問題。

  4. 使用 zk-SNARKs 將大大減少用戶需要驗證和存儲的狀態數據量,優化用戶體驗。

  5. 對於難以定義所有者的智慧合約,如果關鍵部分可拆分為可驗證對象,同樣能獲得部分安全保證。

僅管這些方法仍無法涵蓋全部複雜 EVM 合約,但隨著 ZK 技術進一步發展,結合 Plasma 設計空間的持續探索,我們期待能夠找到在安全性、可擴展性和體驗之間取得更好折衷的新方案。

筆者觀點

DT @19971122::

在閱讀 V 神的此篇文章之前,筆者並不熟知 Plasma 的技術架構,畢竟現在的以太坊擴容方案幾乎可以說是 Rollup 技術的天下,各個團隊爭先恐後地推出 Rollup 技術的 L2 網路,也發展出將數據可用性層(DA 層)構建在其他網路的模塊化架構(Celestia, EigenLayer, 以及 Avail),因此出現了像是以太坊基金會的研究員 Dankrad Feist 在推特上所說「不採用 ETH 作 DA 層(數據可用性層)的模塊化區塊鏈不是 Rollup,同時也不是以太坊 L2」的這番言論,誰才是以太坊發展的正統性一直是大家喜歡爭論的點,正當大家對於 Rollup 發展討論激烈之時 V 神此篇文章就像是給 Plasma 打了個雞血,告訴以太坊社群,以太坊的擴容方案不只有 Rollup 一種,ZK+Plasma 的新方向不妨也是個選項。

筆者認為在去中心化世界中,多元發展本來是一個自然的過程,但當考量到資本效益時,模塊化同質化的發展似乎更經濟,便出現了 OP Stack 或 Polygon zkEVM CDK 這種標準化框架的產品來供各家資本構建其自己的 L2 網路,但同時也失去了部分多元性,V 神此舉可能是認為以太坊擴容性方案發展失去了均衡而做出的方向引導,後續發展是否會有團隊跳出來實作是非常值得我們追蹤的一件事,筆者身為以太坊長期使用者、擁護者對於以太坊擴容技術的均衡發展也是樂見其成。

NingNing @0xNing0x:

Plasma 是一種旨在提高區塊鏈可擴展性的解決方案,通過將大部分數據和計算從鏈上移到鏈下來實現。其最早出現於 2017 年,經歷了多個迭代版本,包括 Plasma Cash、Plasma Cashflow 等。然而,由於 Plasma 在擴展到超出支付範圍的應用時存在的基本限制(存在無主狀態問題和激勵流問題),Plasma L2 方案漸漸邊緣化。

與此同時,Rollup 成為 L2 主流解決方案,其主要優勢是設計簡潔性和開發者友好性。然而,隨著 ZkEVM 技術的實現和成熟,Plasma 迎來了新的設計空間,為簡化開發者體驗和保護用戶資產提供了新的可能性。

Vitalik 此次推介 Plasma L2 的目的,或許在於強調 L2 範式多樣化和創新的重要性,而不是認為新範式的 Plasma L2 解決方案能夠挑戰 Rollup L2 解決方案的主流地位。當前,Rollup L2 解決方案在 TVL 規模和用戶數量方面處於絕對領先地位,而因為馬太效應的存在,這個地位在可預期的未來會進一步加強。

近兩天,Paradigm 和 Blur 團隊合作推出的新範式 L2 Blast 展示了另一種探索路徑。儘管其架構不符合 Vitalik 對 L2 的嚴格定義,但其在市場和社區中獲得了相當大的成功,迅速吸引了社區關注和大量資金參與。這表明市場和社區在渴望 L2 範式的多樣性,不再滿足於只有一種或者兩種標準設計。

總的來說,Plasma L2 解決方案具有一定潛力和創新性,但 L2 的發展不應依賴於一個具有至高理性的頂層設計師所設計的藍圖,而應該從複雜的、非線性的市場競爭中生長出來。

聯系郵箱:0xniumao@gmail.com