一個(gè)能在 Layer1 上實(shí)現(xiàn)欺詐證明 / 有效性證明驗(yàn)證系統(tǒng)的 Layer2,永遠(yuǎn)都要比單純的「客戶端驗(yàn)證」模型好的多。
撰文:Faust & 霧月,極客 web3
顧問(wèn):Kevin He (@0xKevinHe),新火科技技術(shù) VP
導(dǎo)語(yǔ):美國(guó)管理學(xué)家勞倫斯·彼得曾提出「木桶理論」,該理論認(rèn)為,一個(gè)系統(tǒng)的整體性能,被其最薄弱的部分所限制。換言之,一個(gè)木桶能裝多少水,由它最短的那塊木板決定。這個(gè)道理雖然簡(jiǎn)單,卻又常被忽視。以往對(duì) Layer2 安全性的辯論,大多忽視了不同組件的優(yōu)先級(jí)與重要程度,基本都集中在狀態(tài)轉(zhuǎn)換可靠性與 DA 問(wèn)題上,卻忽視了更底層更重要的要素,這樣下來(lái)整套理論根基可能都站不住腳。所以,當(dāng)我們對(duì)多模塊的復(fù)雜系統(tǒng)展開(kāi)探討時(shí),要先摸清楚哪塊是「最短的木板」。
受到木桶理論的啟發(fā),我們做了系統(tǒng)分析之后發(fā)現(xiàn),比特幣 / 以太坊 Layer2 安全模型中的不同組件間,也存在明顯的依賴關(guān)系,或者說(shuō)某些組件的安全性要比其他組件的安全性更基礎(chǔ)、更重要,即所謂「更短」。
對(duì)此,我們可以初步對(duì)主流 Layer2 安全模型中不同組件的重要程度 / 基礎(chǔ)程度,進(jìn)行如下優(yōu)先級(jí)排序:
- 合約 / 官方橋的控制權(quán)限是否被合理分散(多簽控制權(quán)有多集中)
- 是否有抗審查的提款功能(強(qiáng)制提款、逃生艙)
- DA 層 / 數(shù)據(jù)發(fā)布形式是否可靠(DA 數(shù)據(jù)是否發(fā)布在比特幣、以太坊上)
- 是否在 Layer1 上部署了可靠的欺詐證明 / 有效性證明系統(tǒng)(比特幣 L2 需要借助于 BitVM)
我們應(yīng)該適度吸收以太坊社區(qū)對(duì) Layer2 的研究成果,避免李森科主義
相比于高度秩序化的以太坊 Layer2 體系,比特幣 Layer2 猶如一片嶄新的天地,這個(gè)在銘文熱潮后顯得愈發(fā)重要的新概念,在表現(xiàn)出崛起勢(shì)頭的同時(shí),其生態(tài)體系卻日漸混亂、趨于混沌,霎時(shí)間各種 Layer2 項(xiàng)目方層出不窮,有如雨后春筍。他們?cè)跒楸忍貛派鷳B(tài)帶來(lái)希望的同時(shí),卻刻意隱瞞自身的安全風(fēng)險(xiǎn),甚至曾有人揚(yáng)言「否定以太坊 Layer2,走比特幣生態(tài)獨(dú)特道路」,大有走極端主義路線的勢(shì)頭。
考慮到比特幣與以太坊在功能屬性上的不同,比特幣 Layer2 在早期注定無(wú)法向以太坊 Layer2 對(duì)齊,但這并不能說(shuō)明,我們應(yīng)當(dāng)徹底否定以太坊乃至模塊化區(qū)塊鏈界早有定論的行業(yè)常識(shí)(參考前蘇聯(lián)生物學(xué)家李森科,借意識(shí)形態(tài)問(wèn)題,迫害西方遺傳學(xué)支持者的「李森科事件」)。
恰恰相反,這些由「前人」花費(fèi)巨大努力取得的評(píng)判標(biāo)準(zhǔn),在得到了廣泛認(rèn)可后,早已表現(xiàn)出強(qiáng)大的說(shuō)服力,刻意否定這些成果的價(jià)值,絕非理智之舉。
在建設(shè)比特幣 Layer2 的同時(shí),我們應(yīng)當(dāng)充分認(rèn)識(shí)到「西學(xué)東用」的意義,對(duì)以太坊社區(qū)的諸多結(jié)論進(jìn)行適度的吸收與優(yōu)化。但在借鑒比特幣生態(tài)之外的觀點(diǎn)時(shí),我們有必要意識(shí)到其出發(fā)點(diǎn)的差異,并最終做到求同存異。
這就像是在探討「西方人」與「東方人」的同與異。不管是西方的還是東方的,「人」這個(gè)后綴都表達(dá)了很多相似的特征,只是在對(duì)應(yīng)「西方」和「東方」這種不同前綴時(shí),會(huì)在細(xì)分特征上有所不同。
但歸根結(jié)底,「西方人」和「東方人」之間注定存在重合,這就意味著,許多適用于西方人的東西,在東方人身上同樣適用,許多適用于「以太坊 Layer2」的東西,也同樣適用于「比特幣 Layer2」。在區(qū)分比特幣 L2 與以太坊 L2 的不同前,先理清兩者之間的互通之處,或許是更為重要、更有意義之事。
秉著「求同存異」的宗旨,本文作者并不打算探討「什么是比特幣 Layer2,什么不是」,因?yàn)檫@個(gè)話題爭(zhēng)議過(guò)大,就連以太坊社區(qū)都沒(méi)有就「哪些是以太坊 Layer2,哪些不是 Layer2」而達(dá)成客觀一致的見(jiàn)解。
但可以肯定的是,不同的技術(shù)方案在為比特幣帶來(lái)擴(kuò)容效應(yīng)的同時(shí),其安全風(fēng)險(xiǎn)各有不同,其安全模型中存在的信任假設(shè),將是本文打算重點(diǎn)探討的話題。
如何理解 Layer2 的安全性及評(píng)判標(biāo)準(zhǔn)
其實(shí),Layer2 的安全性不是一個(gè)新鮮的討論點(diǎn)。甚至就連安全性這個(gè)詞,也是一個(gè)包含了多個(gè)細(xì)分屬性的復(fù)合概念。
此前EigenLayer 創(chuàng)始人曾將「安全性」簡(jiǎn)單的細(xì)分為「交易不可逆轉(zhuǎn)性(抗回滾性)、抗審查性、DA/ 數(shù)據(jù)發(fā)布可靠性、狀態(tài)轉(zhuǎn)換有效性」等 4 個(gè)要素。
(EigenLayer 創(chuàng)始人曾就客戶端驗(yàn)證 / 主權(quán) Rollup 方案如何繼承比特幣主網(wǎng)安全性一事,表達(dá)了看法)
而 L2BEAT 和以太坊社區(qū) OG 曾提出比較系統(tǒng)的 Layer2 風(fēng)險(xiǎn)評(píng)估模型,當(dāng)然這些結(jié)論針對(duì)于智能合約型 Layer2,而非主權(quán) Rollup、客戶端驗(yàn)證等典型的非智能合約型 Layer2。
雖然這并不 100% 適合比特幣 L2,但還是包含了值得肯定的諸多結(jié)論,其大部分觀點(diǎn)已經(jīng)在西方社區(qū)被廣泛認(rèn)可,也便于我們客觀評(píng)估不同比特幣 L2 的風(fēng)險(xiǎn)所在。
(Vitalik 曾表示,由于 Rollup 方案在早期啟動(dòng)時(shí)無(wú)法達(dá)到理論上的完善度,所以必須借助于一些輔助手段提升安全性,而這些輔助手段被稱為「輔助輪」,并會(huì)引入信任假設(shè)。這些信任假設(shè)就是風(fēng)險(xiǎn))
那么安全風(fēng)險(xiǎn)都來(lái)自于哪里?考慮到當(dāng)前,無(wú)論是以太坊 Layer2 還是比特幣 Layer2,很多都依賴于中心化的節(jié)點(diǎn)來(lái)充當(dāng)排序器,或由少數(shù)節(jié)點(diǎn)組成側(cè)鏈形式的「委員會(huì)」,這些趨于中心化的排序器 / 委員會(huì)如果不受限制,可以盜取用戶資產(chǎn)并隨時(shí)跑路,可以拒收用戶的交易請(qǐng)求,導(dǎo)致資產(chǎn)被凍無(wú)法使用。這便涉及到前文 EigenLayer 創(chuàng)始人提到的狀態(tài)轉(zhuǎn)換有效性和抗審查性。
同時(shí),由于以太坊 Layer2 依賴于 ETH 鏈上的合約進(jìn)行狀態(tài)轉(zhuǎn)換驗(yàn)證和充提款行為驗(yàn)證,合約控制者(其實(shí)就是 Layer2 官方)若能快速更新合約邏輯,在其中摻雜惡意代碼段(比如,允許某個(gè)指定的地址,把 L1-L2 充提款合約上鎖定的代幣全部轉(zhuǎn)走),就可以直接盜走托管的資產(chǎn)。
這被歸結(jié)為「合約多簽分配問(wèn)題」,而多簽分配問(wèn)題一樣適用于比特幣 Layer2,因?yàn)楸忍貛?Layer2 往往依賴于「公證人橋」,需要多個(gè)節(jié)點(diǎn)通過(guò)多簽來(lái)放行跨鏈請(qǐng)求,所以比特幣 Layer2 身上也存在多簽如何合理分配的問(wèn)題,我們甚至可以把它看作比特幣 Layer2 身上最基礎(chǔ)的「輔助輪」。
此外,DA 問(wèn)題也極為重要。如果 Layer2 不把數(shù)據(jù)上傳到 Layer1,而自行選用一些不可靠的 DA 發(fā)布場(chǎng)所,假如這種鏈下 DA 層(一般稱為 DAC 數(shù)據(jù)可用性委員會(huì))發(fā)生串謀,拒絕對(duì)外發(fā)布最新交易數(shù)據(jù),數(shù)據(jù)扣留攻擊將導(dǎo)致網(wǎng)絡(luò)報(bào)廢,并可能使得用戶無(wú)法順利提款。
L2BEAT 對(duì)上述問(wèn)題進(jìn)行了總結(jié),并歸納出了 Layer2 安全模型中幾個(gè)核心的要素:
- 狀態(tài)驗(yàn)證 / 證明系統(tǒng)是否可靠(State Validation)
- DA 數(shù)據(jù)發(fā)布方式是否可靠(Data Avalibility)
- 如果 Layer2 網(wǎng)絡(luò)故意拒收你的交易 / 停機(jī),你能否將資產(chǎn)強(qiáng)制撤出 Layer2(Sequencer Faliure、Proposer Failure)
- Layer2 相關(guān)合約 - 官方跨鏈橋的控制權(quán),是否足夠分散。如果權(quán)力比較集中,發(fā)生「監(jiān)守自盜」時(shí),用戶能否有足夠的時(shí)間去應(yīng)急(Exit Window)
(L2BEAT 上為不同 Layer2 項(xiàng)目設(shè)置的「風(fēng)險(xiǎn)要素展示圖」)
?Anyway,當(dāng)我們分析 Layer2 安全隱患時(shí),其實(shí)就是在探討,Layer2 網(wǎng)絡(luò)內(nèi)存在多少可能導(dǎo)致用戶資產(chǎn)受損的場(chǎng)景,對(duì)于這些危險(xiǎn)情況,Layer2 系統(tǒng)又能否通過(guò)機(jī)制設(shè)計(jì)進(jìn)行有效制約。如果某些惡意行為是無(wú)法杜絕的,我們又需要引入多大程度的「信任」,需要信任一個(gè)群體中的多少個(gè)體,需要依賴于多少「輔助輪」。?
下文中我們將對(duì)通用的以太坊 Layer2/ 比特幣 Layer2 模型中,存在的風(fēng)險(xiǎn)要素進(jìn)行分析(本文所談及的對(duì)象不包含「狀態(tài)通道」或「支付通道」,也不包括銘文索引協(xié)議,因?yàn)樗鼈儽容^特殊)。并且我們會(huì)嘗試探討,哪些因素是 Layer2 安全模型中,更基礎(chǔ)、更底層、更重要的,這些更為基礎(chǔ)的短板,將是比其他短板更值得我們?nèi)ブ匾暤男湃物L(fēng)險(xiǎn)。
Layer2 的木桶效應(yīng)——短板都有哪些
最短的那塊板——合約 / 官方橋的管理權(quán)
在這里,我們不妨用「木桶效應(yīng)」分析 Layer2 安全問(wèn)題,很容易看出,最短的一塊木板就是上文有所提及的「合約可升級(jí)性」(主要針對(duì)以太坊 Layer2),或者更進(jìn)一步的說(shuō),是「官方跨鏈橋的管理權(quán)」(比特幣和以太坊 Layer2 都適用)。
對(duì)于以太坊 Layer2 而言,只要 Layer2 官方可以在 Layer1 鏈上快速升級(jí)合約,理論上可以把 L2 官方橋充提款地址上鎖定的 Token 盜走,無(wú)論其 DA 層或證明系統(tǒng)有多么可靠。
可以說(shuō),橋接合約的控制權(quán)限關(guān)乎整個(gè)系統(tǒng)的安危,它是整個(gè) Layer2 乃至模塊化區(qū)塊鏈堆棧中最基礎(chǔ)、最關(guān)鍵的部分。如果橋接組件 / 合約是可以在多簽控制下更新迭代的,那我們就要在這里引入「信任假設(shè)」,假設(shè) Layer2 合約 / 官方橋的控制者不會(huì)作惡。
(L2BEAT 上對(duì)不同 Layer2 項(xiàng)目的合約升級(jí)延時(shí)有標(biāo)注,大多數(shù) L2 合約可以立即被控制者升級(jí),如果合約控制者想盜取資產(chǎn),或其私鑰被黑客盜取,L2 托管的用戶資產(chǎn)必定遭殃)
不同于以太坊 Layer2 的是,比特幣 Layer2 的橋基本不受 Layer1 上的合約控制,因?yàn)楸忍貛疟緛?lái)就不支持智能合約。相對(duì)而言,以太坊 Layer2 的整個(gè)工作流程都高度依賴于 Layer1 上的合約,而比特幣 Layer2 不能這么做。
(Starknet 原理圖)
這對(duì)于比特幣 Layer2 而言,是避不開(kāi)的問(wèn)題,可以說(shuō)既有好處也有壞處。目前看來(lái),以太坊 Layer2 依賴合約實(shí)現(xiàn)的「去信任化的橋」,在比特幣 L2 身上無(wú)法實(shí)現(xiàn)。這種「Trustless Bridge」需要在 Layer1 上部署專用合約,同時(shí)需要 DA+ 欺詐證明 /ZK 證明系統(tǒng)的配合,本質(zhì)類似于 Orbiter 那種「樂(lè)觀橋」或 Polyhedra 這類 ZK 橋。
目前業(yè)界的主流觀點(diǎn)是,若不考慮實(shí)踐中可能存在的 bug,僅考慮理論模型,樂(lè)觀橋和 ZK 橋的安全級(jí)別基本是最高的一檔,只要合約代碼不包含 bug,或者不能被惡意升級(jí),基本就是去信任化的。
(樂(lè)觀橋只需要做到,N 個(gè)守望者中,有 1 個(gè)誠(chéng)實(shí),就可以保證安全,信任模型是 1/N)?
由于比特幣 Layer2 沒(méi)辦法在 Layer1 上部署合約組件(這里不談?wù)撻W電網(wǎng)絡(luò)),它的官方橋基本都是少數(shù)節(jié)點(diǎn)組成的「公證人橋」,或者叫「多簽橋」,這種橋的安全性,取決于多簽 / 閾值簽名的設(shè)置方式,需要引入較強(qiáng)的信任假設(shè):假設(shè)這些公證人不會(huì)合謀,或者不被盜取私鑰。
目前大多數(shù)基于公證人 / 閾值簽名的橋,在安全性上無(wú)法與以太坊 Layer2 官方的「去信任化橋」相提并論(其前提是以太坊 Layer2 的合約不會(huì)發(fā)生惡意升級(jí))。很顯然,比特幣 Layer2 網(wǎng)絡(luò)托管的資產(chǎn)安全性,將會(huì)受制于其官方橋的安全性,或者說(shuō)受限于多簽橋的權(quán)力分散度,這是其第一處「輔助輪」所在。
由于以太坊 Layer2 官方橋相關(guān)合約的「升級(jí)權(quán)限」,往往也集中在少數(shù)幾個(gè)多簽控制者手上,如果多簽控制者串謀,以太坊 Layer2 的橋也會(huì)出問(wèn)題,除非其合約不可升級(jí),或是受到了很長(zhǎng)的延時(shí)限制(目前只有 Degate 和 Fuel V1 如此)。
(Degate 每次合約升級(jí),都會(huì)給用戶預(yù)留 30 天的安全逃離期,這期間只要大家發(fā)現(xiàn)新版合約代碼有惡意邏輯,就可以通過(guò)強(qiáng)制提款 / 逃生艙功能安全逃離)
關(guān)于「官方橋」這部分,以太坊 Layer2 和比特幣 Layer2 的信任模型基本一致:需要信任多簽的控制者不會(huì)串謀作惡,這組多簽可以控制 L2 官方橋,要么更改其代碼邏輯,要么直接放行無(wú)效的提款請(qǐng)求,最后的結(jié)果都是:用戶資產(chǎn)可能被盜。
兩者唯一的區(qū)別是,以太坊 Layer2 只要合約不惡意升級(jí) / 升級(jí)窗口期足夠長(zhǎng),其官方橋就是去信任的,但比特幣 Layer2 無(wú)論如何都達(dá)不到這種效果。
第二短的板——抗審查的強(qiáng)制提款
如果我們假設(shè),前文所說(shuō)的合約多簽 / 官方橋控制權(quán)問(wèn)題可以無(wú)視,也就是這一層沒(méi)有問(wèn)題,那么接下來(lái)最重要的一層,必然是提款行為的抗審查性。
關(guān)于抗審查強(qiáng)制提款 / 逃生艙功能的重要性,Vitalik 在幾個(gè)月前的文章「Different types of layer 2s」中曾強(qiáng)調(diào),用戶能否順利的把資產(chǎn)從 Layer2 撤回至 Layer1,是一個(gè)非常重要的安全指標(biāo)。
如果 Layer2 的排序器一直拒絕你的交易請(qǐng)求,或者長(zhǎng)時(shí)間故障 / 宕機(jī),你的資產(chǎn)將被「凍結(jié)」,什么都干不了。即便 DA 和欺詐證明 /ZK 證明系統(tǒng)可用,如果沒(méi)有抗審查方案,這樣的 Layer2 也是不夠安全的,隨時(shí)可以把你的資產(chǎn)扣住。
更何況,曾在以太坊生態(tài)盛極一時(shí)的 Plasma 方案,允許任何人在 DA 失效或欺詐證明失效時(shí),安全的把資產(chǎn)撤出至 Layer1。這個(gè)時(shí)候,整個(gè) Layer2 網(wǎng)絡(luò)基本報(bào)廢,但你的資產(chǎn)仍有辦法全身而退。顯然,抗審查的提款功能,要比 DA 與證明系統(tǒng)更基礎(chǔ)、更底層。
(以太坊基金會(huì)的 Dankrad 表示,Plasma 在 DA 故障 / 用戶無(wú)法同步最新數(shù)據(jù)時(shí),依然可以讓用戶資產(chǎn)安全撤離)
部分以太坊 Layer2,如 Loopring 和 StarkEx、dYdX、Degate 等,會(huì)在 Layer1 上設(shè)立一個(gè)抗審查的強(qiáng)制提款 / 逃生艙激活函數(shù),以 Starknet 為例,如果用戶在 Layer1 上提交的 Forced Withdrawal 請(qǐng)求,在 7 天窗口期結(jié)束時(shí),未得到 Layer2 排序器響應(yīng),則可以手動(dòng)調(diào)用 freeze Request 功能讓 L2 進(jìn)入凍結(jié)狀態(tài),激活逃生艙模式。
此時(shí),排序器無(wú)法向 L1 上的 Rollup 合約提交數(shù)據(jù),整個(gè) Layer2 將凍結(jié)一年。然后,用戶可以提交 merkle proof,證明自己在 Layer2 上的資產(chǎn)狀態(tài),并在 Layer1 上直接提款(其實(shí)就是從官方橋的充提款地址中,把屬于自己的等額資金拿走)。
很顯然,逃生艙模式只能在以太坊這種支持智能合約的鏈上實(shí)現(xiàn),比特幣無(wú)法運(yùn)行這么復(fù)雜的邏輯。換言之,逃生艙功能基本是以太坊 Layer2 的專利,比特幣 Layer2 必須借助于一些額外的輔助手段,照貓畫(huà)虎的模仿,這就是第二處「輔助輪」。?
但單純聲明「強(qiáng)制提款請(qǐng)求」,要比直接激活逃生艙方便的多。前者只需要讓用戶在 Layer1 上向指定地址提交一筆交易,并在交易的附加數(shù)據(jù)中,聲明自己想提交給全體 Layer2 節(jié)點(diǎn)的數(shù)據(jù)(這樣可以直接繞開(kāi)排序器,向其它 Layer2 節(jié)點(diǎn)傳達(dá)請(qǐng)求)。如果「強(qiáng)制提款」長(zhǎng)時(shí)間得不到響應(yīng),用戶再去觸發(fā)逃生艙模式,是一種比較合理的設(shè)計(jì)。
(參考資料:對(duì) Layer2 而言,強(qiáng)制提款與逃生艙功能到底有多重要?)
目前,已經(jīng)有比特幣 Layer2 團(tuán)隊(duì)打算模仿 Arbitrum 的強(qiáng)制交易實(shí)現(xiàn)方式,允許用戶在比特幣鏈上發(fā)布強(qiáng)制交易聲明(Forced Transaction Envelopes)。這種方案下,用戶可以繞開(kāi)排序器直接向其它 Layer2 節(jié)點(diǎn)「?jìng)鬟_(dá)心聲」。如果排序器在看到用戶的強(qiáng)制交易聲明后依然拒絕其請(qǐng)求,將會(huì)被其他 Layer2 節(jié)點(diǎn)察覺(jué)并可能受到懲罰。
但問(wèn)題在于,Arbitrum 的強(qiáng)制交易功能,受益于其欺詐證明系統(tǒng),可以懲罰一直無(wú)視用戶交易的 Sequencer/Proposer。但對(duì)于難以在 Layer1 上驗(yàn)證欺詐證明的比特幣 Layer2,會(huì)在這方面遇到一定挑戰(zhàn)。(暫且不討論 BitVM)如果是主權(quán) Rollup 這種安全級(jí)別與客戶端驗(yàn)證并無(wú)太大差異的方案,我們很難嚴(yán)肅的評(píng)估其可靠性,可能要針對(duì)不同項(xiàng)目的實(shí)現(xiàn)細(xì)節(jié)進(jìn)行評(píng)估。
當(dāng)然,鑒于目前很多比特幣 Layer2 以類似于側(cè)鏈的形式運(yùn)轉(zhuǎn),相當(dāng)于實(shí)現(xiàn)了去中心化排序器,可以一定程度上解決抗審查問(wèn)題。但這只是一種有效的輔助手段,肯定不是終極解決方案。
ps:現(xiàn)在的一些 Layer2 方案,如 Validium 等,在逃生艙的機(jī)制設(shè)計(jì)上并不完善,排序器發(fā)動(dòng)數(shù)據(jù)扣留攻擊 /DA 不可用時(shí),可以讓用戶無(wú)法提款。但這歸因于 Layer2 逃生艙設(shè)計(jì)的不完善,理論上來(lái)看,最優(yōu)的逃生艙提款可以只依賴于歷史數(shù)據(jù),不需要對(duì) DA/ 新數(shù)據(jù)的可獲得性產(chǎn)生依賴)
第三短的板:DA 層數(shù)據(jù)發(fā)布的可靠性
DA 雖然被稱作數(shù)據(jù)可用性,但這個(gè)名詞實(shí)際指的是數(shù)據(jù)發(fā)布,只是因?yàn)?Vitalik 和 Mustafa 在最初給這個(gè)概念起名字時(shí),沒(méi)有深思熟慮,才有了 DA/ 數(shù)據(jù)可用性這種名不符實(shí)的叫法。
數(shù)據(jù)發(fā)布,顧名思義,說(shuō)的是:最新的區(qū)塊 / 交易數(shù)據(jù) / 狀態(tài)轉(zhuǎn)換參數(shù),能否被有需要者順利接收到。在不同的鏈上發(fā)布數(shù)據(jù),其可靠性都不一樣。
(參考資料:對(duì)數(shù)據(jù)可用性的誤解:DA=數(shù)據(jù)發(fā)布≠歷史數(shù)據(jù)檢索)
西方社區(qū)普遍認(rèn)為,比特幣、以太坊等老牌公鏈,是最去信任的 DA 層。如果 Layer2 排序器在以太坊上發(fā)布了新的數(shù)據(jù),任何人只要運(yùn)行以太坊 geth 客戶端,就能下載到這些數(shù)據(jù)并進(jìn)行同步,幾乎不會(huì)受到任何阻攔,這是憑借以太坊網(wǎng)絡(luò)龐大的規(guī)模,和繁多的公開(kāi)數(shù)據(jù)源來(lái)實(shí)現(xiàn)的。
值得一提的是,以太坊 Rollup 會(huì)強(qiáng)行要求排序器在 Layer1 上發(fā)布交易數(shù)據(jù) / 狀態(tài)轉(zhuǎn)換參數(shù),這一點(diǎn)是通過(guò)有效性證明 / 欺詐證明來(lái)保證的。
比如,ZK Rollup 的排序器在 Layer1 上發(fā)布交易數(shù)據(jù)后,會(huì)觸發(fā)合約邏輯生成一個(gè) datahash,而驗(yàn)證器合約要確認(rèn),Proposer 提交的有效性證明和 datahash 有對(duì)應(yīng)關(guān)系。
這等價(jià)于:確認(rèn) Proposer 提交的 zk Proof 和 Stateroot,與 Sequencer 提交的 Tx data,是關(guān)聯(lián)在一起的,即New Stateroot=STF(Old Stateroot,Txdata)。STF 就是 state transition function 狀態(tài)轉(zhuǎn)換函數(shù)。
這樣可以保證將狀態(tài)轉(zhuǎn)換數(shù)據(jù) /DA 強(qiáng)行上鏈,如果只提交 stateroot 和有效性證明,將無(wú)法通過(guò)驗(yàn)證器合約的 verify。
關(guān)于 DA 數(shù)據(jù)發(fā)布與證明驗(yàn)證系統(tǒng)哪個(gè)更基礎(chǔ),以太坊 /Celestia 社區(qū)早已進(jìn)行過(guò)充分討論,普遍結(jié)論是:DA 層是否可靠,要比欺詐證明 / 有效性證明系統(tǒng)的完備性更重要。比如說(shuō),Plasma、Validium、Optimium 這類——DA 層在以太坊鏈下、結(jié)算層在以太坊鏈上的方案,容易遭遇「數(shù)據(jù)扣留攻擊」,就是指:
Sequencer/Proposer 可以與 ETH 鏈下的 DA 層節(jié)點(diǎn)串謀,在 Layer1 上更新 stateroot,但扣住狀態(tài)轉(zhuǎn)換對(duì)應(yīng)的輸入?yún)?shù)不發(fā)出來(lái),讓外人無(wú)法判斷新的 stateroot 是否正確,成為「睜眼瞎」。
這種情況發(fā)生的話,整個(gè) Layer2 網(wǎng)絡(luò)相當(dāng)于報(bào)廢,因?yàn)檫@時(shí),你根本不知道 Layer2 賬本變成了什么樣。如果是基于欺詐證明的 Layer2(Plasma 和 Optimium),排序器可以隨意改寫(xiě)任意賬戶下的數(shù)據(jù) / 資產(chǎn);如果是基于有效性證明的 Layer2(Validium),雖然排序器不能隨便改寫(xiě)你的賬戶,但此時(shí)整個(gè) Layer2 網(wǎng)絡(luò)成了黑箱,沒(méi)人知道里面發(fā)生了啥,跟報(bào)廢沒(méi)區(qū)別。正因?yàn)槿绱耍蕴簧鷳B(tài)內(nèi)的正統(tǒng) Layer2 方案,基本都是 Rollup,而 Validium 和 Optimium 往往不被以太坊基金會(huì)認(rèn)可。
(參考資料:數(shù)據(jù)扣留與欺詐證明:Plasma 不支持智能合約的原因)
所以,DA 層的可靠性 / 狀態(tài)轉(zhuǎn)換參數(shù)的可獲得性,比欺詐證明 / 有效性證明系統(tǒng)的完備性更重要,更基礎(chǔ)。對(duì)于比特幣 Layer2,,尤其是基于客戶端驗(yàn)證模型的 Layer2 而言,即便沒(méi)有在 Layer1 上設(shè)置欺詐證明 / 有效性證明驗(yàn)證系統(tǒng),只要 DA 層照常工作,大家依然能知道 L2 網(wǎng)絡(luò)是否出現(xiàn)錯(cuò)誤的狀態(tài)轉(zhuǎn)換。
目前比特幣主網(wǎng)難以驗(yàn)證 欺詐證明 / 有效性證明(此處不探討 BitVM),我們先假設(shè)比特幣 L2 沒(méi)有證明驗(yàn)證系統(tǒng)。理想狀態(tài)下,如果 L2 排序器真的作惡,在結(jié)算層 /BTC 上發(fā)布一個(gè)與 DA 數(shù)據(jù)無(wú)關(guān)聯(lián)的 stateroot,它還是無(wú)法真正意義的盜取用戶資產(chǎn),因?yàn)樗鼏畏矫嫣峤坏?stateroot/ 狀態(tài)轉(zhuǎn)換結(jié)果,不會(huì)被誠(chéng)實(shí)節(jié)點(diǎn)認(rèn)可,到最后可能只是自嗨。
(此時(shí),只要交易所和跨鏈橋等生態(tài)內(nèi)周邊設(shè)施提供方運(yùn)行的節(jié)點(diǎn)不與排序器串謀,排序器就無(wú)法通過(guò)發(fā)布錯(cuò)誤數(shù)據(jù)的方式來(lái)快速變現(xiàn)盜來(lái)的資產(chǎn)。之后,只要有 1 個(gè)誠(chéng)實(shí)節(jié)點(diǎn)發(fā)現(xiàn)情況不對(duì),在關(guān)鍵時(shí)刻發(fā)出警報(bào),就可以通過(guò)社會(huì)共識(shí)來(lái)糾錯(cuò)。但社會(huì)共識(shí)本身的成本很高,無(wú)法即時(shí)生效)
如果是類似于側(cè)鏈的模型,多數(shù)節(jié)點(diǎn)串謀執(zhí)行惡意的狀態(tài)變更,人們也可以很快發(fā)現(xiàn)問(wèn)題。只要跨鏈橋、交易所這類第三方設(shè)施不認(rèn)可錯(cuò)誤的數(shù)據(jù),Layer2/ 側(cè)鏈的惡意控制者就無(wú)法成功套現(xiàn),除非他說(shuō)服別人與他在鏈上直接 OTC。
(Viatlik 曾在文章中指出,客戶端驗(yàn)證是保證區(qū)塊鏈網(wǎng)絡(luò)安全的真正根基,Verify by yourself)
這里有一個(gè)很有意思的點(diǎn),其實(shí)無(wú)論是以太坊 Layer2,還是比特幣 Layer2,都可以做到「客戶端驗(yàn)證」。但以太坊 Layer2 在「客戶端驗(yàn)證」的基礎(chǔ)上,借助 Layer1 和證明驗(yàn)證系統(tǒng),保證狀態(tài)轉(zhuǎn)換的有效性,基本不必依賴于社會(huì)共識(shí)(前提是有成熟的欺詐證明 / 有效性證明系統(tǒng))。
而比特幣 Layer2 的「客戶端驗(yàn)證」方案往往對(duì)「社會(huì)共識(shí)」有較強(qiáng)依賴,會(huì)帶來(lái)相應(yīng)的風(fēng)險(xiǎn)(對(duì)于比特幣 Layer2 而言,這種安全風(fēng)險(xiǎn)基本可控,但還是可能導(dǎo)致某些人損失資產(chǎn)。對(duì)于以太坊 Layer2 而言,因?yàn)槠涔俜綐蛐枰C明系統(tǒng)的配合,如果證明系統(tǒng)不完善,排序器可以盜取用戶資產(chǎn)并提到 L1 上跑路。當(dāng)然,具體要看跨鏈橋組件怎么設(shè)計(jì))。
所以說(shuō),一個(gè)能在 Layer1 上實(shí)現(xiàn)欺詐證明 / 有效性證明驗(yàn)證系統(tǒng)的 Layer2,永遠(yuǎn)都要比單純的「客戶端驗(yàn)證」模型好的多。
PS:由于大多數(shù)采用了欺詐證明 / 有效性證明系統(tǒng)的比特幣 Layer2,無(wú)法讓 Layer1 直接參與到證明驗(yàn)證流程,所以其本質(zhì)仍然只是把比特幣當(dāng)做 DA 層,安全模型等價(jià)于「客戶端驗(yàn)證」。
理論上來(lái)看,在 Layer1 上通過(guò) BitVM 方案,可以在比特幣鏈上驗(yàn)證欺詐證明,但這種方案工程落地難度很大,會(huì)遇到很大挑戰(zhàn)。鑒于以太坊社區(qū)早已對(duì)基于 Layer1 的證明驗(yàn)證系統(tǒng)做出了特別多的討論,已經(jīng)人盡皆知,所以本文不打算對(duì)「基于 Layer1 的證明驗(yàn)證系統(tǒng)」進(jìn)行贅述。
總結(jié)
經(jīng)過(guò)簡(jiǎn)單的木桶模型分析,我們可以初步得出結(jié)論:主流的 Layer2 安全模型中,按照重要程度 / 基礎(chǔ)程度,可以進(jìn)行如下排序:
- 合約 / 官方橋的控制權(quán)限是否被合理分散
- 是否有抗審查的提款功能
- DA 層 / 數(shù)據(jù)發(fā)布形式是否可靠
- 是否在 Layer1 上部署了可靠的欺詐證明 / 有效性證明系統(tǒng)?
當(dāng)然,我們并沒(méi)有對(duì)閃電網(wǎng)絡(luò) / 狀態(tài)通道及 ICP 生態(tài)的 ckBTC、銘文索引協(xié)議等方案進(jìn)行分析,因?yàn)樗鼈兣c典型的 Rollup、Plasma、Validium 或客戶端驗(yàn)證方案存在較大差異。由于時(shí)間關(guān)系,我們還難以對(duì)其安全性與風(fēng)險(xiǎn)要素進(jìn)行審慎的評(píng)估,但考慮到它們的重大意義,日后相關(guān)的評(píng)估工作必將如期進(jìn)行。
同時(shí),對(duì)于銘文索引協(xié)議是否該被看作 Layer2 一事,諸多項(xiàng)目方之間存在嚴(yán)重的分歧,但毋論 Layer2 定義之事,銘文索引協(xié)議等新事物為比特幣生態(tài)帶來(lái)了充分的技術(shù)創(chuàng)新,并終將迸發(fā)出巨大的活力。