TL;DR
零知識證明技術,可以保證計算的完整性、正確性和隱私,在區塊鏈擴容和隱私中有應用.
zk-SNARK和zk-STARK各有優點,而它們的合理結合更加有潛力.
zkVM能賦予應用零知識證明能力,zkVM分為使用主流、EVM或全新指令集.
EVM的適配包括EVM兼容性、等同性和Specification上的適配.
zkEVM是兼容EVM而又零知識證明友好的環境,主要分為原生和編譯流派.
基于原生的zkEVM是以太坊和區塊鏈的未來.
支持Solidity生態的通用zkVM是Web3的未來.
0.零知識證明
不嚴謹但簡單易懂地來介紹一下零知識證明:
你在上小學.老師是驗證者,你作為學生是證明者.你如何證明你掌握了一元二次方程的求解公式呢?那就需要數學考試.
老師會隨機出10道相關的題目,而你如果掌握了,則可以把他們都做出來.在這個過程中,你沒有背誦或者默寫求解公式的具體內容,但是老師卻可以很簡單地驗證你的知識掌握程度.
其實這就是Tartaglia與Cardano(對的,就是這個名字)爭奪誰是一元三次方程發現者時所采用的方法.他們都不想告訴對方自己公式的內容,但是通過做題,就可以很容易地驗證且過程中不透露知識地,判斷他們是否掌握了這一知識.
Terraform Labs的內部法律團隊在Terra崩盤不久后辭職:金色財經消息,Terraform Labs的內部法律團隊在Terra的算法穩定幣崩盤對加密市場造成嚴重破壞后不久辭職。一位知情人士稱,法律業務現在由外部律師處理。(THE BLOCK)[2022/5/18 3:23:45]
零知識證明有什么用呢?用處就是,整個過程可以節省計算算力和壓縮鏈上空間,同時也可以對隱私有保護,符合區塊鏈去信任的特點以及密碼學的基因.
1.SNARK和STARK
區塊鏈領域中所用到或者提到的“zk”通常不是真正的零知識證明,而經常是ValidityProof.由于相關詞匯的混亂,所以本文中的某些地方會延續這些“誤用”.
在目前的區塊鏈版圖中,zk可以說是區塊鏈擴容(不zk的ValidityProof)與隱私技術(真正的zk)的最前沿與最優解決方案,在Tornado.cash,ZCash,zkSync,zk.money,Filecoin,和Mina等項目中都有使用.
目前的技術方案主要分為SNARK以及STARK兩類.?STARK中的S代表可擴展的,意味著被證明的語句有重復的結構,而SNARK支持任意的電路,這些電路被預處理以實現簡潔的證明.?其中對SNARK的技術實踐占據了主導地位,STARK主要有StarkWare在已上線的產品中大規模采用.以下是它們之間的對比.
Ampleforth 社區正式啟動去中心化自治組織 FORTH DAO:4月17日消息,算法穩定幣項目 Ampleforth 社區正式啟動去中心化自治組織 FORTH DAO,負責管理 Ampleforth 協議,包括用于支持應用程序和生態系統持續增長和發展的金庫資產,目前管理大約 2210 萬美元資產。[2022/4/17 14:29:33]
從Meme的角度而言,STARK比SNARK優秀(?,StarWars,StarTrek).
如果SNARK是以太坊2.0的未來,那么STARK就會是以太坊3.0的未來.正經的來說,STARK的優勢在于
更低的gas(更能scale)
更大的batchsize(更能scale*2)
更快的證明(更能scale*3)
沒有trustedsetup(生成的參數僅對當前的應用有效,若出現了修改需要重新setup)
后量子安全
但是STARK生成的證明的體積更大,并且還大不少,由于比如WASM的一些限制,可能會在構建時需要額外的操作?(這里是SNARK).Mir前段時間在Starky給出了一個?AIR-basedSTARK?的實踐,是?Plonky2?的一部分(Plonky2和Starky的關系比較復雜...).我個人認為,體積大可以通過各種手法來優化,但是算法本身的時間復雜度是很難再進一步壓縮的.
Force DAO官方:已了解xFORCE合約漏洞,將公布后續行動:官方消息,DeFi量化對沖基金Force DAO表示,團隊了解xFORCE合約漏洞,并確定了問題的本質。xFORCE合約上沒有更多的資金可供利用。所有其他的資金庫都是安全的。團隊將在未來幾個小時內提供報告和下一步行動。[2021/4/4 19:45:29]
這些零知識證明技術可以通過合理的結合來構建更強大的應用.比如PolygonHermez就通過SNARK來證實STARK的正確性,從而減少最終發布證明時的gasfee.
總結來說,SNARK和STARK都是優秀的零知識證明技術,各有千秋,而它們的合理結合更加有潛力.
2.zkVM
前面所說到的?Tornado.cash?和?zk.money?類似都是僅支持轉賬操作的零知識證明應用,不支持通用的計算.類比來說,這些應用都只有比特幣的功能,遠遠不及以太坊的圖靈完備,更不要說建生態了(比特幣上的智能合約一直沒做出生態來).
zkVM就是一個由零知識證明來保證安全可驗證可信特性的虛擬機,簡單來說就是,輸入舊狀態和程序,返回新狀態.它能讓所有的應用都被賦予零知識證明的超能力.
Miden在ETHAmsterdam的演講用一張圖很好概括了zkVM到底是什么.
zkVM的優點:
易用:開發者不用學密碼學或者零知識開發就可以使用zkVM來運行程序保證計算安全(不代表完全無門檻)
聲音 | Carol Goforth:美國監管機構對快速發展的加密貨幣新技術反應太慢:針對關于“為何美國還沒有成為加密監管的領導者”的提問,阿肯色大學法學教授,前阿肯色律師基金會法學教授Carol Goforth表示,美國的監管機構分散在太多不同的機構中,它們都有自己的使命和利益需要維護。不僅僅是FinCEN、SEC、CFTC和IRS,其他都介入如何對加密資產進行分類和處理,還有50個州政府要考慮。在急于維護權威的過程中,基于他們認為自己理解的東西,其中許多人過度監管。所以我們一直在思考加密貨幣,好像所有加密貨幣都是同一種利益,可以由每個機構統一管理。美國國會無法解決這個問題,因為國會正忙于按黨派劃分。各州無法解決這個問題,因為它們根本不同意如何解決加密資產真正帶來的無數問題。我們的監管計劃分散在太多不同的機構和部門中,其方法往往過于單一,對快速發展的新技術反應太慢。(Cointelegraph)[2019/8/5]
通用:zkVM可以給任何程序和計算生成證明.
簡潔:相對比較少量constraints就可以描述整個VM(不用重復生成整個VM的電路).
遞歸:免費的遞歸特性.和通用性一樣,對VM的驗證可以通過VM來進行.這個就挺好玩,比如你可以在zkVM里放一個zkVM,就類似StarkWare說的?L3的概念.
zkVM的缺點:
計算架構特殊:并非所有零知識證明系統可以被用來做zkVM.
性能問題:電路需要優化,可以為特定計算進行針對性優化.
現在主流的zkVM有三大類,括號中是它們的指令集:主流(WASM,RISC-V)、EVM(EVMbytecode)、ZK-Optimized(全新指令集,針對零知識證明所優化,比如Cairo和zkSync).以下是根據Miden在ETHAmsterdam的演講所整理的類型對比圖:
聲音 | Sanford C Bernstein & Co.分析師:比特大陸可能正在失去其技術優勢:Sanford C Bernstein & Co.的分析師稱,比特大陸可能正在失去其技術優勢,生產比特大陸芯片的臺積電應該要求比特大陸進行全額預付,并避免僅為與加密貨幣相關的需求增加產能。該分析師還表示,比特大陸芯片的競爭力存在問題,而其他競爭對手也在迎頭趕上。對此,比特大陸和臺積電尚未作出評論。[2018/8/22]
很多零知識證明開發生態所做的事情大多是讓開發者能用Circom庫(以及snarkyjs這種)或者其他新創造的語言(Leo或者Cairo這種語言都有奇奇怪怪的限制)來做通用zkDApp的開發,但是沒有像以太坊上用Solidity那么直接和易學.
除此之外,還有很多項目,比如zkSync,Scroll,或者Polygon旗下的好多家都在嘗試做zkEVM或者其他的zkVM.
3.EVM
EVM就是以太坊的虛擬機,也可以理解為運行智能合約的一套執行環境.
數年來,各個公鏈都在不停嘗試著去兼容EVM,從而接入到以太坊的開發生態當中.對于這個概念,衍生出了EVM兼容,等同和其他一些定義.
EVM兼容性:Solidity等語言層面的適配.
EVM等同性:EVM字節碼層面的適配.
EVMSpecification適配:也就是通常所說的真正的zkEVM,大多情況下甚至是向后兼容的優化后的超集,能提供賬戶抽象(就是每個賬戶都是一個智能合約)等EVM沒有提供的特性.
4.zkEVM
我們再來解讀一下zkEVM.定義上來說,zkEVM是一種兼容EVM同時又對零知識證明友好的虛擬機,能保證程序,操作,和輸入輸出等的完全正確性.
對于實現通用計算來說,要做zkEVM主要需要解決兩個難點:
a)電路復雜
不同的合約需要生成不同的電路,而且這些電路很“復雜”.
這方面主要就要靠各種優化了,比如Aleo(不過它不是directZK這一類...只是為了舉例說明優化)通過分布式Cluster來并發計算Proof,或者通過各種硬件上的優化來加速.
b)設計困難
zkEVM不止要對EVM進行重構,對以太坊的整體狀態轉換都要用零知識證明技術進行重構.
EVM設計的時候就沒想到后面要做zkEVM,造成了非常大的困難.導致了有兩個門派的路線,都在圖里了.
或者說按VM的架構來分,就長這樣(超級感謝ScrollTech的原圖總結!).Opcode指的是EVMOpcode.其中StarkWare部分是用Warp來將Solidity轉成Cairo合約,或者直接用Cairo寫合約,一樣能獲得不錯的開發體驗和全套工具.
在開發者和用戶層面,這幾個方案其實我認為是基本無差別的,但是在基礎設施上,越靠右的方案EVM兼容性越好,可以無縫接入Geth等基礎設施,但開發進度基本上也越慢.
5.zkEVM和zkVM
zkEVM的存在我認為是在以太坊生態上去翻新和打補丁,能為以太坊及其生態的繁榮添磚加瓦,而zkVM的存在卻不一定是給以太坊做加強,同時也具有更大的想象力.
StarkNet的CairoVM盡管可能不是我想象中最完美的zkVM,但它能比EVM或者zkEVM干更多的事,同時這些不止是停留在EIP級別的功能拓展.CairoVM上可以跑機器學習模型,甚至現在還有機器學習模型平臺正在StarkNet上建設.
相比zkEVM,一個zkVM會更加容易被構建(無需擔心EVM的技術債),更加靈活(無需擔心EVM的更新),更加容易優化(電路和證明器的軟硬件優化比構建zkEVM簡單和便宜非常多).
當然zkVM的一個最微小但很致命的缺點就是,如果zkVM無法支持EVM兼容(Solidity語言層面),那么zkVM就很難像EVM一樣有最完備和成熟的Web3開發生態.
zkVM或許是更大的趨勢,能讓對EVM的縱向優化,變成EVM生態的橫向拓展,跳出了EVM的限制.
6.zkVM的未來
如果能有一種通用的zkVM能夠讓所有編程語言的智能合約,不止是Solidity,不止是Cairo,而是Rust,C++,Go,在零知識證明的加持下安全運行呢?(Stellar嘗試過,但失敗了.)
正如?@kelvinfichter?所說的:?WhyzkEVMifzkMIPS?正如?@KyleSamani?所說的:?EVMisabugnotafeature.WhyzkEVMifzkVM?
Winterfall?或者?Distaff?或者?MidenVM?等zkVM都沒有做到非常好的開發友好度.Nervos有RISC-V的?VM,但是Nervos沒有用零知識證明技術.
現狀下最優解的方案就是構建一個WASM或者RISC-V的zkVM,最好能支持Rust,Go,C++,甚至Solidity(zkSync好像可以立大功)等語言.如果有這么一個通用zkVM,那么對于zkEVM會是降維打擊.
Web3開發者的數量大概占所有開發者的0.07%,也就可以推斷出,Solidity開發者的數量實際上會比0.07%更少,會用Cairo寫合約或者用Leo寫電路就更少了.這樣完美的zkVM所針對的是幾乎100%的開發者,任何開發者用幾乎任何語言都可以得到一個完美的零知識運行環境.
如果Web3和Crypto有統治世界的一天,我認為絕對不會是EVM生態占據100%的所有開發者,而是所有的開發者會慢慢轉化為Web3和Crypto開發者.這就是通用的zkVM的絕妙之處.
原生zkEVM是區塊鏈的未來.
通用zkVM是Web3的未來.
作者:SuningYao@ForesightVentures
最近,兩個截然相反的信息接連沖擊。5月4日,華爾街日報一篇報道稱NFT市場正在崩潰。NonFungible數據顯示,當周NFT日均銷量下降至約1.9萬個,與去年9月約22.5萬的峰值,相比下降了.
1900/1/1 0:00:00即便是最自信的人,加密貨幣也總能挫一挫他們的信心,而這個市場絕對不適合膽小的人。非同質化代幣(NFT)投資者似乎進入了熊市,最近的混亂也影響了社區的士氣.
1900/1/1 0:00:00USDT是市場上最大的雷,這應該是行業中絕大多數人的觀點,在前兩個月USDT瘋狂增發的時候,不少文章都表示USDT這樣毫無節制的增發,風險越來越大,暴雷隨時有可能發生.
1900/1/1 0:00:00中國有句古話叫:良禽擇木而棲。今年1月,YouTube游戲負責人RyanWyatt離職,加入PolygonStudios.
1900/1/1 0:00:00親愛的金色財經用戶: 由金色財經孵化的「金色數藏META」數藏平臺,將于2022年5月17日-27日開展「520,來金色Pick你的數藏女神」活動,參與即有機會獲得神秘數字藏品.
1900/1/1 0:00:00本月的加密貨幣市場進入了自由落體式的暴跌狀態,TerraUSD的滅亡給所有人帶來了更大的苦難,已有批評者將這個600億美元的項目稱為龐氏騙局.
1900/1/1 0:00:00