

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


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


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


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


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


這種方法顯著增加了交易吞吐量(網(wǎng)絡(luò)在一定時間內(nèi)能處理的交易數(shù)量),同時不會犧牲網(wǎng)絡(luò)安全性。
為了更好地理解這一點(diǎn),
想象一下你在組織一場音樂會。與其讓每個參與者一個接一個地通過一個狹窄的門(主區(qū)塊鏈),可能導(dǎo)致?lián)矶潞脱舆t,你可以實(shí)施一種系統(tǒng),在檢查點(diǎn)上同時驗(yàn)證一組參與者。每組攜帶一個單一的票證,證明每個人都已經(jīng)經(jīng)過正確檢查和入場。這樣,通過減少入口處的阻塞,你既保證了安全性,又提高了效率。
ZK Rollups 通過在鏈下處理交易,并利用像 ZK-SNARKs 或 ZK-STARKs 這樣的先進(jìn)密碼學(xué)技術(shù)來保障交易的有效性和隱私性,從而提升了整體用戶效率和安全性。
zk-SNARKs 是提供簡潔證明的 zk 證明(即證明大小短小且高效驗(yàn)證),非常適合于注重證明大小和驗(yàn)證時間關(guān)鍵的應(yīng)用場景。
zk-STARKs 是允許更大規(guī)模和更復(fù)雜證明的 zk 證明,適用于大規(guī)模財務(wù)審計、數(shù)據(jù)隱私和驗(yàn)證計算等應(yīng)用。
ZK Rollups 是像以太坊這樣的區(qū)塊鏈網(wǎng)絡(luò)的完美擴(kuò)展解決方案,因?yàn)樗鼘⒔灰自阪溝戮酆铣膳?,減少直接提交給以太坊的數(shù)據(jù)量。
在以太坊上的 ZK Rollups 運(yùn)作方式是利用密碼學(xué)技術(shù)在鏈下聚合和驗(yàn)證交易,從而提升以太坊區(qū)塊鏈的可擴(kuò)展性并降低成本。


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


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


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


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


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


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