作者:FoxTechCEO康水躍,FoxTechCTO林彥熹
前言:以太坊虛擬機是建立在以太坊區塊鏈上的代碼運行環境,合約代碼可對外完全隔離并在EVM內部運行,其主要作用是處理以太坊系統內的智能合約。之所以說以太坊是圖靈完備,是因為開發者可以使用Solidity語言創建運行于EVM上的應用程序,一切可計算的問題都能計算。但僅是圖靈完備還不夠,人們還試圖將EVM封裝在ZK證明系統里,但問題是封裝時會產生大量冗余。Fox所發明的“小表模式”zkEVM,在保證原生的Solidity以太坊開發者能無縫遷0移至zkEVM的同時,還將大幅削減封裝EVM到ZK證明系統時產生的冗余成本。
EVM自2015年問世以來正在經歷一場史詩級的ZK改造。這場大改造主要有兩個方向。
第一個方向就是所謂的zkVM賽道,該賽道項目致力于將Application的性能提升到最優,而與以太坊虛擬機的兼容性并不是首要考慮的問題。這里有兩個子方向,其一是做自己的DSL(DomainSpecificLanguage),比如StarkWare正致力于推廣Cairo語言,推廣難度并不小。其二是目標兼容現有的比較成熟的語言,比如RISCZero致力于讓zkVM兼容C++/Rust。該賽道的難點在于因為引入了指令集ISA,導致最終輸出的約束更復雜。
薩爾瓦多總統簽署取消對技術創新征稅的法律:金色財經報道,薩爾瓦多總統Nayib Bukele宣布,其簽署了一項取消對技術創新征稅。該法律名為《創新和技術制造激勵法案》,該法案取消了技術創新、軟件和應用程序編程、人工智能、計算機和通信硬件制造方面的所有稅收(包括收入、財產、資本利得和進口關稅)。[2023/5/5 14:44:04]
第二個方向就是所謂的zkEVM賽道,該賽道項目致力于EVMBytecode的兼容,即Bytecode級別及其以上的EVM代碼都通過ZkEVM產生對應的零知識證明,這樣以來原生的Solidity以太坊開發者會可以無成本遷移至zkEVM。該賽道選手主要有PolygonzkEVM、Scroll、Taiko和Fox。該賽道的難點在于兼容EVM這樣一個并不適合封裝在ZK證明系統時產生的冗余成本。Fox經歷長時間的思考與論證,終于找到了從根本上消減第一代zkEVM巨大冗余的那把鑰匙:“小表模式”zkEVM。
灰度GBTC負溢價率回落至45.73%:金色財經報道,數據顯示,當前灰度總持倉量達146.78億美元,主流幣種信托溢價率如下:BTC,-45.73%;ETH,-56.74%;ETC,-72.6%;LTC,-61.45%;BCH,-53.33%。[2022/12/24 22:05:03]
數據和證明電路是zkEVM生成證明的兩大核心要素。一方面,在zkEVM中,證明者需要所有交易涉及的數據以證明交易帶來的狀態轉移是正確的,而EVM中的數據量大且結構復雜。因此,如何整理和組織證明所需的數據便是構建一個高效的zkEVM需要仔細考慮的問題。另一方面,怎么通過一系列的電路約束高效地證明計算執行的有效性與正確性,則是保證zkEVM安全性的基礎。
我們首先談第二個問題,因為這是所有設計zkEVM的團隊都需要考慮的問題,這個問題的本質其實就是“我們到底要證明什么?”而目前大家對這個問題的思路都是相似的,由于一個交易可能是多種多樣的,直接按順序證明每一步的操作帶來的狀態改變都是正確的顯得不現實,因此我們需要分類證明。
全球加密貨幣ETP在11月25日當周遭遇3370萬美元凈資金外流:11月28日消息,全球加密數字貨幣交易所交易產品基金(ETPs)在11月25日當周遭遇3370萬美元凈資金外流,其中關注以太坊的ETP資金外流2100萬美元首當其沖,比特幣ETP外流1150億美元,Basket主題ETP和Cardano分別流入約100萬美元。2022年迄今,全球加密數字貨幣ETP流入總額3.095億美元。(金十)[2022/11/28 21:07:53]
圖1:大表、小表兩代zkEVM解決方案
例如,我們將每次stack中元素的變化都放在一塊,專門編寫一個stack電路證明,為單純的算術操作專門編寫一套的算術電路等等。如此一來,每個電路需要考慮的情況就變得相對簡單。這些不同功能的電路在不同zkEVM中有不同的名字,有人直接稱其為電路,也有人稱其為狀態機,但是這個思想的本質都是一樣的。
為了更清楚的解釋這么做的意義,我們舉一個例子,假設現在要證明加法操作:
數據:72%的俄羅斯受訪者從未購買過比特幣等加密貨幣:8月25日消息,加密錢包提供商Tangem進行的一項2100多名受訪者的調查顯示,72%的人聲稱他們從未購買過比特幣等加密貨幣,與此同時只有9%的調查參與者表示他們對加密貨幣持負面態度,而45%的受訪者表示他們對數字貨幣持積極態度,其余46%的受訪者持中立態度。(俄羅斯生意人報)[2022/8/25 12:48:19]
假設原先的stack是
則如果不分類拆分的話,我們需要設法證明進行完上述操作后stack變為
而如果進行了分類拆分的話我們只需要分別證明以下幾件事:
stack電路:
C1:證明pop出2和4后變為
C2:證明push(6)后變為
算術電路:
C3:a=2,b=4,c=6,證明a+b=c
以太坊哈希率達到歷史新高,新投資者涌入網絡:金色財經報道,Glassnode 分析報告稱,以太坊哈希率再次上升,達到 1,255,783,319,785,900 H/s 的歷史新高。與此同時,Glassnode 報告稱,小型投資者(持有超過 1 個 ETH 的錢包)的數量已增加至 1,484,710 的歷史新高。[2022/6/5 4:03:40]
值得注意的是,證明的復雜程度和電路需要考慮的各種情況的數量有關系,如果不分類拆分的話,電路需要覆蓋的可能性將會非常巨大。
圖2:第一代zkEVM采用的大表模式
而一旦分類拆分了,每一個部分的情況將會變得相對單純,從而證明的難度也會顯著減小。
但是分類拆分也會帶來其他問題,那便是不同類別電路的數據一致性問題,例如在上面的例子里,我們實際上還需要證明以下兩件事:
C4:”C1中pop出來的數”=“C3中的a和b”
C5:“C2中push的數”=“C3中的c”
為了解決這個問題,我們回到了第一個問題,即我們要如何組織交易涉及的數據,下面我們接著探討這個議題:
一個直觀的方法是這樣的:通過trace,我們可以拆解出所有交易涉及的每個步驟,知道其涉及的數據,并通過向節點發送請求以獲得不在trace中的那部分數據,隨后,我們將其如下排列成一個大表格T:
“第一步操作”“第一步操作涉及的數據”
“第二步操作”“第二步操作涉及的數據”
…“第n步操作”“第n步操作涉及的數據”
如此一來,在上面的例子中,我們就會有一行記錄著
“第k步:加法”“a=2,b=4,c=6”
而上面的C4便可以被如下證明:
C4(a):C1pop出的數和大表T中的第k步一致
C4(a):C3的a和b和大表T中的第k步一致
C5也是類似的。這個操作被稱為lookup。lookup的具體算法我們不在本文中詳細介紹,但是可以想象,lookup操作的復雜度與大表T的大小密切相關。因此,現在我們回到第一個問題:如何組織證明會用到的數據呢?
圖3:Fox所發明的“小表模式”zkEVM
我們考慮如下一系列的表格構造:
表格Ta:
“類型a的第一個操作”“類型a的第一個操作涉及的數據”
“類型a的第二個操作”“類型a的第二個操作涉及的數據”
…“類型a的第m個操作”“類型a的第m個操作涉及的數據”
表格Tb:
“類型b的第一個操作”“類型b的第一個操作涉及的數據”
“類型b的第二個操作”“類型b的第二個操作涉及的數據”
…“類型b的第m個操作”“類型b的第n個操作涉及的數據”
…如此構造多個小表,這么做的好處是當我們可以根據需要的數據所涉及的操作的類型,直接在對應的小表中進行lookup,如此一來,便能很大程度的提高效率。
一個簡單的例子是如果我們要證明a~h這8個字母都存在中,我們需要對大小為8的表進行8次的lookup,但是如果我們把表分為和的話,我們只需要對這兩個大小為4的表分別進行4次lookup就可以了!
在FOX這個layer2的zkEVM中便使用了這種小表的設計以提升效率,為了保證在各種情況下都能完備的證明,對于具體的小表拆分方式需要仔細的設計,而提升效率的關鍵則在于對表的內容的分類與其大小的平衡。盡管將完整的zkEVM在這個框架中實現需要龐大的工作量,我們預期這樣的zkEVM將會在性能方面有突破性的進步。
結論:Fox所發明的“小表模式”zkEVM,在保證原生的Solidity以太坊開發者能無成本遷移至zkEVM的同時,大幅削減封裝EVM到ZK證明系統時產生的冗余成本。這是zkEVM結構的一次重大變革,將對以太坊擴容方案產生深遠影響。
整理:餅干,ChainCatcher1、《RootData:深入解析HashkeyCapital的投資偏好與策略》作為加密行業最全面的投融資數據庫之一.
1900/1/1 0:00:00撰文:zkSync 編譯:Moni,Odaily星球日報3月24日,zkSync宣布主網「zkSyncEra」將以無許可的方式全面開放,供所有人使用.
1900/1/1 0:00:00原文:《ArbitrumGoesIntoArbitration》作者:KunalGoel編譯:BlockTurboArbitrum在3月份推出了ARB代幣空投,受到用戶和支持者的熱烈反饋.
1900/1/1 0:00:00整理:餅干,ChainCatcher1、《ArthurHayes博文:拯救銀行的BTFP全球無限的貨幣印刷》關于美聯儲的新銀行期限資金計劃最近討論很熱.
1900/1/1 0:00:00Avalanche宣布啟動Evergreen子網的測試網Spruce。該測試網的初始機構合作伙伴包括T.RowePriceAssociates、WisdomTree、WellingtonMana.
1900/1/1 0:00:00MoveAccelerator和0xcuhk將于4月13日19:00在香港K11Atelier舉辦「MOVE&PioneerNight」晚會.
1900/1/1 0:00:00