如何簡單理解擴容新方案Plasma + ZK-SNARKs?



Plasma 是一種旨在提高區塊鏈可擴展性的解決方案,透過將大部分數據和計算從鏈上移到鏈下來實現。

如何簡單理解擴容新方案Plasma + ZK-SNARKs?插图1

出品:DODOResearch

作者:dt X 0xNing0x

編輯:Lisa

NingNing (Twitter: @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?插图3

 Source: https://learnblockchain.cn/2018/10/20/plasma-framework

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?插图5

 Source: https://vitalik.ca/general/2023/11/14/neoplasma.html

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