原標題:《觀點 | 構建有效安全層的要素》
作者:Polynya
我寫過很多關于創新型執行層的內容 —— StarkNet 和 zkSync 2.0 是最驚艷我的兩個項目,感謝 Volition,智能合約行業有望于明年左右在全球范圍內廣泛落地。
但是,關于這兩個項目,我已經寫不出更多東西了,我意識到我從來沒有真正解決如何構建有效安全層的問題。這里要澄清的一點是,我說的只是安全性和驗證,而非數據可用性。更確切地說,我要討論的是一個久經考驗且具有彈性的去中心化強安全層,以便 rollup、volition 和 validium(以及執行層未來的創新成果)在上面運行。我之所以沒有談論這個問題,主要原因在于這是一個乏善可陳的領域,目前只有兩個項目聚焦于此 —— 其它所有鏈全都為了執行之便在不同程度上犧牲了安全性和去中心化,本文帶有較強的主觀色彩,因為安全性和去中心化很難量化,在本文中,我會嘗試對它們進行量化,并根據重要性進行排序。
用戶自驗證文化
(我認為相比本文提到的其它幾點來說)最重要的一點是終端用戶、開發者、錢包、交易所、基礎設施提供商和生態系統中的其他參與者運行非驗證(non-validating)全節點的文化。(譯者注:這里的 non-validating 指的是不參與出塊,因為全節點是一定會驗證區塊的合法性的,否則就不是全節點了,造成這種混淆的原因是在一些 PoS 算法的表述中,參與出塊的也被叫做 “驗證者”,因此動詞和名詞之間失去了關聯:做了驗證工作的也不一定是 “驗證者”。在后文中讀者還會遇到這種混淆。)
有很多方法可以做到這一點:
- 首先,讓開銷保持在一定限度內 —— 將節點運行的容易程度置于可擴展性之上,
- 可以更好地同步并存儲數據的高效客戶端。
- 無狀態性和狀態有效期等密碼學解決方案,
目前,比特幣仍是最容易驗證的主流網路 —— 任何人都可以在筆記本電腦上運行比特幣節點,相比之下,以太坊的門檻要高得多,盡管某些智能硬件配置是可以支持的(主要是需要固態硬碟),用戶自驗證文化并未消亡,無狀態性和狀態有效期是當前的兩大首要任務,可以有效降低以太坊節點的運行難度,從短期來看,等 Eth1 和 Eth2 合并之后,我們將獲得高效的輕客戶端。我只知道這兩個關注安全性和去中心化的項目。
我將在后文解釋為何這一點如此重要,要知道,如果一個網路不能讓用戶運行自己的節點,這個網路就稱不上是免許可網路,你只不過是在用一個有限的驗證者集合來代替政府和銀行家,
廣泛的代幣分布
尤其是對于權益證明網路來說,廣泛的代幣分布至關重要,目前,我認為沒有一個網路的代幣分布是足夠去中心化的,盡管比特幣和以太幣遙遙領先,萊特幣遠遠排在第三位,可笑的是,一些新項目還是中心化的,如 Solana 和 Avalanche —— 我覺得還不如相信信譽好的銀行,有人可能會爭辯說,這些項目最后都會變成去中心化的,但是沒有實際的方法可以實現去中心化,去中心化與它們采用的委托型共識機制(通過質押獲取收益)相悖。全球范圍內參與者的人數和類型越多,網路的彈性越強。
從長期來看,隨著以太坊轉向 PoS 機制,比特幣的機制就會成為去中心化程度最高的機制。
用戶自驗證文化和廣泛的代幣分布是安全層最關鍵的兩個要素,還有幾個要素雖然沒這么關鍵,但是也很重要:
經濟安全性
正如 Justin Drake 在 Bankless 上發布的必讀三部曲中所言,經濟安全性是可以量化的,但是比乍看之下更為棘手。我們可以將經濟安全性定義為攻擊網路的成本,就工作量證明網路而言,經濟安全性就是獲得 51% 算力所需的成本,這些算力可以通過租用和收購 ASIC 等方式獲得。我們可以根據租用算力的價格并將其乘以 51% 算力來估算出攻擊成本,雖然這只是假設性估測,但是根據 crypto51.app 數據顯示,目前以太坊的經濟安全性排第一,比特幣排第二,其它網路則望塵莫及,當然了,要想獲得 51% 算力是不切實際的,而且實際成本很難計算。就權益證明而言,由于共識機制之間存在很多差異,計算起來會很復雜。
安全的共識機制
雖然這么說可能會引起爭議,但是我認為共識機制對于一條鏈的安全性來說是最不重要的。相比之下,用戶自驗證和廣泛的代幣分布重要得多。如果沒有達到這兩個標準,共識機制之間的細微差別根本無足輕重,
這是因為驗證者是為網路提供服務的 —— 共識規則由運行節點的用戶執行。如果你擁有龐大的用戶參與驗證,就會對驗證者起到威懾作用,即使出現攻擊,網路也不會崩潰或被徹底摧毀,
但是,共識機制之間的差別確實很重要。例如,Ethereum 和 Algorand 等網路采用的非委托型共識機制就優于委托型共識機制(在財閥政治體制下選舉出驗證者)。后者是一種反烏托邦的觀點,認為網路安全性由 “巨鯨” 決定,其他利益相關者不會關心這一點 —— 他們只想通過質押(更準確地來說,叫作 “預賄賂”)來分一杯羹,當然了,如果代幣分布足夠去中心化,這不是什么大問題 —— 再一次凸顯了代幣分布廣泛的重要性。當然了,有人會辯稱說,委托池構建在沒有委托機制的 “真正” 權益證明上,即使是這種委托池也具有優越性。例如,Rocket Pool 和 SSV 的自動化、隨機化系統可以完全規避財閥政治選舉和委托機制引入的賄賂等攻擊向量。最后,無需委托給巨鯨或向巨鯨尋求許可即可運行驗證者節點這一點尤為重要。
這里還有其它很多細微差異需要考慮,例如,典型的 BFT 委托共識機制無法抵御 33% 攻擊,信標鏈和工作量證明鏈最高可以抵御 50% 攻擊;罰沒/黑名單 在起到威懾作用的同時可以讓網路從大多數攻擊中更好地恢復;小組領袖選舉是否是私密的;是否可以快速實現確定性等等。最后還有社區在社會協調以及從攻擊成功這樣的邊緣場景中恢復的力量。
費了這么多口舌,我想表達的核心觀點是 —— 共識機制之間存在很多細微差異,但是這些差異沒那么重要。如果有數百萬用戶參與驗證且持幣者多達 10 億人,即使是僅有 1000 名驗證者的不達標的委托型共識機制也是可以接受的,(譯者注:再一次地,讀者可以感受到混用術語造成的傷害:前面的 “數百萬用戶參與驗證” 的 “驗證” 指的是運行全節點,驗證區塊的完整性;后面的 “1000 名驗證者” 的 “驗證者” 指的是協議的出塊者。)
另外還有兩點同樣重要,但是并不適合上述機制,
林迪效應和網路效應、去中心化開發、生態支持
對于一條安全鏈來說,久經考驗的彈性網路、代幣溢價高、數萬名開發者參與構建都是理想特征,重申一遍,比特幣位居第一,但是以太坊正在迎頭趕上。以太坊在開發者采用和多客戶端開發方面遙遙領先。多客戶端網路遠比單客戶端網路更具彈性,因為后者只有一個開發團隊在構建一個客戶端。當然了,有人可能會說,與其將人力資源分配給多個客戶端,不如全都用來打造一個完美的客戶端,
是否對 ZKP 友好
如果你思考過了我在本文討論的內容,就會得出這樣的結論:區塊鏈行業只有兩條可以一較高下的安全鏈 —— 比特幣和以太坊,遺憾的是,比特幣在一件事上無能為力:它不具備驗證 ZKP(零知識證明)的能力,甚至都沒人提到這點,但是我認為要引入這一功能是輕而易舉的,而且這是比特幣可以實現的最具影響力的升級,遠勝過 Taproot。
以太坊確實能夠驗證 zk-SN(T)ARK,EIP 1679 當然有幫助,但是 EVM 對 ZKP 驗證依然非常不友好,現在,我的 ZKP 密碼學知識儲備還不夠多,無法理解具體細節,但是有些預編譯可以降低 zkR、validium 和 volition 在以太坊上結算的難度 —— 尤其是 STARK,幸運的是,Matter Labs、Aztec 和 StarkWare 之類的執行層開發者已經展現了出眾的創新才能,可以有效規避 EVM 的局限性。但是,距離效率最大化還有改進的空間,我希望核心研究者和開發者會在 Eth1 和 Eth2 合并完成后實現相關預編譯和操作碼,因為以太坊對 rollup 的依賴性越來越強。當然了,我知道 EVM 有些僵化,導致很難實現重大變革 —— 我有個靈感是在從頭開始構建一個虛擬機分片鏈,專門用于驗證 ZKP,或者將這個功能做進信標鏈,(雖然現實地來說,現在執行層的開發首先關注的是(信標鏈質押者)取款、(PoW-PoS)合并后清理和無狀態性。)
額外好處:海量數據可用性層
一個合格的安全層還有可能帶來一個隱形的好處:海量數據可用性層,例如,以太坊最開始會有 64 條分片鏈,之后再擴展至 1024 條分片鏈,其數據可用性根據摩爾定律(Moore’s Law)和尼爾森定律(Nielsen’s Law)還有可能擴展至數 GB/s。如此驚人的數據可用性提升是永遠不會在中心化的一體式區塊鏈上實現的,有效解決了區塊鏈的三難困境,我預測,10 年后 rollup 可能會將以太坊的 TPS 擴展至 1500 萬,屆時,如果還有其它數據可用性方案,以太坊的 TPS 甚至有可能達到更高水平。
結論
遺憾的是,安全層領域缺少競爭。目前基本上只有以太坊,一體式區塊鏈仍聚焦于執行和可擴展性。我希望看到新的項目出現,從而解決安全層挑戰。但是,我不知道如何才能做到這一點!最好的選擇似乎是將 ZKP 驗證功能添加到比特幣上,但是也有可能出現某個全球科技巨頭聯盟發布一個安全層,服務于數十億持幣用戶,成為這場競賽的黑馬。不妨想想,說不定將來會有某個革命性安全機制橫空出世,將 PoS 淘汰出局。但是已有的解決方案看起來還不夠格。