原作者:河在玹
編譯:TechFlow
概括
-
雖然零知識證明(ZKP)有望實現 更私密和可擴展 在區塊鏈生態系統中,零知識(ZK)的許多方面都被誤解或實施方式與通常認為的不同。
-
ZKP 有兩個主要面向: 「零知識」和「簡潔」。 雖然這種說法並沒有錯,但大多數 ZK Rollups 僅利用了簡潔性,交易資料和帳戶資訊並不是完全零知識或私有的。
-
對於各種類型的DApp, ZK rollups 可能不是開發堆疊的最佳選擇 。例如,產生 ZKP 可能會成為快速確定性的瓶頸,從而降低 Web3 遊戲的效能,而基於狀態差異發布的數據可用性保證可能會損害 DeFi 借貸協議的服務。
圖 1:ZK 是個很棒的流行詞
來源:imgflip
區塊鏈產業的現狀可以比喻為零知識(ZK)時代。 無論走到哪裡,ZK 都脫穎而出,越來越少能找到名稱中不包含 ZK 的下一代區塊鏈項目。從技術角度來看,無可否認,ZK 是一項很有前景的技術,可以為更具可擴展性和私有性的區塊鏈生態系統做出貢獻。然而,由於ZK複雜的技術背景,許多投資者,無論是散戶還是機構投資者,往往基於「相信」ZK項目看起來很酷、新穎、可以解決區塊鏈三難問題而投資ZK項目,而沒有完全理解ZK技術是如何實現的。
在這個 ZK 系列中,我們將探討 ZK rollups 令人難以忽視的事實(缺點和缺點)及其有益的應用。首先,我們將解析區塊鏈中 ZK 證明(ZKP)的兩個核心屬性:「零知識」和「簡潔性」。然後我們將討論目前正在使用的大量 ZK rollup 如何沒有真正利用「零知識」方面。接下來,我們將研究應用 ZK rollups 弊大於利的領域,避免實現複雜性等眾所周知的問題。最後,我們將重點介紹有效體現 ZK 原則並實際上從使用 ZK 技術中獲得明顯收益的傑出專案。
回顧:ZK Rollups 中的交易生命週期
Rollup 是一種擴展解決方案,透過在鏈外執行交易捆綁然後在 L1 上儲存最新 L2 狀態的摘要資料來解決 L1 吞吐量限制。其中,ZK Rollups 的突出特點是能夠透過在鏈上提交鏈下計算的有效性證明來快速提取資金。在深入研究 ZK Rollups 的問題之前,我們先簡單回顧一下它的交易生命週期。
圖 2:ZK rollups 中的交易生命週期
資料來源:Presto 研究中心
-
每個 L2 使用者產生交易並將其提交給排序器。
-
排序器對多個交易進行聚合和排序,然後在鏈外執行這些交易以計算新的匯總狀態。然後,排序器將這個新的匯總狀態以批次形式提交給鏈上狀態智能合約,並將相應的 L2 交易資料壓縮到資料區塊中,以確保資料可用性。
-
該批次被發送給證明者,證明者創建該批次執行的有效性證明(或 ZKP)。然後,該有效性證明與附加資料(即先前的狀態根)一起發送到 L1 上的驗證者智慧合約,這有助於驗證者識別其正在驗證的內容。
-
驗證者合約檢查證明有效後,匯總的狀態將更新,提交批次中的 L2 交易將被視為完成。
(注意,這個解釋是 ZK Rollup 流程的簡化版本,每個協議的實作可能會有所不同。如果我們區分角色,L2 中可能會有更多的實體,例如聚合器、執行器和提議者。數據區塊也可能是不同的,例如區塊、區塊組和批次,這取決於它們的用途。次的形式產生統一的資料塊格式。
與 Optimistic Rollups 不同,得益於 ZKP(例如 ZK-SNARK 或 ZK-STARK),ZK Rollups 可以透過驗證簡單的證明來驗證數千筆交易執行的正確性,而無需重播所有交易。那麼,這個ZKP是什麼,有什麼特色呢?
ZKP 的兩個特性:零知識與簡單性
顧名思義,ZKP 基本上是一種證明。證據可以是任何能夠充分支持提供者主張的東西。假設鮑伯(提供者)想要說服愛麗絲(驗證者)他對他的筆記型電腦擁有權限。證明這一點的最簡單方法是鮑伯將密碼告訴愛麗絲,然後愛麗絲在筆記型電腦上輸入密碼並驗證鮑伯確實具有權限。然而,這個驗證過程對於Alice和Bob來說都不滿意。如果鮑伯設定了一個非常長且複雜的密碼,那麼愛麗絲正確輸入密碼將非常困難(假設愛麗絲無法複製和貼上)。更現實的是,鮑伯可能不願意向愛麗絲透露他的密碼以證明他的權威。
如果有一個驗證過程,愛麗絲可以快速驗證對電腦的存取而無需鮑勃透露他的密碼,該怎麼辦?例如,Bob 可以在 Alice 面前透過指紋辨識解鎖他的筆記型電腦,如圖 3 所示(請注意,這不是 ZKP 的完美範例)。這就是 Alice 和 Bob 都可以從 ZKP 的兩個關鍵屬性中受益的地方: 零知識性和簡單性。
圖3:零知識和簡單性的高階直覺
來源:imgflip
零知識(ZK)
零知識性質是指提供者產生的證明除了證明的有效性之外,不會洩露有關秘密見證人(即私人數據)的任何信息,從而使驗證者對數據一無所知。在區塊鏈中,這個屬性可以用來保護個人用戶的隱私。如果ZKP應用於每筆交易,用戶可以證明其行為的合法性(即證明用戶有足夠的資金進行交易),而無需暴露其交易細節(例如轉帳、帳戶餘額更新、智能合約部署和執行) )向公眾公開。
簡單
簡潔性是指ZK能夠從大的語句產生簡短且快速可驗證的證明,換句話說,它將大的東西壓縮成緊湊的形式。在區塊鏈中,這對於匯總特別有用。使用 ZKP,L2 中的驗證者可以透過向 L1 中的驗證者提交簡潔的證明來聲明交易的正確執行(TB 大小的交易的有效性可以由 10~100 KB 的證明來表示)。然後,驗證者可以透過驗證簡潔的證明而不是重播所有交易,在短時間內(即10毫秒到1秒)輕鬆確認執行的有效性。
ZK Rollup 很棒,但並不意味著隱私
上述 ZKP 的特性在 ZK Rollups 中得到了很好的利用。雖然驗證者無法從提供者收到的 ZKP 中推斷出原始交易數據,但驗證簡潔的證明使他們能夠有效地驗證提供者的聲明(即新的 L2 狀態)。也就是說,斷言當前的 ZK Rollups 完全遵守零知識和簡潔屬性是誤導的。當專注於提供者和驗證者之間的交互作用時,這可能是正確的,但 ZK Rollups 中還有其他元件,例如排序器、提供者和總計節點。那麼,零知識原則對他們來說是否也得到了保證呢?
在任何 ZK Rollup 中使用 ZKP 實現完全隱私的挑戰來自於如果某些部分透過 ZK 設為私有而其他部分保持公開則可能發生的妥協。 想想 ZK Rollups 中的交易生命週期,當交易從使用者發送到排序器時,隱私是否得到維護?對於提供者呢?或L2批次提交到DA層時是否保留了個人帳戶資訊的隱私?目前,這些都不是真的。
圖 4:ZK rollups 中的隱私洩露
資料來源:Presto Research
在大多數主流的ZK Rollups中,排序者或提供者(或其他具有強大權限的中心化實體)可以清楚地看到交易細節,包括轉帳金額、帳戶餘額更新、合約部署和執行。舉一個簡單的例子,您可以透過造訪任何 ZK Rollup 區塊瀏覽器輕鬆觀察所有提到的細節。不僅如此,請考慮集中式定序器由於某種原因停止服務並且另一個匯總節點嘗試恢復匯總狀態的情況。它將從 DA 層(大多數情況下是 L1 以太坊)公開發布的 L2 數據中提取資訊並重建 L2 狀態。在此過程中,任何可以重播 DA 層儲存的 L2 交易的節點都可以恢復有關每個使用者帳戶狀態的資訊。
因此,「零知識」這個術語在目前的ZK Rollups中是以碎片化的形式實現的。雖然這不能被認為是錯誤的, 這與「ZK意味著零知識相當於完全隱私」的普遍認知有明顯不同。當前ZK Rollups 的新穎之處在於利用“簡潔性”屬性而不是“零知識”,即在鏈下執行交易並為驗證者生成簡潔的證明,以便驗證者可以快速、可擴展地驗證執行的有效性,而無需必須重新執行它們。
因此,一些 ZK Rollups(如 Starknet)將自己稱為「有效性 Rollups」以避免混淆,而其他確保真正 ZK 隱私的 ZK Rollups(如 Aztec)則將自己標記為 ZK-ZK Rollups。
對ZK Rollups實用性的更深入思考
如前所述,大多數 ZK Rollups 並沒有完全實現 ZK 隱私。那麼,我們的下一個目標是什麼呢?透過在Rollup的每個部分全面部署ZK來實現完全的交易隱私?事實上,這不是一個簡單的問題。除了需要重大的技術進步來進一步成熟技術外,ZK 在意識形態(例如非法使用私人交易)和實用性(例如它真的有用嗎?)方面仍然存在爭議問題。鑑於討論完整交易隱私的倫理問題超出了本文的範圍,我們將重點討論 ZK Rollups 在區塊鏈專案中遇到的兩個實際問題。
第 1 點:產生 ZKP 可能是快速確定性的瓶頸
首先我們討論一下 ZK Rollups 本身的實用性。 ZK Rollups 最引人注目的賣點是由於 ZKP 的快速完成交易,從而減少了資產提取的延遲。較高的 TPS 和較低的交易費用是額外的好處。最有效利用ZK Rollups特性的領域是遊戲產業,因為遊戲內貨幣的充值和提現非常頻繁,每秒鐘都會產生大量的遊戲內交易。
但 ZK Rollups 真的可以被認為是遊戲中最好的技術堆疊嗎?為此,我們需要更深入地思考ZK Rollups中快速終結性的概念。想像一下,使用者正在享受在基於 ZK Rollup 的技術堆疊上運行的 Web3 遊戲。用戶用遊戲內物品交換遊戲幣並嘗試從遊戲中提取資產。
要提取資產,必須完成遊戲內交易。這意味著該交易必須包含在新的 Rollup 狀態承諾中,相應的 ZKP 應該提交到 L1,並且需要等待 L1 以太坊中證明的最終性,以確保交易是不可逆轉的。如果所有這些過程都能即時發生,那麼我們就可以實現ZK Rollups經常吹捧的即時交易確認,讓用戶可以立即提取資產。
然而,現實遠非如此。 根據L2beat提供的不同ZK Rollups的finality時間統計 ,zkSync Era平均需要2小時左右,Linea需要3小時,Starknet平均需要8小時左右。這是因為產生 ZKP 需要時間,並且還需要額外的時間來批量包含更多交易(即單一證明)以減少交易費用。換句話說,產生和提交證明的速度是實現 ZK Rollups 快速終結的潛在瓶頸,這可能會降低 Web3 遊戲的使用者體驗。
圖 5:ZKP 產生可能是 ZK rollup 快速確定性的潛在瓶頸
來源:imgflip
另一方面,像 Ronin(為 Pixels 和 Axie Infinity 等 Web3 遊戲提供支援)這樣的遊戲優化鏈確保了超快的最終確定性,但犧牲了去中心化和安全性。 Ronin 不是基於 ZK 或 Rollup 的鏈:它是在 PoA(權威證明)+ DPoS(委託權益證明)共識演算法下運行的 EVM 區塊鏈。它根據委託的權益數量選擇 22 個驗證人,然後這些驗證人以 PoA 方式產生並驗證區塊(即僅在 22 個驗證人之間進行投票過程)。因此,在 Ronin 上,交易能夠快速完成,幾乎沒有延遲地包含在區塊中,並且驗證時間很短。石林硬分叉後,平均只需要 6秒 每筆交易的完成。 Ronin 無需 ZKP 即可實現這一切。
當然,Ronin也有缺點。由中心化驗證器管理使其相對更容易受到 51% 攻擊的威脅。另外,由於它不使用以太坊作為結算層,因此無法繼承以太坊的安全性。使用跨鏈橋也存在安全風險。但從使用者的角度來看:他們關心這些嗎?目前沒有去中心化排序的 ZK Rollups 也存在單點故障(SPOF)問題。以太坊為他們提供了保證,因為它減少了交易回滾的可能性,但如果中心化排序器或驗證器失敗,ZK Rollups 也可能凍結。再次注意,ZK Rollups中的ZK僅用於驗證執行正確性的有效性。如果有另一個專案提供相同的功能但更快、更便宜,ZK Rollups 可能不再被 Web3 遊戲使用者和開發者視為首選技術堆疊。
第2點:發布狀態差異是一把雙面刃
還有一點是ZK Rollup協定實現的實用性。其中,這裡我們將重點放在狀態差異發布,這是ZK rollups中保證資料可用性的方法之一(參見 解鎖 Dencun 升級:擴展 DA 層的不為人知的真相 ,Jaehyun Ha,24 年 4 月 12 日)。
了解 Rollups 中數據可用性的一個簡單方法是想像一位業餘登山者證明並記錄他攀登珠穆朗瑪峰的情況。最簡單的方法就是用影片記錄從大本營到山頂的每一步。儘管視訊檔案可能很大,但任何人都可以驗證登山者的上升情況並可能重播錄製內容。這個比喻可以類比原來的交易資料發布方式,保證資料的可用性。樂觀匯總遵循這種方法,以便各個挑戰者可以重播並驗證正確的執行,因為定序器狀態承諾不可信。在ZK Rollups中,Polygon zkEVM和Scroll採用了這種方法,將原始L2交易資料以壓縮形式儲存在L1上,以便任何人都可以在需要時重播L2交易以恢復Rollup的狀態。
回到業餘登山者的例子,另一種驗證方法可能是由著名登山者與業餘登山者一起攀登珠穆朗瑪峰,向世界證明攀登確實完成了。由於攀登已得到值得信賴的個人的確認,攀登者不再需要記錄每一步以進行記錄。只要在起點和山頂拍一張照片,就能讓別人相信登山者已經登頂了。這個比喻反映了 狀態差異法 用於確保數據可用性。在ZK Rollups中,zkSync Era和StarkNet都採用了這種方式,只儲存L2交易在L1上執行前後的狀態差異,這樣任何人都可以計算與初始狀態的狀態差異,以在必要時恢復Rollup的狀態。
圖6:原始交易釋放與狀態差異釋放
資料來源:Presto Research
這種狀態差異方式相比原來的交易資料發布方式無疑是划算的,因為它可以省去儲存中間交易的步驟,從而降低L1的儲存成本。雖然這通常不是問題,但這裡有一個潛在的缺陷:這種方法不允許恢復完整的 L2 交易歷史記錄,這對某些 DApp 來說可能是個問題。
以 DeFi 借貸協議 Compound 為例,假設它是建構在基於狀態差分的 ZK Rollup 堆疊之上。這些協議需要完整的交易歷史記錄來計算每秒的供應和貸款利率。但是,如果 ZK Rollup 排序器失敗,當其他 Rollup 節點嘗試恢復最新狀態時會發生什麼?它可能會恢復狀態,但利率會恢復不準確,因為它只能追蹤批次之間的快照,而不是每個中間交易。
綜上所述
這篇文章的主要論點是 當今大多數 ZK Rollups 中都沒有“ZK”,而且 DApp 中的許多地方使用 ZKP 和 ZK 程式可能不是最佳選擇。 ZK技術可能會覺得自己被指責是無辜的,因為它本身沒有任何問題,但它在利用其技術進步的過程中可能會為DApp帶來潛在的效能下降。不過,這並不是說ZK技術對產業毫無用處。當ZKP和ZK rollups最終成熟時,它們肯定可以為區塊鏈三難提供更好的解決方案。事實上,已經有基於 ZK 的專案維護 ZK 隱私,並且有許多類型的 DApp 有效地利用了 ZKP 和 ZK 卷積。
本文來自網路:ZK Rollups: The Elephant in the Room
相關:香港現貨ETF即將上市。香港還有哪些概念項目值得關注?
4月24日,根據官方消息,華夏基金(香港)今日宣布,華夏基金比特幣ETF和華夏基金以太坊ETF已獲得香港證券及期貨事務監察委員會(證監會)批准,計劃在香港上市。年4月29日發行,並於2024年4月30日在香港交易平台上市。這兩類產品旨在提供與比特幣和以太坊現貨價格掛鉤的投資回報。這項重大舉措再次引起了香港概念的關注。今年年初,港股概念龍頭CFX在兩個月內從US$0.19上漲至US$0.52…