DeFi的發展,在這加密貨幣的黑暗森林里,隱私保護的需求從來沒有比現在更加迫切。在DeFi積木瀕臨倒塌的時候,鏈上清晰可見的清算線和定點爆倉成了價格止不住下跌的重要推手。
對于網絡并發容量和隱私兩大難題,極客和開發者們進行了數年的探索。零知識證明技術,憑借其自身獨特的性質,如同透明、去中心化和不可篡改對于區塊鏈技術那般重要,自成體系地帶來了擴容和隱私問題的解決方案。本文將從零知識證明的定義和實現方案出發,以市場上的眾多熱門項目為例,探討它在擴容和隱私保護兩大領域的探索,從投資機構的角度,去思考這其中的投資機會。
目錄:
零知識證明的定義
零知識證明的實現
零知識證明的虛擬機
零知識證明和擴容
零知識證明和隱私
零知識證明的投資方向
我們用一張草圖,直觀地解釋零知識證明能夠實現什么。
Figure1:ProofwithoutZKPandwithZKP
從這張圖中,我們可以提煉出零知識證明的三個性質:
完備性:誠實的證明方,對"知識為真"這一論斷進行證明,肯定可以讓驗證方信服。
合理性:證明方無法將”知識為假“證明成“知識為真”。
零知識性:整個證明,驗證方除了”知識為真“這一論斷,不會獲得其他與知識相關的機密。
這三個性質用大白話講,那就是:真的假不了;假的真不了;未知是真的,未知依然未知。第三個性質換一種更加通俗的說法,我說了“什么是真的”,你驗證了“什么是真的“,但是你不知道什么是什么。
Figure2:零知識證明三個性質和兩個特性
前面兩個性質相對第三個性質容易理解和注意,而第三個性質非常容易混淆和忽略。
當證明和驗證雙方都知道知識的內容時候,是可以很容易地驗證“知識為真”的,但是,卻再也無法滿足證明要求的零知識性。反之,如果滿足了零知識性,我們又很難驗證。試想一想,我們怎么判斷證明和驗證的過程中,沒有泄露到任何知識內容呢?如果沒有泄露到知識內容,那么驗證者會相信知識是真的呢?畢竟,他連知識是什么都不知道,甚至于,可能連知識是否存在都無意識無感知!但事實是,知識必然要存在,反則,證明的“知識為真”根本無從發起!
Starknet:將于幾周內測試部署v0.12.1,預計Q4引入費用市場:7月12日消息,Starknet 在其社交平臺表示,隨著 v0.12.0 的主網上線成功,團隊將于幾周內測試部署 v0.12.1,該版本將繼續致力于提高網絡效率。此外,Starknet 表示將在 Starknet 0.13 中引入 Volition,使 dApp 開發人員能夠選擇自己所需的合約存儲安全級別,從而降低存儲成本。而四季度推出的 0.14 版本則將引入網絡交易費用市場,實現由當前網絡固定 gas 價格系統轉向「先到先服務」的交易處理系統。[2023/7/12 10:50:39]
我們用更具體的例子講講,例如,我們都相信中本聰肯定是存在世界的,不然,比特幣就無從出現了,但是,這么多年以后,我們并不知道中本聰是否存活在世界。假如中本聰依然存活,并且,他想告訴世人他還活著。那么,中本聰可以使用零知識證明向世人傳遞”我依然活著”,此時世界按照零知識證明驗證得知這個信息,但是并不會知道中本聰是否有使用到私鑰,是否登陸當年BitcoinTalk的賬號自證等。另一種場景是,中本聰在發明比特幣的時候,創世地址是擁有第一筆比特幣,當這個地址使用對應私鑰進行活動的時候,同樣可以傳遞中本聰依然活著的信息,但是這卻不再滿足了零知識性,因為,世人都知道中本聰依然活著,是因為他的私鑰發生活動。
簡單地說,零知識證明不僅可以保證知識的隱私性,也可以保證知識的有效性。這兩點直接決定了零知識證明在加密世界里的兩大類應用場景:隱私和擴容。當然,隱私場景會有更多細分應用,例如隱私支付、匿名投票甚至于隱私公鏈等,也可以通用地理解為資產支付型隱私和邏輯通用型隱私。至于擴容場景,使用的是零知識證明的完備性和合理性,以及其他技術手段共同實現的。
零知識證明的實現
零知識證明是使用很多數學和密碼學知識共同協作配合發明和實現的。在整個證明的實現上面,按照交互與否,可以分為交互式證明和非交互式證明。交互式證明是證明過程需要證明方和驗證方按照某種順序和規則交替進行,然后通過隨機概率完成證明。非交互式證明是證明方按照證明規則或證明過程,完整的一次性自行計算和提交所有證明資料,然后,驗證方可以直接用這些證明資料進行驗證。換一種極端的理解,非交互式證明是將交互式證明的多個步驟壓縮到一步交互即可。另外,非交互證明可以看作將整個實現拆分成為證明過程和驗證過程。
Starknet:本月將測試發布Starknet 0.12.1,允許區塊中包含失敗交易:7月10日消息,Starknet發推稱,作為Starknet Quantum Leap第一部分,Starknet alpha v0.12.0已部署在 Goerli 公共測試網上,目前正處于本周主網增壓前的最后測試階段。本月晚些時候,Starknet將開始實施和測試Starknet 0.12.1的發布,這是Starknet主網Quantum Leap的第二部分。該版本將引入另一個重大改進,即在區塊中包含失敗的交易。到目前為止,失敗的交易并未包含在區塊中,因此定序器無法收取費用并為其提前提供隨機數,給開發者帶來用戶體驗問題。此更改還可以保護定序器免受用戶向系統發送垃圾郵件而無需支付失敗的交易的影響。[2023/7/10 10:12:34]
下面,我們用兩個不同的場景模擬交互式證明和非交互式證明的差異。
簡化場景一,假設中本聰的創世私鑰重現人間,現在,要證明這個私鑰依然活動。
交互式證明的流程:
1,驗證方喊話創世私鑰證明方,你在某個區塊高度之后寫下一句話:HelloWorld。
2,創世私鑰證明方按照要求,等待某個區塊高度之后,向全網留言:HelloWorld。
3,驗證方在網絡里面驗證創世私鑰是否按照要求在某個區塊高度之后留言:HelloWorld。
4,重復1、2、3這三個步驟,當次數達到一定程度,從概率學角度可以判定,這個私鑰基本是活動的。
非交互式證明的流程:
1,某個設備/模擬器/圖靈機生成一個共享的、隨機的字符串xyz,然后將這個字符串公開,并且要求創世私鑰證明方以“xyz,HelloWorld”的形式,向全網留言。
2,創世私鑰證明方,按照設備/模擬器/圖靈機的規則,使用這個字符串xyz,加上自己的HelloWorld,向全網留言:“xyz,HelloWorld”。
3,驗證方拿著這個字符串xyz,看到創世私鑰的留言之后,直接判定這個私鑰是活動的。
社交投資平臺 Zignaly與Global Emerging Markets簽署至多5000萬美元融資協議:3月3日消息,社交投資平臺 Zignaly 宣布與 GEM Global Yield LLC SCS 簽署一項至多 5000 萬美元的融資協議。據悉,GEM Global Yield LLC SCS 來自投資集團 Global Emerging Markets (GEM)。Zignaly 首席執行官 Bartolome Bordallo 表示,該筆融資將用于新產品的開發和推動 Zignaly 平臺的全球推廣。(CoinDesk)[2022/3/3 13:35:40]
簡化場景二,假設張三懂高斯算法,李四不懂。
交互式證明的流程:
1,李四喊話張三,30秒內計算123...88878888。
2,張三拿著高斯算法,30秒算出結果,并告訴李四。
3,李四用自己最樸素的加法檢驗結果是否正確。
4,重復1、2、3這三個步驟,當次數達到一定程度,從概率學角度可以判定,張三懂高斯算法。
非交互式證明的流程:
1,某個設備/模擬器/圖靈機生成一個共享的隨機的整數x。
2,張三拿著高斯算法,直接計算123...(x-1)x的結果。
3,李四用自己最樸素的加法檢驗結果是否正確,若正確,張三懂高斯算法。
通過上面的例子,我們可以發現,非交互式證明比交互式證明有明顯的優勢:1,不依賴于特定的交互驗證方,是1個證明方對N個驗證方的極佳方案;2,不局限于交互時刻,可以隨時進行。但是,我們也注意到非交互式證明里面多了模擬器/圖靈機的存在!
這里,就引出了零知識證明的核心概念:模擬器/圖靈機。模擬器/圖靈機可以隱藏知識,但是依然保證“知識是真”可以順利進行證明和驗證。
為了實現非交互式證明的模擬器/圖靈機核心功能,現在的技術方案大概有:隨機預言和公共參考串,而其中公共參考串是廣泛使用的方案。我們認為,隨機預言和公共參考串沒有太大本質的差別。公共參考串CRS必須由一個受信任的第三方進行生成,然后共享給證明方和驗證方。這里,CRS的生成必須保證隨機可信,因此,產生CRS的環節也稱為可信設置,TrustedSetup。
StarkWare推出以太坊側鏈和StarkEx之間無需信任的轉賬方案:8月9日消息,StarkWare推出以太坊側鏈和二層擴容方案StarkEx之間無需信任的轉賬方案。StarkWare表示,在側鏈和L2之間轉移資金的需求越來越大,之前有兩種方案:另一種方案是從側鏈跨鏈至以太坊主網,再從以太坊主網跨鏈至二層網絡,這樣成本極高且低效;另一種方案是通過某個應用進行跨鏈,這樣快速又便宜,但涉及到信任問題。
StarkWare的方案為用戶向該方案的應用程序發送鏈下轉賬請求,應用將審核用戶在StarkEx上是否有足夠的資金,如果有則在側鏈上的互操作性合約中鎖定相應的資產,并通過合約將用戶在StarkEx上的資產轉移至應用程序在StarkEx上的賬戶中。此時用戶需要在指定時間內為轉移請求簽名,否則應用程序將會解鎖側鏈中的資產并將StarkEx上的資產返還給用戶。
StarkWare表示,StarkEx的客戶將很快適應該互操作性方案。關于其無需信任的去中心化ZK-Rollup StarkNet,StarkNet Planets Alpha 1已經在Ropsten上運行,計劃支持與其他生態系統(如側鏈)的互操作性。[2021/8/9 1:44:15]
我們可以用神來比喻模擬器/圖靈機,神是公立的,不僅可以幫助證明者隱藏知識,協助證明者完成證明,也可以辨識證明者是否偽造知識,協助驗證者順利驗證。神是完美無缺的,但終歸需要人去創造神,創造神的過程可以對應為:可信設置。另外,神是存在適用性的,也不一定是通用的,就像耶穌是西方的神,如來是東方的神。再往深的想,神也有可能不靠譜。
一切的證明始終得回到具體步驟。正如我們在解答數學證明題一樣,也有答題步驟。對于零知識證明來說,這個具體步驟有專業的術語:電路。至于QAP/QSP,布爾電路和算數電路,我們都簡單粗暴地將它歸為非交互式證明過程中的具體步驟即可。世間數學證明題千千萬,解題證明的時候,都需要編寫對應的解題步驟。同理,對于不同知識下面的零知識證明,電路也是需要專門編寫的。當然,也有某類知識的證明可以通過共用電路框架簡化編寫的過程。對于不同的數學證明題,我們要寫出單獨的答題步驟,而某一類數學證明題,我們可以寫出通用的答題步驟,甚至,有一類題目,我們可以直接引用另一類題目已經寫好的答題步驟/結論。。
加密交易所Bitrue將在年底前支持Spark(FLR)代幣交易:加密交易所Bitrue將在年底支持Spark(FLR)代幣交易。Bitrue表示, 將與Flare Networks團隊一起確定每個用戶有權獲得的Spark確切數量,并在分發后將搶先將這些代幣歸屬于用戶帳戶,并允許在XRP對上進行交易。[2020/12/9 14:43:01]
順著前面的數學證明題講講電路的位置
Figure3:電路的類比
至于其他的概念或者術語,例如一階約束系統R1CS、NP問題、多項式、多項式的知識、因式分解、模糊計算、信息、知識、電路可滿足性、完全安全、語義安全、不可區分性、映射、同態、有限域、循環群、Fiat-Shamir變換、ECDSA簽名......由于涉及到太過概念和數學計算,除非是數學和密碼學專家,不建議花費過多腦力和精力在這方面。我們只需要知道的關鍵信息是:不同的零知識證明實現方案在于可信設置的引入與否、可信設置的適用性以及電路的編寫難易。
對于不同的零知識證明實現方案而言,我們可以用證明方和驗證方的時間開銷和空間開銷,以及安全性,這五個維度是判定實現方案的優劣。
證明方的時間開銷:也即計算時間,決定證明的快慢;
驗證方的時間開銷:也即驗證時間;
證明方和驗證方的空間開銷:存在證明大小的概念,決定存儲的空間使用要求,也是常說的簡潔性所指;?
安全性:由于部分的協議需要引入可信設置,對應的實現方案在安全性方面會依賴可新設置。另外,可信設置也存在適用性的差異,也就是“永久型”和“一次型”之分。
實現方案的不同,最終分成了零知識證明的兩大派系協議:zk-SNARK零知識簡潔非交互式知識論證和zk-STARK零知識可擴展透明知識論證。
zk-SNARK:Zero-Knowledge?Succint?Non-interactive?Argumentsof?Knowledge。非交互式證明、需要可信設置,不同的實現方案在可信設置方面要求和效果也不一樣。從ZCash開始采用發展多年,并且有很多細分的優化實現方案,知名的項目有:ZCash、zkSync、Aztec等,因為時間較長,又誕生出大量的衍生協議:Schnorr協議,Pinocchio協議、Marlin協議,Sonic協議,Libra協議,PLONK協議、Spartan協議、BullteProof協議等。
zk-STARK:Zero-Knowledge?Scalable?Transparent?Argumentof?Knowledge。非交互式證明、不需要可信設置,抗量子計算、證明大小開銷很大。Starkware團隊發明和提出,有一些專用型的項目在應用,dYdX、Immutable和Deversifi。
參考區塊鏈不可能三角的說法,零知識證明的實現方案可以說是不完美三角,所有的實現方案雖然可以同時實現完備性、合理性和零知識性,但因為應用場景的要求,都是有某方面的取舍。或者更明顯的情況是,側重完備性和合理性時,零知識性的實現會弱化,甚至可能忽略。另外,零知識證明本身是沒有去中心化的屬性,如果這方面有要求,需要結合去中心化的設計。
零知識證明的虛擬機
在探討實現方案的不同后,我們接下來探討方案落地的關鍵。現在互聯網的應用和產品都是采用高級編程語言實現的程序。虛擬機/解釋器是程序執行的黑盒子,可以將程序轉換成為機器可以識別和理解的語言,然后代替機器運行程序。如果沒有零知識證明的虛擬機,我們在使用零知識證明技術編寫程序的時候,需要專門為程序編寫對應的實現電路。這類電路的編寫、測試和生產使用是非常困難和低效的。為此,要讓零知識技術的使用更加廣泛和高效,可以為程序生成證明的提交和驗證的零知識證明版虛擬機就是必然需要的。至于zkVM采納的高級編程語言到底是C、Java還是專門設計的電路編程高級語言,這些取決于zkVM的設計和能力。需要強調的是,zkVM是沒有硬性使用區塊鏈的要求的。
PolygonMidenDeepDivezkVM
對于zkVM而言,可以通用地支持程序是非常重要的,如果只能完成某類程序的虛擬機化,那這種zkVM的通用性將大打折扣。除了通用性以外,簡潔性、遞歸可用性、可組合性和易用性都是其他需要考量的指標。
這里主要舉例說明下遞歸可用性:
問題:假設計算機只支持兩位數相加,不支持多位數相加和相乘,計算123...99100?
非遞歸版解決:
12=3,33=6,64=10,...,4950100=5050
總共執行了99次相加。
遞歸版解決:
123...99100
計算1和的計算可以重新使用這種方法去解決,也就是(23...99100)轉換為計算2和(3...99100),如此循環以至符合兩位數相加的限制條件,即99100=199,然后用199去結束遞歸,算出結果。
遞歸可用性可以在解決問題的時候,直接重復使用解決問題的方案。這可以大大簡化實際問題的解決思路。
前面我們提到zkVM的使用和區塊鏈沒有硬性關聯,所以,接下來,我們會嘗試探索zkVM和區塊鏈的結合。首先,讓我們回到以太坊,這臺創新性提出智能合約的世界計算機,或者更技術范地說,分布式的虛擬機。廣義的EVM,可以等同于以太坊,包含的模塊有可變的機器狀態、只讀的EVM代碼、存儲的賬戶數據。狹義的EVM,可以指代以太坊虛擬機的只讀EVM代碼和EVM操作碼。
對于以太坊而言,全網在任何時刻都維護達成共識狀態的主鏈,這條主鏈由最長區塊進行決定。區塊里面的交易將會驅動以太坊的世界狀態發生變化。我們在抱怨網絡的交易吞吐量不夠以及隱私不足的時候,實際根源正是以太坊內部組件自身的瓶頸和缺陷。此刻,讓我們進行無比美好的憧憬,如果整個以太坊的所有模塊都可以進行零知識證明化,那么交易的執行計算不再需要由以太坊進行處理,以太坊單純只需要完成交易有效性的驗證即可,并且,以太坊內部賬號數據,可以根據需要選擇性地公開透明。這樣一來,以太坊的交易處理能力可以得到大大地釋放,鏈上數據的隱私能力也得以保證。配合當下零知識證明實現的多樣性,以太坊不用局限于某一類零知識證明的實現,可以兼容性地支持各個主流零知識證明的實現,保持自身的開放性和擴展性。
理想是美好的,但是事實總是骨感,甚至是殘酷的。以太坊在創立時候,是沒有考慮引入零知識證明的,所以,如果以太坊直接零知識證明化,將帶來最大的問題是,以太坊協議的大部分組成將會導致大量的零知識證明計算,這在本質上面并沒有發揮零知識證明的優勢。當然,以太坊協議本身是可以隨著時間和技術的發展發生迭代更新的。如同PoW轉成PoS這種劃時代性的共識機制變化,以太坊協議的零知識證明化在未來是有可能通過以太坊升級達成的。
創始人Vitalik發布文章:《ThedifferenttypesofZK-EVMs》。該篇文章與此前Scroll團隊、以太坊研究員JustinDrake提出的以太坊EVM分類有異曲同工之妙。我們可以從下面幾張圖更清晰地理解這些zkEVMs/zkVMs的設計和優缺點。
Figure?10
zkVM和zkEVM的研究和實現,面臨的實現難題不盡相同,也沒有先后依賴順序,因此是可以同步并行推進。具體到設計挑戰和解決方案,可以參考各家項目的資料和文檔。不同項目的對于zkVM/zkEVM選擇肯定有自己的考量,目前看來,大部分都會傾向優先zkEVM道路,畢竟以太坊擴容的剛需場景一直存在。另外,以太坊本身終極ZK目標是,全部兼容。這么一想,基于zkEVM進行研發的項目,未來或許都會進化成多樣的以太坊輕節點客戶端。至于zkVM,我們只能說,區塊鏈必然是它行進的伙伴,但它遠方的夢想也不止于區塊鏈。
參考資料:
?https://github.com/sec-bit/learning-zkp/blob/master/zkp-resource-list.md零知識證明學習資源匯總
?https://mp.weixin.qq.com/s/808jMXvIUqB973aVHrAzGQForesightVentures:解讀zk、zkVM、zkEVM及其未來
?https://www.odaily.news/post/5178462Scroll研究:zkEVM的設計挑戰和解決方案
?https://www.odaily.news/post/5177903LDCapital:一文縱覽ZK方案全明星項目
?https://mirror.xyz/cvalleylive.eth/Deag4YB_EYHaTDv0lc5iPhLpWxzMLG1tyC2GSTwJE4k萬字硬核解讀:ZK為什么重要?
?https://ethereum.org/en/developers/docs/evm/EthereumVirtualMachine
DearCoinUpusers:Inordertooptimizetheuserexperienceandimprovethesecuritylevel.
1900/1/1 0:00:008月8日消息,根據網站分析平臺SimilarWeb的數據,包括FTX在內的一些主要加密交易所,盡管經歷了2022年的熊市,但網站流量仍有顯著增長.
1900/1/1 0:00:00尊敬的用戶: 為給您提供更加豐富的交易品種,BitWell于新加坡時間2022年06月29日在現貨交易板塊創新區上線GalaxyHeroesCoin并開啟交易賽.
1900/1/1 0:00:008月10日消息,Coinbase首席執行官布BrianArmstrong在最新電話財報會議上表示,該公司并不專注于盈利,目前的重心是Staking業務.
1900/1/1 0:00:00親愛的ZT用戶: 為給用戶提供更好的交易體驗,ZT會對已上線項目進行嚴格審查,根據項目下架規則,ZT決定對ORE,DMCH,NWC,NAOS,MM,CART,SMTY,STEP.
1900/1/1 0:00:00Don''thaveacluewheretostartasabeginnerincryptotradingonGate.
1900/1/1 0:00:00