作者:Faust,極客web3
導語:Blast面對Polygon zkEVM等正統(tǒng)Layer2的潛臺詞,或許就是“王侯將相,寧有種乎?”既然大家都不夠去信任化,本質(zhì)都是靠社會共識來保證安全的,又何必抨擊Blast的Layer2濃度不夠高,“相煎何太急”呢?
誠然,Blast靠3/5多簽來控制充值地址一事被廣泛詬病,但大多數(shù)Layer2也同樣靠多簽管理合約,此前Optimism甚至只用一個EOA地址控制合約升級權限。在主流Layer2幾乎都存在多簽等安全隱患的當下,抨擊Blast不夠安全,更像是技術精英們對一個打金項目的”看不起“。
但拋開上述兩者孰優(yōu)孰劣一事,區(qū)塊鏈存在的意義更多在于解決社會共識/民主治理中的信息不透明問題,而在宣揚技術至上時,我們必須承認,社會共識本身比技術更為重要,因為它才是保障所有Web3項目有效運轉的基礎。歸根結底,技術是為社會共識服務的,不能被大多數(shù)人認可的項目,就算技術再優(yōu)越,本質(zhì)也只是一個華麗的闌尾。
正文:近期,Blur創(chuàng)始人推出的新項目Blast火爆全網(wǎng),這個打著Layer2旗號的“資產(chǎn)生息”協(xié)議在ETH鏈上設置了一個充值地址,用戶將資金存入Blast地址后,這些資金將被用于ETH網(wǎng)絡原生質(zhì)押、置入MakerDAO賺取利息等,所獲利潤將返回給用戶。
靠著創(chuàng)始人本身的光環(huán)及頗具吸引力的玩法,Blast獲得了Paradigm為首的投資人給出的2000萬美元融資,也吸引了無數(shù)散戶的參與。上線不到5天,Blast充值地址吸引的TVL就超過了4億美元。毫不夸張的說,BLast就像漫漫熊市之中的一劑猛藥,瞬間激起了人們的狂熱。
但Blast在獲得階段性成功的同時,也引來了許多專家的質(zhì)疑。比如,L2BEAT和Polygon工程師均一語道破:目前的Blast只是在以太坊上部署了接收充值的Deposit合約而已,這個合約可以在3/5多簽的控制下升級,換句話說,合約的代碼邏輯可能被改寫,想Rug還是可以Rug。同時,Blast只是自稱要實現(xiàn)Rollup結構,但現(xiàn)在的它只是一個空殼子,連提款功能都要等到明年2月上線。
Layer2多簽是一個由來已久的問題
其實,Layer2合約多簽是一個由來已久的問題。早在今年7月,L2BEAT就曾針對Rollup合約可升級性進行了專題調(diào)研,所謂的“可升級”,就是變更代理合約指向的邏輯合約地址,達到更改合約邏輯的效果。如果更改后的新合約中包含惡意的邏輯,Layer2官方就可以把用戶資產(chǎn)盜走。
(圖源:wtf academy)
按照L2BEAT的數(shù)據(jù),目前Arbitrum、Optimism、Loopring、ZKSync Lite、ZkSync Era、Starknet、Polygon ZKEVM等主流Rollup都采用了多簽授權的可升級合約,可以繞開時間鎖限制立刻upgrade。(可以閱讀極客web3往期文章:信用的游戲:被多簽和委員會操控的Rollup們)
讓人感到詫異的是,Optimism過去只是用一個EOA地址管理合約升級,連多簽都是今年10月才加上去的。至于曾對Blast展開抨擊的Polygon zkEVM,也可以在6/8多簽授權下,對Rollup合約進行“緊急接管”,把Layer2從合約治理轉為“赤裸裸的人治”。有趣的是,上文中對Blast進行批判的Polygon工程師也提到了這一點,但表現(xiàn)的含糊其辭。
那么這種“緊急模式”的存在意義是什么?為什么大多數(shù)Rollup都要給自己留一個緊急按鈕或者說后門?按照Vitalik此前的說法,Rollup在迭代過程中要頻繁更新在ETH上部署的合約,如果不引入代理合約等可升級手段,就難以高效迭代。
此外,托管了大量資產(chǎn)的智能合約可能存在不易察覺的bug,而Layer2開發(fā)團隊難免疏忽大意,如果某些漏洞被黑客所利用,就可能導致大量資產(chǎn)被盜。所以,Layer2也好,DeFi協(xié)議也罷,往往都會設置一個緊急按鈕,在必要時刻由“委員會成員”介入,防止某些惡性事件發(fā)生。
實際情況是,現(xiàn)在的主流Layer2要么允許自己設立的委員會立刻更新合約,要么引入了比較短的時間鎖限制(比如任何人要升級dYdX合約,都有至少48小時的延時)。如果人們發(fā)現(xiàn)委員會打算在新版合約代碼中摻雜盜取資產(chǎn)的惡意邏輯,用戶在理論上有足夠反應時間,把資產(chǎn)緊急撤出Layer1。
(關于強制提款與逃生艙功能,可以閱讀我們往期文章《對Layer2而言,強制提款與逃生艙功能到底有多重要?》
(時間鎖就是經(jīng)過一段延時后,才允許你進行某些操作)
但問題的關鍵在于,很多Layer2連可以繞開Sequencer排序器的強制提款功能都沒設置,這樣的Layer2官方要做惡,可以先讓排序器拒絕所有人的提款請求,之后把用戶資產(chǎn)劃轉到Layer2官方自己控制的L2賬戶內(nèi)。之后官方再按照自己的需要去更新Rollup合約,等時間鎖延時結束后,就可以把用戶資產(chǎn)全部提到ETH鏈上轉移走。
當然,實際情況可能比我說的更糟糕,因為大多數(shù)Rollup官方可以不受時間鎖限制的升級合約,也就是說,幾乎可以在頃刻之間完成動輒上億美元的rug。
真正去信任化的Layer2應該讓合約升級延時大于強制提款延時
其實,要解決Layer2去信任化/安全問題,需要做到以下幾件事:
在Layer1上設置一個抗審查的提款出口,用戶可以不經(jīng)排序器許可,直接把資產(chǎn)從Layer2提到ETH鏈上。強制提款的延時不應太久,這樣能確保用戶資產(chǎn)快速的從L2退出;
任何人要升級Layer2合約,必須受到時間鎖延時限制,合約升級應當晚于強制提款生效。比如說,現(xiàn)在dYdX的合約升級至少有48小時延時,那么強制提款/逃生艙模式的生效延時,應當壓低在48小時內(nèi)。這樣一來,用戶發(fā)現(xiàn)dYdX項目方要在新版合約中摻雜惡意代碼后,可以趕在合約更新前把資產(chǎn)從Layer2撤出到Layer1。
目前絕大多數(shù)上線了強制提款/逃生艙機制的Rollup,并不滿足上述條件。比如,dYdX的強制提款/逃生艙最長7天延時,但dYdX委員會的合約升級延時僅48小時,也就是說,委員會可以在用戶強制提款生效前,完成新合約的部署,趕在用戶逃離前把資產(chǎn)盜走。
從這個角度看,除了Fuel和ZKSpace、Degate外,其他Rollup都不能保證在合約升級前處理完用戶的強制提款,均存在較高程度的信任假設。
許多采用Validium方案(DA在以太坊鏈外實現(xiàn))項目雖然有很長的合約升級延時(比如8天或更長),但Validium往往依賴于鏈下的DAC節(jié)點發(fā)布最新數(shù)據(jù),而DAC可能發(fā)動數(shù)據(jù)扣留攻擊,使強制提款功能失效,所以不符合上面談論的安全模型。
到了這里,我們似乎可以簡潔明了的得出結論:除了Fuel、ZKSpace和DeGate之外的Layer2方案,都不是去信任化的。用戶要么信任Layer2項目方或其設置的安全委員會不作惡,要么信任鏈下的DAC節(jié)點不串謀,要么信任排序器不會審查你的交易(拒絕你的請求)。真正滿足 安全、抗審查、去信任化的Layer2,目前只有上面3個。
安全不止靠技術實現(xiàn),必須要引入社會共識
其實,我們今天所談論的話題并不新鮮,關于本文所指出的Layer2本質(zhì)依賴于項目方的信用,早就被無數(shù)人指出過。比如Avalanche與Solana創(chuàng)始人都曾對此展開過猛烈抨擊,但問題在于,這些存在于Layer2身上的信任假設,在Layer1上乃至于所有區(qū)塊鏈項目身上也一樣存在。
比如,我們需要假設Solana網(wǎng)絡中占2/3質(zhì)押權重的Validator節(jié)點不串謀,需要假設占比特幣大部分算力份額的前兩大礦池不聯(lián)合起來發(fā)動51%攻擊回滾最長鏈。雖然這些假設很難被打破,但“很難”不代表“不可以”。
傳統(tǒng)Layer1公鏈一旦發(fā)生了導致大量用戶資產(chǎn)受損的作惡行為,最后往往會通過社會共識的方式,廢棄那條有問題的鏈分叉出一條新的鏈(參考2016年The DAO事件導致以太坊分叉為ETH和ETC)。如果有人嘗試惡意分叉,大家也要通過社會共識的方式選擇追隨哪條“更靠譜”的分叉。(比如大多數(shù)人沒有追隨ETHW項目方)
社會共識是保障區(qū)塊鏈項目乃至于其承載的DeFi協(xié)議有序運轉的根源所在,即便是合約代碼審計、社區(qū)成員披露某項目存在問題等糾錯機制,也是社會共識的一環(huán)。而單純靠技術來實現(xiàn)的去中心化,往往并不能發(fā)揮最大的作用,很多時候都停留在了理論層面。
真的在關鍵時刻發(fā)揮作用的東西,往往是與技術無關的社會共識,是與學術論文無關的輿論監(jiān)督,是與技術敘事無關的群眾認可度。
我們可以試想如下場景:一個只有幾百人聽聞過的POW公鏈,暫時處于高度去中心化狀態(tài),因為還沒有出現(xiàn)一家獨大的局面。但假如某個礦機企業(yè)突然把自己的算力全部投入該POW鏈,自己一人就比其他所有礦工的算力都高出很多倍,此時,這條POW鏈的去中心化將瞬間被瓦解。如果該礦機企業(yè)打算作惡,人們就只能通過社會共識來糾錯。
反觀所謂的Layer2,縱使其機制設計再過精巧,也避不開社會共識這一環(huán),即便是Fuel、DeGate和ZKSpace這類官方幾乎無法作惡的L2,他們所依托的Layer1-以太坊本身也是高度依賴于社會共識/社區(qū)-輿論監(jiān)督的。
更何況我們認為的合約不可升級,是聽信了合約審計機構及L2BEAT的陳詞,但這些機構有疏忽大意或是撒謊的可能。雖然這種概率極低,但我們不得不承認,還是對其引入了微小的信任假設。
但區(qū)塊鏈本身的數(shù)據(jù)開源屬性,允許任何人包括黑客在內(nèi)去檢查合約是否包含惡意邏輯,其實已經(jīng)將信任假設最小化了,這極大程度降低了社會共識的成本。如果將這種成本降低到了足夠低的程度,我們可以默認這就是“去信任化”的。
當然,除了上面提到的那三家外,其他的Layer2根本就沒有所謂的去信任,真正在關鍵時刻保障安全性的,仍然是社會共識,技術成分很多時候只是方便人們展開社會共識監(jiān)督而已。如果一個項目的技術很優(yōu)越,但卻得不到廣泛的認可,吸引不了龐大的社區(qū)群體,那么它的去中心化治理以及社會共識本身也難以有效展開。
技術誠然重要,但更多的時候,能否被廣泛認可、能否發(fā)展起強大的社區(qū)文化,是比技術更為重要、更有價值、更有利于項目發(fā)展的因素。
我們不妨以zkRollup為例,目前很多zkRollup只實現(xiàn)了有效性證明系統(tǒng)和DA數(shù)據(jù)上鏈,它可以對外證明自己處理的用戶交易、進行的所有轉賬都是有效的,不是排序器偽造的,在“狀態(tài)轉換”這件事情上沒有作惡,但Layer2官方或排序器作惡的場景并不只這一種。
我們可以近似認為,ZK證明系統(tǒng)本質(zhì)上只是極大程度降低了人們對Layer2進行監(jiān)督的成本,但很多東西是技術本身無法解決的,必須依賴于人治或社會共識的介入。
如果L2官方?jīng)]有設置強制提款等抗審查出口,或者官方嘗試升級合約,在其中摻雜可以盜取用戶資產(chǎn)的邏輯,社區(qū)成員就不得不依靠社會共識和輿論發(fā)酵來糾錯。此時此刻,技術優(yōu)越與否似乎已經(jīng)不再是最重要的了,與其說技術對于安全而言重要與否,倒不如說,便于人們展開社會共識的機制設計本身,才是更重要的,這其實才是Layer2乃至區(qū)塊鏈的真諦。
從單純靠社會共識來監(jiān)督的Blast身上,我們應當更直接的看待社會共識與技術實現(xiàn)這兩者之間的關系,而不是單純按照“哪一家L2比另一家L2更貼近vitalik口中的Layer2”來判斷一個項目的優(yōu)與劣。當一個項目已經(jīng)獲得了成百上千萬人的認可與關注后,社會共識就已經(jīng)形成了,至于是靠營銷還是靠技術敘事無關緊要,因為結果本身比過程更重要。
誠然,社會共識本身是民主政治的延伸,而現(xiàn)實世界已經(jīng)證實了民主治理的缺陷,但區(qū)塊鏈本身自帶的開源與數(shù)據(jù)透明,極大程度降低了社會共識的成本,所以說,Web3的“人治”與現(xiàn)實主權國家的“人治”有著本質(zhì)的區(qū)別。
如果我們將區(qū)塊鏈本身視作改善民主治理中信息透明問題的一種技術手段,而不是單純追求永遠不可及的“單純靠代碼實現(xiàn)的Trustless”,一切似乎都變得樂觀而明朗了許多。只有擺脫了技術精英所固存的那種傲慢與偏見,擁抱更為廣泛的受眾群體,以太坊Layer2體系才能夠真正成為一個mass adoption的世界級金融基礎設施。