

區塊鏈早期充滿了興奮。然而,隨著越來越多的人開始使用區塊鏈,交易量激增,一個重大問題浮現:可擴展性。除了可擴展性問題外,還有安全性和去中心化問題。這一挑戰被稱為「區塊鏈三難困境」,即同時實現這三個屬性非常困難。
比特幣作為第一個區塊鏈,每秒只能處理少量交易,以太坊也好不到哪里去。這導致了對提高區塊鏈可擴展性解決方案的需求。這種需求催生了 ZK 證明。
1、ZK 證明作為擴展解決方案
「零知識」概念最早在 1985 年由 Shafi Goldwasser、Silvio Micali 和 Charles Rackoff 在論文《交互證明系統的知識復雜性》中提出。這篇論文解釋了零知識證明(ZK)的概念,遠早于加密貨幣的誕生。
根據論文的定義:零知識證明是一種方法,使一方(證明者)能夠向另一方(驗證者)證明某個陳述是正確的,而無需透露該陳述之外的任何其他信息。
換句話說,零知識原則確保除了陳述的真實性外,沒有其他額外知識從證明者傳遞給驗證者。
一個經典的類比來解釋零知識證明的概念是「阿里巴巴的洞穴」:
情景:有一個洞穴,有兩條路徑 A 和 B,形成一個環并在一扇鎖著的門處相遇。簡(證明者)知道打開門的秘密代碼,保羅(驗證者)希望確認簡知道代碼,但不想自己知道代碼。
過程:
1)簡進入洞穴,隨機選擇路徑 A 或 B。
2)保羅在外面等待,不知道簡選擇了哪條路徑。


3)保羅進入洞穴并叫出他希望簡返回的路徑(A 或 B)。
4)如果簡知道代碼,她可以打開門并從所選路徑返回。
5)這個過程(1-5)重復多次,以確保簡不是僅僅通過猜測正確返回。
如果經過多次重復,簡始終從正確的路徑返回,保羅可以確信簡知道代碼,而無需知道代碼本身。
ZK 證明旨在確保隱私和安全,保持敏感信息的私密性,同時仍允許他人驗證其真實性。簡而言之,ZK 證明幫助確保重要數據的安全,同時證明其合法性,而不透露具體細節。
ZK 證明的概念還催生了各種先進的密碼學技術和應用,如 ZK Rollups 和 ZK Compressions。
2018 年,一位匿名的 Barry Whitehat 在 GitHub 上上傳了一個名為「roll_up」的代碼庫,介紹了 Rollups 的概念。隨后,以太坊的創始人 Vitalik Buterin 將這一概念進一步發展,提出了 zk-Rollups。
zk-Rollups(零知識 Rollups 的簡稱)是用于提升以太坊主網性能的二層擴展解決方案。它們通過將計算和狀態存儲移到鏈下來實現擴展。
二層協議是構建在區塊鏈之上的次級協議,旨在增強其可擴展性、速度并減少交易費用。
6 月 21 日,基于 Solana 的隱私層 Light Protocol 宣布與 Solana 開發團隊 Helius Labs 合作,推出其新「ZK Compression」擴展解決方案的測試網,旨在顯著降低鏈上計算成本。


雖然 zk-Rollups 和 zk-Compression 都利用零知識證明的強大功能來優化區塊鏈技術,但它們的用途不同,實施方式也有所區別。
盡管如此,以太坊和 Solana 社區一直在爭論哪種技術更好。
例如,一位以太坊社區成員稱 ZK 壓縮為「另一個 L2」。


在 Heliuslabs 的 CEO Mert 對上述推文做出回應后,Solana 社區以一個針對以太坊的創意嘲諷視頻進行了回擊。
視頻中,一位醫生在治療一名「ETH 極端主義」患者。視頻中的一句臺詞說道:
「這是 ETH 極端主義者常見的反應。他們在沒有另一層的情況下無法運作,會有第三層!第四層!」


這些區塊鏈之間的競爭顯而易見。因此,本文旨在清晰全面地比較它們的可擴展性解決方案,突出每種解決方案的獨特特點、差異和實際應用案例。
2、什么是 ZK Rollups?
在其核心,ZK Rollups 是一種二層擴展解決方案,旨在提升區塊鏈網絡的效率和可擴展性。
其核心思想很簡單:不是直接在主區塊鏈上處理每個交易,而是將多個交易捆綁成一個單一的證明。然后,這個合并的證明被提交到區塊鏈進行驗證。


這種方法顯著增加了交易吞吐量(網絡在一定時間內能處理的交易數量),同時不會犧牲網絡安全性。
為了更好地理解這一點,
想象一下你在組織一場音樂會。與其讓每個參與者一個接一個地通過一個狹窄的門(主區塊鏈),可能導致擁堵和延遲,你可以實施一種系統,在檢查點上同時驗證一組參與者。每組攜帶一個單一的票證,證明每個人都已經經過正確檢查和入場。這樣,通過減少入口處的阻塞,你既保證了安全性,又提高了效率。
ZK Rollups 通過在鏈下處理交易,并利用像 ZK-SNARKs 或 ZK-STARKs 這樣的先進密碼學技術來保障交易的有效性和隱私性,從而提升了整體用戶效率和安全性。
zk-SNARKs 是提供簡潔證明的 zk 證明(即證明大小短小且高效驗證),非常適合于注重證明大小和驗證時間關鍵的應用場景。
zk-STARKs 是允許更大規模和更復雜證明的 zk 證明,適用于大規模財務審計、數據隱私和驗證計算等應用。
ZK Rollups 是像以太坊這樣的區塊鏈網絡的完美擴展解決方案,因為它將交易在鏈下聚合成批次,減少直接提交給以太坊的數據量。
在以太坊上的 ZK Rollups 運作方式是利用密碼學技術在鏈下聚合和驗證交易,從而提升以太坊區塊鏈的可擴展性并降低成本。


以下是 ZK-Rollups 運作的逐步說明:
1)交易聚合: 用戶簽署并提交交易給 ZK-Rollup 運算器(序列化器),它們將這些交易聚合成批次。
2)鏈下處理: 交易在以太坊主網之外的鏈下進行處理(第二層)。
3)狀態更新: 在處理完一批交易后,ZK-Rollup 運算器為 rollup 狀態計算一個新的狀態根。
4)有效性證明: ZK-Rollup 運算器生成有效性證明,確保批次中的所有交易都按照協議規則正確執行。
5)鏈上驗證: ZK-Rollup 運算器將有效性證明和新的狀態根提交給以太坊智能合約,稱為 rollup 合約。該合約驗證并相應更新其狀態。
6)用戶交互: 用戶通過將 Token 存入以太坊主網上的 rollup 合約,啟動 rollup 內的交易,并在需要時將 Token 提取回主網。
7)退出機制: 用戶要將 Token 從 ZK-Rollup 提取到以太坊主網,需提交一個提取請求,并附帶一個 Merkle 證明,證實其在 rollup 狀態中擁有 Token 所有權。經 rollup 合約驗證后,Token 將轉回用戶的以太坊地址。
1)ZK Rollups 的優勢
以下是 ZK Rollups 的一些優勢:
A、提升的可擴展性:通過將多個交易捆綁成一個批次,zk-Rollups 每秒可以處理數千筆交易(TPS),顯著增加了與基礎層相比的吞吐量。
B、更低的手續費:由于 gas 費用分布在 rollup 批次中的多個交易上,每筆交易的成本降低,使用戶更經濟實惠。
C、以太坊級別的安全性:zk-Rollups 繼承了以太坊主鏈的安全性,因為它們向以太坊提交證明(zk-SNARKs),確保鏈下交易的有效性。
D、降低數據負載:通過僅向主鏈提交簡明的證明,zk-Rollups 大幅減少了需要在以太坊區塊鏈上處理和存儲的數據量。
E、增強的隱私保護:zk-Rollups 可提供改進的隱私功能。零知識證明可以隱藏交易詳情,同時證明其有效性,從而在公共區塊鏈上實現私密交易。
2)ZK Rollups 的缺點
盡管 ZK Rollups 帶來了許多優勢,但它們也存在一些缺點和挑戰。
以下是一些缺點:
A、復雜性:ZK Rollups 在技術上較為復雜,實施和維護需要專業知識。
B、數據可用性:確保重建狀態所需的數據在鏈上可用至關重要。如果數據不可用,可能會影響驗證和重建 rollup 狀態的能力。此外,zk Rollups 常依賴于鏈下數據存儲,如果數據丟失或無法訪問,可能會帶來風險。
C、計算成本:生成零知識證明(zk-SNARKs)需要大量計算資源,計算成本較高。
D、中心化風險:如果證明基礎設施由少數實體控制,仍可能存在中心化風險。
3)ZK Rollups 的當前使用案例
新的 ZK Rollup 項目每天都在涌現。以下是一些知名的 ZK Rollup 項目:


像 Starkware(開發許可和定制的二層擴展解決方案)、Aztec Network(使用 zkSNARKs 構建區塊鏈加密)、Argent(與 zkSync 集成的非托管錢包)、Immutable X(NFT 發行和交易平臺)、Loopring(以太坊上的 zk-rollup 交易和支付協議)等項目都在使用 ZK Rollups。
以下是 ZK Rollups 的不同應用方式:
- 在去中心化金融(DeFi)中:幫助用戶以更低的 gas 成本進行借代和交易。
- 在去中心化交易平臺(DEXs)中:促進更快、更具成本效益的 Token 交換,同時增強隱私保護。
- 在游戲和 NFT 中:增強用戶在數字平臺上的參與度,支持可擴展的游戲經濟和充滿活力的 NFT 市場。
- 在支付中:促進快速、低成本的微交易和跨境支付。
3、什么是 ZK Compression?
ZK Compression 是由 Light Protocol 和 Helius Labs 創建并推出的原始技術。它通過使用零知識證明和壓縮來減少鏈上成本,從而減少存儲在鏈上的數據量,以及在 Solana 上進行交易時的計算需求。
「原始技術」是指低級別的加密算法,作為更高級別加密算法的基礎或構建模塊使用。要更好地理解 ZK Compression,理解 Solana 的獨特架構和面臨的挑戰至關重要。
1)理解 Solana 上的「賬戶」
與以太坊不同,以太坊中智能合約和數據緊密耦合,Solana 使用一種模型,其中數據存儲在單獨的「賬戶」中。這些賬戶涵蓋了從可執行代碼到 Token 余額的各種數據。
在 Solana 上,一切都是賬戶。
雖然這種模型實現了 Solana 的高性能和并行處理能力,但也伴隨著一個代價:驗證者必須將所有活躍賬戶存儲在快速訪問的內存(RAM)中,這是昂貴的。
為了防止濫用并補償驗證者,Solana 實施了一個「租金」系統,用戶必須鎖定 SOL Token 以保持他們的賬戶活躍,租金金額與存儲數據的大小直接相關。


隨著 Solana 的流行,創建和維護這些賬戶的成本成為擴展的重要障礙,因此需要一種解決方案 — ZK Compression。隨著 ZK Compression 的出現,創建新的 Solana 賬戶的成本預計將顯著降低,可能會降低「數量級」。
如果某物的成本降低了「數量級」,意味著成本或努力大大減少,通常是相比之前降低了十倍或更多。
這意味著,創建和跟蹤加密貨幣余額的 100 個壓縮用戶賬戶(也稱為 Token 賬戶),其成本將比創建 100 個常規 Token 賬戶便宜多達 5000 倍。


這樣來理解:壓縮意味著將某物擠壓到占用更少空間。ZK compression 應用了這一原理,其中的「ZK」表示壓縮數據的隱私保護不受影響。
簡言之,ZK compression 只在鏈上存儲壓縮數據的「指紋」(哈希)。這種方法降低了存儲成本同時保持數據隱私。
與競爭對手所說的相反,ZK compression 不是 Solana 上的第二層鏈;它是一項升級,旨在改善 Solana 的數據存儲,并大幅降低開發者的成本。
ZK Compression 在 Solana 上的運作方式是直接面對這一挑戰,允許開發者將多個賬戶狀態壓縮成單個鏈上賬戶。


這是它的工作原理:
- 賬戶壓縮:多個賬戶狀態被遞歸地合并并哈希成一個緊湊的 32 字節「狀態根」。
- 鏈上與鏈下存儲:狀態樹是一個二叉 Merkle 樹,將數據組織成層次結構,能夠有效驗證數據的完整性。這個狀態根存儲在鏈上,而完整的賬戶數據則存儲在 Solana 分賬本的鏈下。
- 驗證證明:簡明的零知識證明確認了多個壓縮賬戶在狀態樹中的存在,維持了恒定的 128 字節大小。當交易需要訪問或修改壓縮數據時,它提供證明數據與鏈上狀態根相符。
- 驗證:證明在鏈上驗證,如果有效則允許交易繼續進行。 關鍵創新在于使用零知識證明,具體來說是 SNARKs(簡潔非交互式知識論證),用于壓縮在此過程中使用的 Merkle 證明。


這種壓縮將證明大小從可能的幾百字節減少到一個恒定的 128 字節,無論壓縮的賬戶數量多少。
這種數據大小的顯著減少使開發者能夠在 Solana 的交易大小限制內工作,同時在單個交易中與多個壓縮賬戶進行交互。
2)ZK?Compression 對 Solana 區塊鏈的優勢
以下是 ZK Compression 對 Solana 生態系統的優勢:
A、節能高效:減少存儲和計算需求降低了操作的能耗。
B、可擴展性:Solana 的數據壓縮提升了應用程序和交易的處理量,增強了整體可擴展性。
保持一層鏈安全性:與第二層解決方案不同,壓縮數據保留了 Solana 主鏈的全部安全優勢。
C、一體化環境:開發者可以在單一環境內構建和部署應用程序,無需跨層橋接,簡化了開發過程。
D、降低成本:通過減少鏈上存儲需求,降低了數據存儲成本。
E、可編程性:壓縮數據與 Solana 的智能合約完全兼容,保留了其實用性和可編程性。
3)Solana 區塊鏈上 ZK Compression 的劣勢:
A、計算復雜性:生成零知識證明需要大量計算資源,可能導致高昂的成本和較慢的性能。
B、實施挑戰:開發和實施 ZK Compression 需要專業的密碼學知識,存在一定的技術門檻。
C、可擴展性問題:盡管 ZK Compression 的目標是提升可擴展性,但計算需求有時可能抵消這些優勢,特別是在資源受限的環境中。
D、驗證開銷:驗證零知識證明雖然通常比生成它們的過程少消耗資源,仍需要計算資源。在某些情況下,這可能導致延遲,并影響系統的整體效率。
E、經濟成本:高計算需求會增加能耗和運營成本。這可能使得 ZK Compression 對某些應用經濟上不太可行。
4、ZK Compression 的使用案例
以下是 ZK Compression 的一些可能使用案例:
- DeFi 應用程序:Solana 上的 DeFi 協議如 Jupiter Exchange 可以利用 ZK Compression 來幫助降低費用并加快交易速度。
- 微支付:在像 Code 這樣的微支付解決方案中,ZK Compression 可以通過減少鏈上存儲需求使得在 Solana 網絡上的支付更具成本效益和可持續性。
- 去中心化網絡:諸如 Helium 這樣提供去中心化無線網絡的協議,服務數百萬用戶和設備。ZK Compression 在管理這些網絡產生的大量數據時發揮著關鍵作用,無需復雜的第二層解決方案。
- 游戲:ZK Compression 可以優化像 Honeyland 這樣的游戲中的存儲成本。所有游戲資產、游戲道具和 NFT 元數據的成本會降低,從而提升整體用戶體驗。
5、比較 ZK Rollups 和 ZK Compression
1)相似之處
- 零知識證明的使用:兩種解決方案均利用零知識證明來驗證和安全地處理鏈下交易。
- 提升可擴展性:它們旨在通過減少鏈上交易處理和數據存儲來提升區塊鏈的可擴展性。
- 第二層解決方案:兩者都被視為建立在各自區塊鏈之上的第二層擴展解決方案,以增加交易吞吐量并降低成本。
2)差異之處
- 區塊鏈平臺:ZK Rollups 在以太坊上運行,而 ZK Compression 實施在 Solana 上。
- 主要焦點:ZK Rollups 專注于聚合和處理鏈下交易以增強可擴展性,而 ZK Compression 主要通過數據壓縮來減少鏈上存儲成本。
- 實施方法:ZK Rollups 將多個交易捆綁成單個證明提交到以太坊的主鏈,而 ZK Compression 將多個賬戶狀態壓縮成 Solana 上的單個鏈上賬戶。
- 證明大小:ZK Rollups 使用 zk-SNARKs 或 zk-STARKs 生成簡潔的證明,而 ZK Compression 則利用 zk-SNARKs 將 Merkle 證明壓縮成常量大小。
- 交易處理:ZK Rollups 在鏈下處理交易并定期向以太坊提交證明,而 ZK Compression 則通過零知識證明處理鏈上的壓縮賬戶數據。
3)使用案例
A、ZK Rollups 的當前使用案例
- DeFi 應用:通過降低交易費用和提高交易速度增強去中心化金融協議。
- 去中心化交易平臺(DEXs):在保持隱私的同時促進高效的 Token 交換。
- 游戲:支持具有較低成本的可擴展游戲經濟和 NFT 市場。
- 支付:實現快速和低成本的微支付和跨境支付。
B、ZK Compression 的潛在使用案例
- DeFi 應用:為 Solana 上的 DeFi 協議降低費用并加快交易速度。
- 微支付:通過最小化鏈上存儲使得小額交易更具成本效益和可持續性。
- 去中心化網絡:高效管理去中心化無線網絡和物聯網應用程序產生的大量數據。
- 游戲:優化游戲資產和 NFT 元數據的存儲成本,提升用戶體驗。
6、小結
不管你是遭受了 Eth Maximysis,還是像我一樣堅定支持 Solana,最重要的是選擇適合你當前需求的區塊鏈。
我認為,對于需要高安全性并且受益于以太坊成熟生態系統的項目來說,ZK Rollups 是最合適的選擇,因為它們提供了一種可靠的方法來擴展以太坊,同時保持其去中心化結構。
另一方面,通過 ZK Compression,Solana 可以在不陷入困境的情況下處理更多的交易,即使 SOL 的價格上漲。因此,我認為 ZK Compression 在 Solana 上非常適合那些注重速度、性能和成本效益的應用。
Solana 支持高性能、成本效率高的去中心化應用(dApps),具有未來感,因為速度和成本對區塊鏈技術的廣泛采用至關重要。
總之,無論是?ZK?Rollups 還是 ZK Compression,都有助于使交易更快、更便宜,從而更具可擴展性。