上周以太坊創(chuàng)辦人 Vitalik (以下文章簡(jiǎn)稱 V 神)于推特上發(fā)表了其最新的文章 “Exit games for EVM validiums: the return of Plasma”,文章著重在對(duì)于 Plasma 擴(kuò)容技術(shù)的介紹并有意引導(dǎo)目前日漸邊緣的 Plasma 擴(kuò)容方案與 ZK 零知識(shí)證明結(jié)合,此文一出許多與 Plasma 技術(shù)相關(guān)的項(xiàng)目隨即大漲,也讓這項(xiàng)被 Rollup 取代逐漸淡出眾人視野的技術(shù)重新回到以太坊擴(kuò)容賽道的競(jìng)爭(zhēng)中。
本周的 CryptoSnap,讓 DODO Research X NingNing (@0xNing0x) 用最簡(jiǎn)單易懂的方式來向大家科普下 Plasma 并闡述 V 神的最新文章在表達(dá)什么!
Plasma 是什么?
擴(kuò)容問題一直是區(qū)塊鏈世界開發(fā)者重點(diǎn)研究的項(xiàng)目,為了能夠?qū)崿F(xiàn)去中心化世界電腦的目標(biāo),打造一個(gè)便宜且快速的區(qū)塊鏈勢(shì)在必得,因此圍繞著以太坊主網(wǎng)出現(xiàn)了各種的擴(kuò)容方案,而 Plasma 便曾是以太坊擴(kuò)容方案的主流。
Plasma 可以簡(jiǎn)單理解為在以太坊主網(wǎng)上架構(gòu)一條鏈,透過智能合約控制主網(wǎng)與 Plasma 鏈之間的存取資金交互,與側(cè)鏈(BNB Chain, Gnosis Chain) 不同的是 Plasma 鏈需要定期地將鏈上最終狀態(tài)回傳至以太坊主網(wǎng)中,而與 Rollup 技術(shù)不同的是 Plasma 鏈并未回傳整條鏈上的交易數(shù)據(jù)而僅回傳默克爾樹的根也就是 Plasma 鏈上的狀態(tài)。
Source: https://learnblockchain.cn/2018/10/20/plasma-framework
Exit Game 安全“退出游戲”機(jī)制
由于計(jì)算并不在主網(wǎng)進(jìn)行,Plasma 鏈能夠大大提升整個(gè)網(wǎng)絡(luò)的可擴(kuò)展性(Scalability),并且有相對(duì)安全的驗(yàn)證機(jī)制能預(yù)防作惡者。說到安全性那么就要提到 V 神標(biāo)題所述的 “Exit game” ,Plasma 鏈的安全“退出游戲”機(jī)制。
在 Plasma 框架的設(shè)計(jì)中安全性由其退出機(jī)制來保護(hù),當(dāng)用戶想返回主網(wǎng)或其認(rèn)為 Plasma 鏈出現(xiàn)攻擊時(shí),用戶得以向主網(wǎng)鏈上 Plasma 合約提出 “退出” 并提供證明若在七天的挑戰(zhàn)期內(nèi)沒有挑戰(zhàn)者反證來挑戰(zhàn)該 “退出” 便能順利在主網(wǎng)上取回資產(chǎn),反之若被成功挑戰(zhàn)則 “退出” 失敗,惡意用戶需要承擔(dān)相應(yīng)罰金。
而常見的的攻擊的行為有下列三種:
- 發(fā)送交易后立即退出(Not latest owner):這種攻擊是指,當(dāng)一個(gè)用戶發(fā)送了轉(zhuǎn)賬交易后,在挑戰(zhàn)期內(nèi)立即進(jìn)行資產(chǎn)退出。這是無效的,因?yàn)樽钚碌馁Y產(chǎn)擁有者應(yīng)該是交易的接收者,網(wǎng)絡(luò)可以挑戰(zhàn)這個(gè)退出,證明資產(chǎn)已被轉(zhuǎn)移給其他人。
- 雙花攻擊(Double spend):雙花攻擊指的是同一個(gè)資產(chǎn)被非法花費(fèi)兩次或以上,比如 Alice 向 Bob 轉(zhuǎn)賬了 1 個(gè)token,然后 Alice 再向 Charlie 轉(zhuǎn)賬同樣的這個(gè) token。網(wǎng)絡(luò)可以檢測(cè)到這個(gè) token 被雙重使用,因此可以挑戰(zhàn)這個(gè)非法的轉(zhuǎn)賬。
- 非法交易歷史(Invalid history):這表示檢測(cè)到資產(chǎn)交易歷史中存在非法狀態(tài)轉(zhuǎn)換,例如存在未被對(duì)應(yīng)消費(fèi)的交易輸出,用戶可以通過提供相應(yīng)的消費(fèi)證明來回應(yīng)這個(gè)挑戰(zhàn)。
Plasma Cash
接著 V 神在此篇文章中介紹了使用 Plasma 框架的項(xiàng)目 Plasma Cash,在 Plasma Cash 中用戶存款的每一筆代幣都將視為一個(gè) NFT,每一個(gè) NFT 都有一條交易歷史并將其以默克爾樹形式記載,但由于 NFT 的獨(dú)一無二不可拆分性,讓 Plasma Cash 使用場(chǎng)景有限僅能為特定轉(zhuǎn)賬用途服務(wù),此時(shí)便出現(xiàn)了以 UTXO 模型改進(jìn)的版本,透過 UTXO 賬本形式可以解決 Plasma Cash 原先 NFT 轉(zhuǎn)賬設(shè)計(jì)中無法拆分的困境,有助于再支付領(lǐng)域的發(fā)展但同時(shí)也讓其難以與智能合約交互。
Source: https://vitalik.ca/general/2023/11/14/neoplasma.html
Plasma 技術(shù)瓶頸
Plasma 目前的技術(shù)瓶頸是難以實(shí)現(xiàn) EVM,由于 EVM 合約中的許多狀態(tài)對(duì)象沒有明確的“所有者(Owner)”,這一點(diǎn)與 Plasma 的安全模型存在矛盾,Plasma 退出機(jī)制要求每一個(gè)狀態(tài)對(duì)象都有一個(gè)明確的所有者,所有者有責(zé)任去監(jiān)控這個(gè)狀態(tài)對(duì)象的數(shù)據(jù),必要時(shí)進(jìn)行退出以保護(hù)資產(chǎn)安全。但是在 EVM 合約中有很多狀態(tài)對(duì)象并沒有明確的所有者,比如 Uniswap 中的流動(dòng)性池或是 MakerDAO CDP 頭寸就沒有單一的所有者,在這種情況下,如果 Plasma 鏈出現(xiàn)問題將出現(xiàn)以下幾種狀況:
- 沒有所有者去進(jìn)行狀態(tài)退出,狀態(tài)可能永遠(yuǎn)被鎖在 Plasma 鏈上。
- 即使外部人員可以發(fā)起退出,也容易出現(xiàn) Exit Game 攻擊,風(fēng)險(xiǎn)很大。
- 復(fù)雜狀態(tài)的合約難以驗(yàn)證。
Plasma + ZK-SNARKs
對(duì)于 Plasma 目前所遇到的技術(shù)瓶頸,V 神回應(yīng)到假若能夠結(jié)合目前已經(jīng)成熟的有效性證明 (zk-SNARKs) 技術(shù)將有效解決部分瓶頸,具體可以分成以下五點(diǎn):
- zk-SNARKs 可以在主鏈上證明 Plasma 區(qū)塊的有效性,減輕對(duì)退出機(jī)制的依賴。
- 可以實(shí)現(xiàn) Plasma 鏈上資產(chǎn)的立即提款,去除七天的欺詐證明挑戰(zhàn)期,減少鏈重新組織的問題。
- 可以構(gòu)建一個(gè)代表 EVM 狀態(tài)的并行 UTXO 結(jié)構(gòu),用 zk-SNARKs 證明其等效性,規(guī)避 EVM 的部分問題。
- 使用 zk-SNARKs 將大大減少用戶需要驗(yàn)證和存儲(chǔ)的狀態(tài)數(shù)據(jù)量,優(yōu)化用戶體驗(yàn)。
- 對(duì)于難以定義所有者的智能合約,如果關(guān)鍵部分可拆分為可驗(yàn)證對(duì)象,同樣能獲得部分安全保證。
僅管這些方法仍無法涵蓋全部復(fù)雜 EVM 合約,但隨著 ZK 技術(shù)進(jìn)一步發(fā)展,結(jié)合 Plasma 設(shè)計(jì)空間的持續(xù)探索,我們期待能夠找到在安全性、可擴(kuò)展性和體驗(yàn)之間取得更好折衷的新方案。