ZK Sync:以太坊普及的關鍵一環
編者按:本文來自以太坊愛好者(ID:ethfans)以太坊愛好者(ID:ethfans)
概要
以太坊愛好者(ID:ethfans)
一級標題
概要
以太坊愛好者(ID:ethfans)
一級標題

概要
,作者: Alex Gluchowski,翻譯& 校對: 閔敏& 阿劍,Odaily經授權轉載。
一級標題
概要
要想成功解決公鏈的可擴展性問題,不只是要提高交易吞吐量。所謂的可擴展性,就是系統要能夠在滿足數百萬用戶的需求的同時不以去中心化為代價。而密碼學貨幣能大規模普及的前提條件是速度快、費用低、用戶體驗流暢,並且能保護隱私。
如今,我們Matter Labs 團隊要滿懷激動地宣告ZK Sync 的願景:基於ZK Rollup 的免信任型可擴展性和隱私性解決方案, 旨在帶來絕佳的用戶和開發者體驗。我們還要驕傲地宣布ZK Sync 的開發者測試網絡已上線。
ZK Sync 旨在將以太坊上的吞吐量提高到像VISA 那樣每秒可達幾千筆交易,同時又能確保資金像存儲在底層賬戶那樣安全,並維持較高水平的抗審查性。該協議的另一個重要方面是延遲性極低:ZK Sync 上的交易具有即時經濟確定性。
ZK Sync 特性一覽:
一級標題
嚴格持平於L1 的安全性
一級標題
抗審查,抗DoS 攻擊
一級標題
二級標題
在沒有得到真正的普及之前,互聯網貨幣、DeFi 、Web 3.0 等區塊鏈概念的價值主張在很大程度上都無法實現。
二級標題
我們來看一看將區塊鏈革命推向大眾所面臨的三大挑戰。
二級標題
二級標題
要想在現實生活中推廣區塊鏈,目前去中心化程度最高的區塊鏈的交易處理量還差了一個數量級。比特幣網絡每秒能處理7 筆交易,以太坊網絡每秒能處理15 筆交易——而VISA 平均每秒能處理2000 筆交易之多。
二級標題
但是,對於比特幣和以太坊而言,低效是一種特色,而非缺陷!只要減少驗證者的數量,就能輕而易舉地加快交易處理速度。作為兩大頂尖區塊鍊網絡,比特幣和以太坊上大量的全節點是它們最重要的資產。因此,這就為區塊鏈帶來了強韌性,從根本上將其與現有金融機構區別開來。
二級標題
挑戰二:實現隱私性
大多數人都不會喜歡在眾目睽睽之下轉移大量財富。如果會立馬暴露自己擁有多少錢的話,動盪地區——例如,委內瑞拉——的居民不可能願意用密碼學貨幣來付錢。如果付款之時有可能暴露自己的真實身份,生產或消費成人內容(如,小黃書)的人就不可能使用加密貨幣來代替Paypal。
隱私性是普及區塊鏈的必備條件。
要讓隱蔽交易成為大家的默認選擇,隱蔽交易的交易費用必須非常低,但是,在技術上,隱蔽交易必將帶來高昂的計算成本。
一級標題
隱私模型必須具有可編程性,因為現實世界的用例不僅限於轉賬:還需要賬戶恢復、多籤和消費限額,等等。
一級標題
二級標題
現實是很殘酷的:產品經理都很清楚,用戶向來喜歡更輕鬆、更輕量級的體驗,能夠立即帶來滿足感,卻會忽略長尾風險。要想誘使用戶從熟悉的事物切換到新事物,這需要非常強大的力量。對於一些人來說,密碼學貨幣的價值主張(徹底的自主產權、抗審查性和健全貨幣)就已經足夠有吸引力了。但是這部分人很可能已經入場了。密碼學貨幣若要實現當初的承諾,其用戶群體的規模就算不用數十億,也要有數百萬才行。
一級標題
二級標題
ZK Sync 的承諾:免信任、保密、快速
本文會向大家解釋我們的架構、設計原則以及我們所提議的協議的良好特性。當然解釋過程少不了對技術做一番說明。
二級標題
1. 安全性:紮根於ZK Rollup
ZK Sync 是基於ZK Rollup 的概念搭建的。
簡而言之,ZK Rollup 是一種二層擴展方案,所有資金都存儲在主鏈上的智能合約內,計算和存儲則在鏈下執行。每創建一個新的Rollup 區塊,就會生成一個狀態轉換的零知識證明(SNARK),並提交給主鏈上的合約進行驗證。這個SNARK 包含了對Rollup 區塊中所有交易有效性的證明。此外,每個區塊的公開數據更新都會作為便宜的calldata 發佈到主鏈上。
即使驗證者不配合,用戶也可以追回Rollup 上的資金,因為Rollup 具備數據可用性(不同於Plasma ) 。
完全的免信任性
得益於有效性證明,無論是用戶還是可信第三方都不需要通過在線監視Rollup 區塊來防止詐騙(不同於使用錯誤性證明的系統,例如,支付通道或optimistic rollup )。這裡有一篇優質文章(編者註:中譯本見文末超鏈接《有效性證明vs. 錯誤性證明》),深入探討了有效性證明相比錯誤性證明的壓倒性優勢。
為了更好地理解這一概念,請參閱我們在ZCon1 和Dappcon 上的演講,zeroknowledge.fm 上關於Matter Labs 的播客,以及我們早期發布的技術解釋帖。好奇心旺盛的讀者也可以閱讀這篇文章(編者組:超鏈接見文末《Optimistic vs ZK rollup,一探究竟》),來了解ZK Rollup 和Optimistic Rollup 之間的區別。
二級標題
在以太坊基金會的資助下,Matter Labs 在過去的一年以來都在研究ZK Rollup 技術。自首個原型發布以來,我們已經全部重寫了架構和ZK 電路。最新的版本融合了我們從社區獲得的反饋,並實現了各種可用性和性能改進。
完全的免信任性
二級標題
具備與底層鏈(以太坊)同樣的安全保障
第一次確認之後就具有由以太坊背書的確定性
二級標題
2. 可用性:實時交易
我們預計ZK 證明技術的最新發展成果將縮短證明時間,將ZK Rollup 區塊的出塊時間控制在一分鐘之內。一旦區塊證明被提交到主鏈上,並在Rollup 智能合約中驗證通過,這個區塊內的所有交易都會得到最終確定,並且受到Layer-1 抵禦鏈重組的能力保護。
然而,就零售和線上支付領域而言,以太坊上僅僅15 秒的區塊延遲也有些久了。我們如何才能做得更好?
這個辦法就是:在ZK Sync 中引入即時交易收據(instant tx receipts)。
選擇參加ZK Sync 區塊生產的驗證者必須向主網上的ZK Sync 智能合約提交一筆可觀的安全保證金。由驗證者達成的共識會為用戶提供亞秒級確認,確保其交易包含在下一個ZK Sync 區塊內,並由絕大多數(2/3)的共識參與方簽署(按權益加權)。
如果一個新的ZK Sync 區塊被創建出來並提交到主鏈上,它是無法被撤回的。但是,如果這個區塊不包含已承諾的交易,則簽署過原始收據和新區塊的驗證者的安全保證金會被罰沒。這部分驗證者所質押的保證金必定超過總金額的1/3 以上。也就是說,懲罰會覆蓋1/3 乃至以上的安全保證金,而且只有惡意驗證者會遭受懲罰。
被罰沒的金額中有一部分會用來補償交易接收者,剩下的會被銷毀。
罰沒機制既可由用戶自己觸發,也可由任意簽署過原始交易收據的誠實共識參與方觸發。後者天生就有觸發罰沒機制的動機:如果他們參加下一輪區塊生產,可能也會遭到懲罰。因此,共識參與者中只要有一個是誠實的就足以檢測欺詐了。
我們再細說一遍:在ZK Sync 中,我們設計了一種零確認的交易模式,也就是讓一筆交易附帶一個即時交易數據,該收據會指向一個尚未發佈到鏈上的ZK Sync 區塊。
在區塊證明發佈到主鏈之前,只有短短幾分鐘的時間可以對ZK Sync 上的零確認交易發起雙花攻擊。此外,惡意驗證者要想誘使用戶相信自己的交易已成為零確認交易,得做好1/6 的安全準備金被罰沒的打算。
從買賣雙方的角度來看,零確認交易是:
即時的
存在逆轉的可能性,不過只在短短的幾分鐘之內
相比信用卡支付,ZK Sync 在用戶體驗和安全性上有很大提升!
現在讓我們站在不同參與者的角度來看:
實體店在交易量較少之時是幾乎不可能遭受攻擊的。即使你是以即時收據的形式來出售一台Macbook ,也要有數千名協調一致的攻擊者在不同的地點發起攻擊,還要依靠大多數驗證者串謀才能成功。
二級標題
說得再深入一些。為了量化風險,我們可以將保證金提供的經濟保證與PoW 區塊鏈提供的結算保證進行比較(這裡可以參閱Nic Carter 撰寫的一篇文章)(編者註:中譯本見文末超鏈接《別看TPS》 )。舉例來說,經過35 個交易確認之後,Coinbase 才會接收一筆以太坊資金存款。如果是通過亞馬遜雲服務租用GPU 來發起51% 攻擊的話,要持續攻擊10 分鐘才能撤回這個交易,成本大約在6 萬美元。假設安全保證金高達數百萬美元,撤回一個即時ZK Sync 收據所需的成本會高得多。因此,這些即時收據的經濟確定性相比以太坊有過之而無不及。
總結:實時交易
二級標題
亞秒級交易確認的經濟確定性堪比以太坊
幾分鐘之後就具有由以太坊背書的確定性
二級標題
3. 活性:抗審查性和抗DoS 攻擊
擴展方案必然具備的一個屬性是,大多數用戶都無法參與所有交易的驗證。因此,所有二層擴展方案都需要專門設置一個角色(Plasma 和Rollup上的驗證者、Lightning hub,等等)。這類角色對於安全性和性能的要求較高,帶來了中心化和審查的風險。
為了解決這一問題,ZK Sync 在設計上引入了兩種不同的角色:驗證者和守護者。
驗證者(Validitor)
驗證者負責將交易打包到區塊內,並為這些區塊生成零知識證明。他們要參與共識機制,因此必須繳納一筆安全保證金,才能創建即時交易收據。驗證者節點必須在網絡帶寬良好的安全環境中運行。或者,他們也有可能按自己心意在不安全的雲平台上生成零知識證明。
為了快速達成ZK Sync 共識,驗證者的人數是有限制的(根據我們的分析,在30 到100 人之間比較合適)。但是別忘了,ZK Rollup 驗證者是完全免信任的。在ZK Sync 上,惡意驗證者既不能破壞系統的安全性,也不能欺騙誠實的驗證者觸發罰沒機制。因此,不同於optimistic rollup ,系統的守護者(Guardian)可以頻繁更換一小部分驗證者。與此同時,只要有2/3 的提名驗證者是誠實且可進行操作的,就能確保滿足活性要求(liveness)。
守護者(Guardian)
雖然投票密鑰通常來說都是在線保存的,但是這不會給ZK Sync 上的守護者帶來罰沒或盜竊的風險(所有權密鑰是冷存儲的)。守護者就可以選擇只監控一小部分流量。因此,守護者節點可以運行在普通的手提電腦或云服務器上,也就是說,不需要提供專門的驗證者服務。
二級標題
守護者會獲得驗證者的費用作為獎勵,是以ZK Sync 原生代幣的形式發放的。其收益和押金會被鎖定較長一段時間,以此促進ZK Sync 代幣的長期升值。
兩種角色:驗證者和守護者,都受到交易費的激勵
二級標題
由驗證者運行共識機制並生成證明
二級標題
4.1 RedShift:透明的通用SNARK
這也是我們開發RedShift 的主要動機之一:從基於FRI 協議的多項式承諾方案(polynomial commitment scheme)中衍生出一個透明、高效且簡潔的新型SNARK 。我們目前正在進行同行評議和社區反饋,之後會將RedShift 作為一個核心部分部署在ZK Sync 上。
二級標題
Redshift 是一種通用的SNARK ,能讓我們將任意程序轉換為可證明的ZK 電路。異構電路(例如,不同的智能合約)可以通過遞歸的方式在一個SNARK 中構成。 RedShift 僅依賴於抗碰撞的哈希函數,因此可被認為具有後量子安全性。
透明的:不需要可信的設置
二級標題
可被認為具有後量子安全性:基於久經考驗的密碼學
通用的:適用於通用程序(這點與STARK 相反)
二級標題

4.2 Zinc:零知識智能合約框架

在ZK Sync 的可編程模型的設計上,我們致力於實現以下幾大目標:
高度可擴展性
支持公開的智能合約和私密的智能合約
很多優秀的項目都實現了其中幾個目標,但是至今沒有一個項目能夠實現上述所有目標。例如,ZkVM 提供了一個用於通用智能合約的虛擬機,但是是基於防彈協議(bulletproof)的,而且不支持簡潔證明聚合。 ZEXE 具有絕佳的隱私保護設計,但是需要深入理解零知識證明電路的具體細節和權衡關係,因此對程序員來說門檻很高。其他較為簡單的零知識證明編程框架則缺少表達性以及安全的智能合約開發所必需的功能。
用Rust 為Bellman 框架編寫一部分程序(ZEXE 採用類似的應用程序界面)和為Zinc 編寫同樣的程序對比如下:
一級標題
具備安全性和表達性的編程框架
以委託的方式生成零知識證明的沙盒式虛擬機
正文
正文
在Github 上瀏覽代碼
正文


