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