隱私性在加密貨幣社區一直被視為非常有價值的特性之一,因為對於大多數加密資產持有者而言,他們不希望自己的資產和交易記錄被完全公開。而在提供隱私性的各項加密技術中,零知識證明(Zero-Knowledge Proof)技術是非常重要的存在之一。本文不涉及專業的密碼學知識,僅是對零知識證明進行理論表達,幫助讀者粗略地複原一下零知識證明系統的全貌及目前的發展現狀。
零知識證明技術發展
零知識證明概念
零知識證明(ZKP)是現代密碼學的一個重要組成部分,它指的是證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。零知識證明實質上是一種涉及兩方或更多方的協議,即兩方或更多方完成一項任務所需採取的一系列步驟。證明者向驗證者證明並使其相 信自己知道或擁有某一消息,但證明過程不能向驗證者洩漏任何關於被證明消息的信息。通俗的來講就是:既證明了自己想證明的事情,同時透露給驗證者的信息為”零”。
零知識證明本身涉及到的是比較複雜的密碼學算法,但是為了讓大家對零知識證明有一個理論上的了解,我們引用一個【找熊貓】的例子:
一群人在這張圖中找一隻熊貓,小A率先發現了熊貓位置,但是他不能立馬公開指出來,因為這樣就破壞了其他人的遊戲體驗。
有沒有什麼辦法,即能夠證明小A知道熊貓在哪兒,又不會讓其他任何人知道答案呢?
於是小A找來一張超級大的白紙,並把這張紙隨意地覆蓋在有熊貓的圖片上。然後,小A在白紙上剪出一個小洞,只讓熊貓露出來。
這樣,熊貓的位置作為關鍵信息,是被保護起來的,但小A還是能夠在不讓其他人知道熊貓在哪兒的前提下,證明自己找到了熊貓,這就是零知識證明。
零知識證明的驗證方法強調的是完備性和可靠性。完備性原則是指,證明者能夠說服證明者接受一條正確的陳述;可靠性原則是指,證明者不能說服驗證者接受一個錯誤的陳述。但事實上,可靠性仍然是概率性的,只是說證明者要作弊的可能性極其低。
因為零知識證明的可信度會取決於兩個因素:一是證明的難度,二是交互的程度。證明的難度即直接從數學性質上增加證明的難度;交互的程度是指驗證者需要不斷對證明者進行提問,再由證明者證明,隨著交互次數的增多,證明者要欺騙驗證者的難度也會增加,因為證明者在不知道正確信息下提供正確證明的概率在統計學上是遞減的。
零知識證明理論演變
零知識證明概念最初是由S.Goldwasser、S.Micali及C.Rackoff在1985提出的,他在其論文中引入“交互”和“隨機性”,構造了早期【交互式證明系統】。交互式證明會要求驗證者不斷對證明者所擁有的“知識”進行一系列提問。證明者通過回答一系列問題,讓驗證者相信證明者的確知道這些”知識”。這樣產生的問題越多,交互的次數就越多,但是這樣的方法並不能使人相信證明者和驗證者都是真誠的,兩者可以提前串通,以便證明者可以在不知道答案的情況下依然通過驗證。
在隨後的十幾年裡,有不少傳奇的密碼學家為零知識證明系統的發展做出重要貢獻。比如M. Blum, P. Feldman, and S. Micali指出了”交互”與“隱藏隨機性”並不是必要的,繼而提出基於公共參數CRS (Common Reference String)模型的【非交互式零知識證明系統】。非交互式證明即證明者不需要和驗證者進行交互,系統內會需要事先設置一組公共參數,交易依靠零知識證明的公共參數進行構建和驗證。這也就意味著證明者可以獨立生成證明,避免了證明者和驗證者串通的可能性。
2010年,Jens Groth提出一種在當時頗具爭議性的指數知識假設(Knowledge of Exponent Assumption),通過把一些秘密隨機值隱藏到CRS中,將證明長度縮短到常數級別。這個過程可以理解為創建了一個只有系統“知道”的秘密,而任何了解如何生成該公共參數的人都可以偽造證明,這一過程就是【初始化可信設置】。該方案雖然大幅縮減了證明長度,但是也帶來了一些安全風險,因為任何了解如何生成該公共參數的人都可以偽造證明。不過,這一方案確立了未來十年最重要的零知識證明技術分支。
而伴隨著零知識證明理論的不斷發展,密碼學家們開始在工程化方向上深入研究。 2013年,Rosario Gennaro,Craig Gentry等人在Jens Groth 2010年工作的基礎上,做出更加優化的改進方案,大大縮短證明時間,並且將證明長度縮小到更加小的常數級別。隨後,Parno等人在此基礎上實現了一個叫做Pinocchio的可驗證計算協議,並且繼續做了優化和改進。
2014年,加密隱私貨幣ZeroCash誕生了,Eli Ben-Sasson, Alessandro Chiesa等人稍稍改進了Pinocchio協議,這是零知識證明技術在區塊鏈領域的第一個成功實現。 ZeroCash就是Zcash的前身,Zcash團隊也在零知識證明工程化方面做出了比較大的貢獻。
零知識證明發展現狀
零知識證明技術與Zcash的結合,讓人注意到其在區塊鏈領域能夠發揮的巨大作用,也是零知識證明技術從理論走向應用的重要實踐。
零知識證明目前主要有以下幾種方案,每種方案都代表著不同的零知識證明實踐,不同的實踐也會產生不一樣的效果,主要體現在安全性、證明尺寸、計算速度和驗證速度上。
橫軸代表證明尺寸的大小,縱軸則代表安全性假設。其中,安全性最高的是STARK算法,該種算法不依賴數學難題假設,具有抗量子性;證明尺寸最小的是SNARK方案中的Groth16算法;PLONK也是SNARK方案中的一種,安全性和證明尺寸都處於適中。目前應用最廣泛的就是zk-STARK和zk-SNARK兩類。
-
zk-SNARK
SNARK(Succinct Non-Interactive Argument of Knowledge)是簡潔非交互式知識論證的縮寫。該種方案的特性是簡潔的,即驗證過程不涉及大量數據傳輸以及驗證算法簡單,這就意味著驗證時間不會隨著運算吞吐量而成倍增長。其次,非交互式知識論證是從證明者到驗證者的單條信息,會讓整個驗證過程變得更加高效。而Groth16是目前驗證速度最快、數據量最小的zk-SNARK,Zcash是其首個廣泛實現。 Groth16是在Pinocchio協議上做了進一步優化,在略微加強安全性假設的情況下,把證明尺寸壓縮了將近一半。
但是Groth16方案的備受爭議的一點就是【初始化可信設置】,因為CRS中隱藏的隨機值通常是有小部分群體制定的,因此可能存在信任問題。而且,理論上來說,如果證明者擁有足夠的算力,就可以提交假證明,從而影響整個系統的安全。這也是為什麼量子計算機被認為可以威脅這種算法的原因。所以,【初始化可信設置】也是其它零知識證明技術努力嘗試克服的最核心問題。 PLONK算法也是針對可信設置做出的改進,我們會在後文詳細論述這兩種算法的差別。
為了解決這個問題,斯坦福密碼學家Benedikt Bünz等人提出Bulletproof(防彈證明)技術,相比較早的zk-SNARK,不需要初始化可信設置,但是計算和驗證時間都比STARK長,但是證明尺寸比STARK小得多,該種方案一經提出就被Monero項目採納。
-
zk-STARK
STARK(Scalable Transparent Argument of Knowledge)是可擴展的透明知識論證,是作為SNARK的替代版本而創建的。與SNARK的Succinct的“S”不同,STARK的“S”代表的是Scalable(可擴展性),主要表現在STARK生成證明(Proof)時間複雜度近似於計算的複雜度,而驗證證明(Verify Proof)的時間複雜度遠小於計算的複雜度。也就是說隨著STARK擴展性提高,STARK的證明復雜度並沒有相應增加。
但更重要的是,STARK不需要進行初始化可信設置,因為它們依賴於通過哈希函數碰撞進行更精簡的對稱加密方式。這也是STARK中【透明】(Transparent)的部分。
STARK相較於SANRK的第三個改進是抗量子計算,意味著其並不會被量子計算破解。當然,這些改進同時也伴隨著犧牲。相比於SNARK,STARK更加複雜,證明大小從288字節增加到幾百KB,而且消耗的以太坊驗證手續費也更高。
-
可信設置的零知識證明方案
基於可信設置的零知識證明系統雖然需要生成公共參數,但是在運算成本以及證明大小上被證明具有自己的優勢,因此仍然是許多面向隱私的區塊鏈應用的首選工具。可信設置零知識證明系統的安全性很大程度上可以歸結為公共參數生成的安全性,而以受信任地中心化方式生成這些參數是可能的,但是與去中心化的目標不兼容。到目前為止,可信設置中使用的首選技術是多方安全計算(MPC)。
MPC方案試圖確保沒有任何一方能夠生成或能夠獲取關於這些參數的底層數學結構的知識。其通過要求生成過程在盡可能多的獨立參與者之間共享來實現這一點,只有少數人(甚至是一個人)需要誠實行事,以確保設置安全。顯然,使用MPC時,參與者的數量越多,參數的安全性越高。
Zk-SNARK就是可信設置的零知識證明方案,但是在這其中也演化出不同的算法。 Groth 16和PLONK是現在採用最多的可信設置零知識證明方案,二者的區別在於:
Groth16是驗證速度最快和數據量最小的方案,但是由於Groth16的秘密計算與特定的問題相關聯,每次需要通過根據不同的問題,重新開啟一輪MPC可信設置。而需要多方參與的計算協議通常是極為繁瑣的,這就非常影響Groth16的性能。
PLONK是Sonic的改進版,證明時間縮短5倍。 Sonic是一種可更新的全局CRS方案。 ,所謂可更新是指,可信預設置可以隨時進行更新,只要大家懷疑秘密已被洩露。所謂全局,是指計算過程不再與CRS綁定,一個應用只需要完成一次可信預設置即可實現不同的零知識證明電路計算。也就是說,可信設置只需設置一次,除了進行更新外,不用每次根據不同問題再去舉行新的MPC。下圖為Groth16和PLONK性能對比:
PLONK算法由來自於Protocol Labs的研究員Gabizon和以太坊隱私交易協議Aztec Protocol 的兩名研究人員合作完成。 PLONK的提出晚於Groth16,在證明大小和驗證速度上與Groth16有一定差距,但是基於可更新的可信設置這一特點,使PLONK算法在零知識證明領域佔據了一席之地。
零知識證明技術應用
零知識證明技術的兩個重要特點是其能在區塊鏈領域得到應用的主要因素:1)零知識證明能夠保護數據的隱私性,在不洩漏數據信息的條件下對其進行證明;2)零知識證明僅需要生成很小數據量的證明就可以完成對大批量數據的證明,在壓縮數據量、提高性能方面可以發揮很大的作用。
因此,零知識證明作用的兩個方向是:
隱私保護
隱私保護一直都是區塊鏈中一個極為重要的概念,代表了在分佈式網絡中保護交易和參與者的能力。雖然區塊鏈一直推崇匿名性,但在多數交易中,交易參與者雖無需使用真名,但是仍然可以通過重複使用公鑰哈希值作為交易標識,從而識別交易者,所以這類交易僅僅具備了化名性,並沒有實現真正的匿名。默認情況下,用戶的每一筆交易都是公開的,一旦被鎖定了某個用戶地址,就可以根據該地址查看其資金來源、計算持倉甚至分析用戶的鏈上活動。
零知識證明技術則可通過提交不透露任何信息的證明,確認交易的有效性,實現交易信息的完全匿名。在強調加密隱私性問題的發展時期,眾多開發者投身於隱私公鏈的探索中,零知識證明的隱私保護和數據壓縮能力是其成為公鏈組成技術的重要原因。這一時期,Zcash、Monero等項目都大放異彩。
以Zcash為例,ZCash 最早採用的是Pinocchio協議,2019年切換到了Groth16證明系統。 ZCash 錢包地址分為隱蔽地址和透明地址兩種。透明地址之間的交易與比特幣交易沒有區別:發送者、接收者以及交易金額都是公開可見的;隱蔽地址之間的交易也會出現在公有區塊鏈上,但交易的地址、資金的數額以及備註字段都是被加密過的,再由zk-SNARK 證明在網絡共識規則下驗證交易的有效性;另外,隱蔽地址和透明地址之間也是可以進行交易的。 Zcash 在保護交易隱私的同時還是保持了對審計及監管的友好,隱蔽地址交易的發送者和接收者都可以公開交易細節給第三方,用於滿足見證、合規或審計需求。
擴容
“不可能三角”是以太坊這樣的L1區塊鏈面臨的永恆難題,不同的鏈也總在去中心化、安全性和可擴展性之間尋找平衡。以太坊更側重於去中心化和安全性,因此不得不面臨可擴展性方面的限制。以太坊上的gas費用之高、交易確認時間長都在很大程度上影響了其使用體驗。因此,其核心開發團隊和社區一直在探索各類擴容方案。
有兩種方法可以對區塊鏈進行擴容:
-
對L1層區塊鏈本身進行擴容,方法包括增加區塊大小,或者進行分片,即將區塊鍊網絡中的節點分成若干個相對獨立的分片,單個分片負責的處理規模較小,甚至只存儲部分網絡狀態,多個分片並行處理事務,理論上整個網絡的吞吐量將會提升。然而,這樣的方式會帶來去中心化程度上的犧牲;
-
將L1層網絡上的交易轉移至L2層, L2層對交易進行匯集,然後發送至L1層網絡進行結算。這樣,每一批交易付一筆gas費用,而不是每筆交易都付gas費用。因此,所有交易對gas費用進行平攤,有效降低了每筆交易的費用。這樣,L1就成為了L2上所有執行交易的結算層。 L2層擴容方案可以在不犧牲去中心化和安全性的同時,L1的解決可擴展性的問題。
當然,L2層擴容方案也經歷了狀態通道到Plasma再到Rollup的演化。目前,Rollup是最主流也是最有發展潛力的L2。 Rollup 是指先在鏈下進行複雜的計算和狀態維護,再將與狀態更改相關的數據通過合約調用的方式,利用更便宜的CALLDATA 在鏈上保存數據,將大量交易匯總打包成一個交易,最終在保證了【數據可用性】的前提下提高TPS。
Rollup方案的共同點是強調鏈上數據可用性,即任何人都能根據鏈上保存的數據,復原出全局的狀態,從而消除數據可用性問題帶來的安全風險。零知識證明發揮作用的一點正是在壓縮鏈上計算量的同時保障了數據正確性。
ZK Rollup方案起源於18年下半年,該方案的關鍵在於ZK,它的每一次的狀態轉變都需要提供零知識證明,並由主鏈上的合約進行驗證,只有驗證通過才能更改狀態。即,ZK Rollup 的狀態轉變嚴格依賴於密碼學證明。 (注:ZK Rollup原理詳解推薦李畫的《一文理清Layer與跨鏈方式》)
當然,也有其它的Rollup方案,比如Optimistic Rollup ,該方案形成於19年下半年。它的每次狀態轉變無需嚴格驗證,它是先樂觀地假設每次轉變都是正確的,然後在一定時限內可以對某次轉變進行挑戰,如果挑戰成功就證明之前的提交有問題,會懲罰提交者並將狀態回滾。即,Optimistic Rollup 的狀態轉變依賴於經濟激勵和博弈。
ZK Rollup的突出問題在於難以實現可編程性上,不過ZkSync的虛擬機及其相關設計能夠讓可編程性落地;Optimistic Rollup 最被關注的問題似乎是當資金從Layer 2返回時,因為挑戰期帶來的延時問題,但可以有中間商提供墊付服務,因此,Optimistic Rollup方案落地更快。
二者之間性能對比如下圖所示:
相較Optimistic Rollup ,ZK Rollup方案技術上複雜度非常高,需要大量的運算,交易的時延也會變長,運算成本更高昂,不過每筆交易手續費更低,而且驗證比運算成本低很多,這樣的簡潔性為擴容提供了條件。
依據I2beat.com最新數據顯示,二層方案鎖定資產規模約在67億美元左右,其中Optimistic Rollup二層擴容方案是由Arbitrum和Optimism提出並首先推向市場,目前佔據了二層方案的半壁江山。零知識證明方案鎖定的資產規模僅約17億美元,原因在於技術實現難度更大,生態應用搭建還未真正落地。
零知識證明方案明星項目
早期的零知識證明項目Zcash、Monero雖然在隱私保護方面做得很好,但是只能作為一種價值存儲手段,難以搭載其它應用。隨著眾多開發者的努力,他們正試圖將零知識證明與智能合約相結合,探索零知識證明技術的更大潛力。當前的應用大致可以分為如下三類,我們本節內容會為大家介紹一些非常值得期待的零知識證明項目,且其中多數還未發行代幣。
Mina
Mina成立於2017年,曾用名Coda Protocol。其開發團隊為O(1) Labs,其團隊目前由世界級的密碼學家、工程師、博士和企業家組成。
Mina專注於構建輕量區塊鏈,相比以太坊和比特幣動輒幾百GB的區塊空間,Mina的區塊大小會維持在22 KB,這就可以使得大多數人參與並成為節點。低門檻的節點部署,更容易普及到各類用戶,用戶易接觸到節點和部署節點,也會讓網絡更加分佈式,安全性也相應的得到提高。
Mina能做到恆定區塊大小的核心是使用了【遞歸零知識證明】,即在每次區塊生產時,利用zk-SNARK技術將區塊壓縮為單個證明,並且每個新的SNARK證明都包含過去的SNARK證明,節點只需檢測該證明即可,因此不需要檢測整個交易歷史記錄。
但這只是第一步,區塊鏈的一個特性是每個區塊都需要引用上一個區塊,因為如果只是為每個區塊生成SNARK證明,其整體容量還是會線性增長。所以,Mina會為SNARK創建SNARK(也就是遞歸),然後不斷進行迭代和嵌套,將這些SNARK證明以遞歸結構鏈接在一起,實現讓區塊保持約22 KB的恆定大小。
另外,Mina圍繞著零知識證明搭建了一個可保護數據隱私的生態系統,其生態應用Snapps(現已更名為zkApps)可針對部分場景實現特定的業務邏輯,也可以通過轉接橋,與其他公鏈進行合作,增強互操作性,讓整個區塊鏈生態互惠共贏。而且具備輕量級節點這一特性,目前只有Mina在該領域進行開發。
融資背景
2022年3月,Mina宣布完成有FTX Venture和三箭資本牽頭的9,200萬美元戰略融資,這些資金將用於通過吸引世界級的開發人員來加速Mina作為Web3內領先的零知識證明平台的採用。
在此之前,Mina曾進行過四輪融資,融資金額約為4,815萬美金,參投方包括Coinbase Ventures、Polychain Capital、Three Arrows Capital、Paradigm、Multicoin等頂級機構,優秀的投資機構往往會更加關注長期價值,而且這些機構多數自帶IP流量,對Mina未來市場的主動拓展非常有利。
ZkSync
zkSync是由Matter Labs團隊構建的項目,該團隊成立於2019年12月,主要以以太坊擴容為目標。 zkSync 1.0 是以太坊上的一個ZK Rollup(零知識證明) L2 擴容解決方案,主要聚焦於支付,於2020年6月上線以太坊主網。 zkSync一開始採用的SNARK算法是Groth 16 ,使用Groth 16,不僅僅需要一次可信設置(比如zkSync創世之初),而且zkSync上每次有新的應用升級都需要進行可信設置。這也為zkSync 1.0創建EVM兼容環境製造了障礙,因此zkSync 1.0只是限於特定應用,比如支付等。
zkSync 2.0則是構建於以太坊之上可兼容EVM的L2解決方案,也被稱為zkEVM,因為它重新編譯了EVM代碼並用零知識證明來校驗Rollup交易,允許開發者使用以太坊的本地編程語言在一個低gas費、高度擴容的L2環境構建和部署去中心化的應用。
2021年5月,zkSync發布zkEVM的Apha版本,並且期望主網可以在2021年8月份上線,但由於技術難度而被推遲。 2022年2月,zkSync 2.0公共測試網上線。 zkEVM已經發布,這是以太坊測試網上第一個兼容EVM的ZK Rollup。
融資背景
2021年3月,Matter Labs完成了由Union Square Ventures領投的600萬美元A輪融資,其它知名投資機構包括Placeholder和Dragonfly。這輪融資更令人注目的是同時引入了非常多的生態合作夥伴,其中不乏加密貨幣領域中最知名的公司和創始人。
2021年11月,Matter Labs又完成了由A16Z領投的5,000萬美元B輪融資,其它戰略投資者中還包括了不少中心化交易所(Blockchain.com, Crypto.com, ByBit, OKEx)。在融資宣發後不久,這些交易所紛紛宣布與zkSync達成合作,支持交易所與L2之間的充值/提幣。
StarkWare
StarkWare團隊成立於2018年5月,其團隊由世界級的密碼學家和科學家組成,核心成員是Zcash的前首席科學家,多年來在零知識領域開拓創新,zk-STARK技術正是由該團隊在2018年的一篇學術論文中提出。該論文作者隨後創建了StarkWare。
StarkWare與zkSync一樣都是零知識證明擴容解決方案的玩家,但是StarkWare是基於STARK。 STARK的問題在於其技術不如SNARK成熟,並且如果它實現了圖靈完備,就很難與EVM兼容。 StarkWare創建了一種特定的編程語言Cairo來運行由STARK支持的自主型程序。並且StarkWare 團隊現在正與Nethermind團隊合作創建代碼轉譯器Warp,將Solidity 智能合約無縫轉換為Cairo,以便使其與EVM 兼容。
StarkWare推出StarEx,並允許創建由Cairo和STARK提供支持的應用專用型的ZK Rollup。 dydx、Immutable、Deversifi是由StarkEx支持的3個主要應用。到目前為止,StarkEx已經通過這些應用處理了超過500萬筆交易,價值超過2,500億美元。
2021年11月29日,他們發布了StarkNet的主網Alpha版本。 StarkNet是一個ZK Rollup二層應用網絡,計劃發展自己的生態系統。
融資背景
StarkWare總共進行過四輪融資,融資金額超過1.6億美元,參投方包括眾多頂級機構,如Paradigm、Polychain、紅杉資本、IOSG等,天使投資人包括以太坊創始人Vitalik Buterin(V神),備受加密圈子青睞。
Aztec
Aztec團隊成立於2018年,其團隊成員多為世界一流高校的博士,團隊中也有來自Zcash前研究員,技術背景很強,其自主開發的PLONK算法被業內多家項目採用。
Aztec也是通過ZK Rollup技術解決以太坊的擴容問題,自項目成立到Aztec 2.0上線,團隊一直在對PLONK算法進行深入研究,期間發布了PLONKUP等零知識證明算法,V神也對該團隊的研發能力推崇備至。
Aztec網絡主要有兩個作用,一是保障用戶交互的時候的隱私性,二是用戶可通過Aztec提供可編程的隱私合約,建立完全隱私的應用。
Aztec 2.0上線後,推出zk.money私人轉賬應用,發送和接收代幣是匿名的,通過遞歸零知識證明加密交易,不會公開發布任何交易數據,以保護用戶的隱私,但是目前只能為用戶進行存款轉賬。 Aztec Connect作為第一個隱私跨鏈橋目前也上線測試網。
Aztec項目發展至今大概為三個階段:第一個階段為Aztec 1.0,是以太坊上的隱私交易工具;第二個階段為Aztec 2.0,通過zk-Rollup的方式,成為以太坊的隱私二層,為以太坊帶來可擴展性隱私;從現有披露來看,未來第三個階段為Aztec 3.0,通過Noir隱私編程語言,實現以太坊二層的隱私智能合約。但大部分zk-Rollup二層項目面臨的問題都是EVM兼容問題,Aztec網絡目前還是無法兼容EVM,這會導致很多項目去構造隱私智能合約的難度和成本加大。項目方也有披露,在通過技術研究改善這個問題。
融資背景
2018年11月,Aztec進行了由ConsenSys Labs 領投的210萬美元種子輪融資。 2021年12月,Aztec完成由Paradigm領投,IOSG等參與的A輪1,700萬美元融資,其中包括天使投資人Stani KulecFhov,其為藉貸龍頭項目Aave創始人。該輪融資將被用於繼續開發ZK系統,以及繼續完善Aztec Connect,據其說明,該橋進行隱私交易時可以節約高達100倍的gas費。
Aleo
Aleo項目於2019年正式成立,團隊成員由來自谷歌、亞馬遜和Facebook 等公司以及加州大學伯克利分校、約翰霍普金斯大學、紐約大學和康奈爾大學等研究型大學的世界級密碼學家、工程師、設計師和運營商組成。
Aleo通過結構建的zkCloud體系屏蔽身份和屏蔽交易,被屏蔽的身份可以直接(如資產轉移)或以編程方式(通過智能合約)進行互動。在典型的公共區塊鏈中,程序執行發生在由每個網絡節點運行的全局“虛擬機”(VM)中的鏈上。因此,網絡中的每個節點都必須重新計算(並集體同意)給定程序的每個步驟。這不僅效率低下,而且會降低速度並增加最終用戶的成本。 zkCloud 通過將應用程序運行時與區塊鏈維護的狀態分離(鏈上+鏈下)來克服這些限制,結合遞歸零知識證明,使得Aleo能夠實現完全的可編程性和隱私性,以及更高交易吞吐量。
Aleo為了讓發者體驗更好,所以構建了對零知識證明應用開發更友好的程序語言Leo。 Leo 是一種受Rust啟發的靜態類型編程語言,專為編寫私有應用程序而構建。除了開發者環境友好,它們也推出了開發者激勵計劃以及測試網激勵措施,幫助Aleo初期生態的發展。
融資背景
2021年4月,Aleo完成2,800萬美元的A輪融資,本輪融資由a16z領投,Placeholde 、Galaxy Digital、Variant Capital和Coinbase Ventures 參投。
2022年2月,Aleo宣布完成2億美元的B輪融資,是目前零知識證明賽道內單筆最大的融資數額,由Kora Management LP和SoftBank Vision Fund 2牽頭,Tiger Global和Sea Capital參投。
小結
零知識證明技術目前在區塊鏈領域誠然已經佔據了非常重要地位,但是發展至今,尚未完全成熟,各個方案在抗量子計算、性能優化等方面都存在一些不足,與EVM的兼容也是目前的一大難題。不過,當前的零知識證明方案正處於快速發展時期,zkSync、Starknet等項目也為區塊鏈的發展帶來更多可能性。
參考資料
1. 《零知識證明技術發展報告》,陀螺研究院,安比實驗室
2. 《什麼是零知識證明? |ZK 科普系列(一)》,ZK愛好者
3. 《【公開盡調】深度報告:Mina》,頭等倉
4. 《Layer2的發展以及zk-Rollup的崛起| ZK科普系列(二)》,ZK愛好者
5. 《一文理清Layer與跨鏈方式》,李畫
6. 《【密碼專欄】超強進階:PLONK VS Groth16(上)》,趣鏈科技