簡介
零知識證明,特別是zk-SNARK(SuccinctNon-interactiveArgumentsofKnowledge)可能是Web3前沿最重要的技術之一。雖然該子領域的大多數媒體和投資的關注都集中在zk-Rollup上,這種擴展解決方案為以太坊等L1區塊鏈提供了巨大的可擴展性,但這絕不是zk-SNARK的唯一應用。在這篇文章中,我們將深入分析零知識匯編代碼(或zkASM)的概念,評估它在zk-Rollup和其他領域的用例,探索它在重新發明我們所知道的互聯網方面的理論可能性。
技術原理
zk-ASM,顧名思義,主要包含兩個技術部分:zk和ASM。zk部分指的是zk-SNARK,而ASM部分指的是匯編代碼。要理解zk-ASM的潛力,我們必須首先理解這兩個看似神秘的概念的理論基礎。
zk-SNARK
zk-SNARK是zk-Proof皇冠上的寶石:它們是一種簡潔的證明,證明某個陳述是正確的,在證明時沒有透露任何關于被證明數據的信息。例如,假設某人斷言“我知道一個m使得C(m)=0”,其中m是一個千兆字節長的消息,C是一個函數。zk-SNARK將是一個非常簡短的證明(<1GB),可以快速驗證,并且不會透露任何關于m的信息(除了公開可用的信息)。
那么C(m)到底是什么?它有什么用?這個函數實際上是一個算數電路,或者是我們想要執行的特定函數的有向無環圖(DAG)表示,如圖所示。“m”本質上是進入電路的輸入數據,電路中的特定“節點”是單獨的邏輯門或算數運算。例如,“+”節點可能有“2”和“3”作為輸入,并將“5”輸出到下一個運算符。因此,可以在“算數電路”中對任意算數或邏輯運算進行編碼。
Blur創始人:Blur系統價格與各個NFT市場相匹配,如果集合設置版稅會按最低0.5%強制執行:金色財經報道,Blur創始人Pacman在社交媒體發文回應PROOF研究總監@punk9059的低版稅問題時稱,Blur系統價格與各個NFT市場相匹配,比如在NFT市場X2Y2上會提示未設置小費(X2Y2稱之為版稅),雖然不確定X2Y2的后端發生了什么變化,但如果NFT集合自己設置了小費,那么會按最低0.5%的費率強制執行。此外,“胖企鵝”Pudgy Penguin創始人Luca Netz則表示,現在NFT版稅呈下降趨勢,0.5-1%的低版稅正在扼殺創作者的價值主張,在某些時候NFT市場需要傾聽NFT集合的聲音,但現在似乎沒有人在?。[2023/7/24 15:54:39]
算數電路的例子。資料來源:https://cs251.stanford.edu/lectures/lecture14.pdf
一旦我們有了這個算數電路作為我們想要運行zk-SNARK的代碼的表示,我們就可以開始構建這個zk-SNARK了。從根本上說,因為“代數基本定理”,使得zk-SNARK是可能的,該定理指出,一個“d”次多項式最多有“d”個根。數學技巧分為兩個步驟:(1)以某種方式將我們想要證明的函數“f(m)”轉換為一個多項式(并堅持下去),(2)使用“代數基本定理”與多項式相互作用,并提供一個簡潔的證明。在技術術語中,第一部分被稱為“PolynomialCommittmentScheme”(PCS:多項式承諾方案),第二部分被稱為“PolynomialInteractiveOracleProof”(PIOP)。
淡馬錫:當前監管環境下不會投資加密領域:7月11日消息,新加坡主權財富基金淡馬錫首席投資官Rohit Sipahimalani表示,當前環境下存在很多監管不確定性。我確實認為,在監管不確定性的情況下,我們很難再進行(對加密公司的)投資和交易。
Sipahimalani補充表示,淡馬錫從未尋求過投資加密貨幣,即使是對 FTX 的投資也是一樣的,淡馬錫會談論對交易平臺的投資,這使其能從平臺費用收入中賺取收益,而無需考慮資產負債表風險或任何交易風險。[2023/7/11 10:48:24]
通用電路的有效SNARK的組成部分。資料來源:https://cs251.stanford.edu/lectures/lecture15.pdf
雖然PCS和PIOP的具體實現超出了本文的范圍,但到目前為止,我們已經獲得了zk-SNARK核心步驟的粗略草圖:
想運行zk-SNARK,就需要有一個函數的選擇(代碼函數,數學方程等);將此函數編碼為算數電路C(m);運行PCS得到該算數電路的多項式表示;運行PIOP以獲得原始“m”大小的對數的簡潔證明。我們有一個定制的zk-SNARK可以證明某人知道某個信息而不用透露信息是什么。
Santiment:體現市場恐懼的社媒趨勢指標或預示比特幣即將反彈:5月21日消息,區塊鏈分析公司Santiment最近指出,比特幣的前景可能看漲,其關鍵指標類似于2022年11月FTX崩潰后的情況。數字資產領域普遍存在的恐懼,可能預示著比特幣即將反彈。此外,Santiment發現,隨著比特幣的價格跌至2.6萬美元,社交媒體上關于比特幣的討論有所增加。比特幣的社交媒體討論主導地位增加,通常被認為是一種恐懼的跡象,會增加市場反彈的可能性。
Santiment指出,比特幣交易大幅減少,這是自2021年7月以來從未見過的低點。這一時期標志著比特幣的底部約為29000美元,然后反彈至約69000美元的歷史高點。據報道,自2021年7月以來,該網絡每天交易的唯一比特幣地址數首次少于80萬。比特幣效用的下降和市場價格的調整可能是其價格可能上漲的另一個跡象。(Crypto Globe)[2023/5/21 15:17:10]
匯編代碼
zk-ASM的第二個難題是匯編代碼的思想。匯編代碼是一種包含非常低級語言指令的類語言,機器很容易閱讀,但人類很難破譯。與Python、Java等高級語言不同,匯編語言包含非常原始的函數,例如會在處理器和硬編碼內存位置上的一系列數據寄存器上移動、比較、添加和跳轉。例如,在屏幕上打印數字1到9的Python代碼為123456789:
硬件錢包Ledger與Etana Custody合作推出加密貨幣托管服務:金色財經報道,硬件錢包 Ledger 與加密貨幣托管機構 Etana Custody 合作推出面向機構客戶的,受監管的加密貨幣托管服務。Etana 將在給定交易中充當交易對手方的結算方,使他們能夠交易數字資產且無需進行互相轉賬。[2023/4/19 14:13:58]
下面是它的x86匯編版本:
對這么簡單的操作來說,其實變得更麻煩了。那么為什么還要使用匯編語言呢?如上所述,雖然這些指令對人類來說可能不容易閱讀,但它們很容易“組裝”到110011001字節碼中,供機器讀取和執行(這稱為匯編程序)。相對而言,Python和Java等高級語言更易于閱讀,但用這些語言編寫的程序不能直接由處理器執行。相反,我們需要依賴于一個“編譯器”,它咀嚼我們編寫的Python或Java代碼,并吐出一堆匯編代碼,然后由機器組裝和執行。我們可以期望同一段Python或Java在不同的處理器和不同的操作系統上平穩運行,因為編譯器完成了繁重的工作,將源代碼編譯為特定于該處理器或操作系統的匯編語言。
因為所有語言都可以編譯成匯編代碼(匯編代碼本身可以編譯成可執行的二進制代碼),所以匯編程序本質上就像“所有語言之母”。現在假設我們能夠將匯編語言(如x86或RISC-V)中的所有操作數轉換為一種算數電路表示,這樣我們就能夠提供這種匯編語言中所有操作數的zk-SNARK證明。這意味著理論上我們能夠提供任何用任意高級語言(如Python或Java)編寫的程序的zk-SNARK,這些程序可以編譯成匯編語言。這就是為什么我們需要考慮zk-ASM。
美股開盤:三大股指全線下跌:金色財經報道,美股開盤三大股指全線下跌,道瓊斯指數10月31日(周一)開盤下跌124.13點,跌幅0.38%,報32737.67點;納斯達克綜合指數10月31日(周一)開盤下跌90.05點,跌幅0.81%,報11012.40點;標普500指數10月31日(周一)開盤下跌20.58點,跌幅0.53%,報3880.48點。
游戲驛站(GME.N)觸發停牌,此前一度大漲近17%。[2022/10/31 12:01:43]
實際應用
zk-EVMRollup:Polygonzk-ASM
zk-ASM最重要的應用之一是創建與以太坊虛擬機兼容的zk-Rollup,或zk-EVM。zk-EVM對于區塊鏈的可擴展性非常重要,因為它允許程序員部署在基于zk-Rollup的L2鏈上,而無需修改太多(如果有的話)他們的代碼]。在這個領域,Polygon的zk-EVM是一個典型的案例研究,它展示了如何使用zk-ASM來實現這一目標。
EVM和Polygonzk-EVM技術棧的比較。來源:OriginalContent
當程序員在以太坊L1區塊鏈上開發時,他們通常使用Solidity進行編碼。這種Solidity代碼在執行前會被編譯成一系列EVM操作碼,如ADD、SLOAD和EQ。默認情況下,這個過程顯然不會創建任何類型的zk-Proof。Polygon的訣竅是創建一個方法,將每個EVM操作碼解釋為它們自定義編寫的zk-ASM,這對zk-SNARK非常友好。然后,他們的L2zk-EVM將執行zk-ASM,同時還創建ASM的zk-SNARK電路,以創建zk-SNARK證明。例如,EVM中的ADD操作碼將被翻譯成Polygon的zk-ASM,如下圖:
EVMADD操作碼的Polygonzk-ASM解釋示例。資料來源:https://wiki.polygon.technology/docs/zkEVM/zkASM/some-examples
因為Polygonzk-EVM的招數在匯編級別上,它從普通以太坊程序員接觸的代碼中刪除了兩個級別,即“Solidity”級別。這就是為什么大多數開發人員可以將他們為以太坊主網構建的EVM代碼直接移植到Polygonzk-EVM的原因。此外,由于Polygonzk-EVM將以太坊的技術堆棧“保持”到操作碼級別,所有依賴于分析編譯的操作碼的調試基礎設施都將保持可用和完整。這與其他一些zk-EVM設計不同,例如zkSync,后者不提供操作碼級別的zk-Proof。因此,即使Polygon發明并證明了自己的匯編語言,Vitalik寫道:“它仍然可以驗證EVM代碼,它只是使用了一些不同的內部邏輯來完成它。”
超越Rollup:zk-WASM
zk-EVM絕不是zk-ASM的唯一應用程序。回想一下我們之前的斷言,匯編語言本質上是“所有語言之母”,并且zk-ASM的創建將為用任何編譯成該匯編語言的語言編寫的通用程序解鎖zk-Proof。WebAssembly,或稱WASM,是最重要的新興匯編語言之一。WASM于2018年首次發布,其目的是創建一種匯編語言,以提高Web應用程序的執行速度,并為Javascript(Web背后的主要編碼語言)提供執行補充。
從本質上講,隨著Web多年來的發展,Web應用程序的規模和復雜性不斷增長,這意味著瀏覽器編譯用Javascript編寫的所有內容的速度通常非常慢,并且必須依賴復雜的編譯-優化-重新加載周期。另一方面,WebAssembly通過提供可移植的、模塊化的、易于執行的匯編語言,消除了對復雜瀏覽器執行引擎的依賴。此外,作為一種匯編語言,WASM允許程序員直接用C語言、C++、Rust、Java或Ruby編寫在瀏覽器中本機運行的代碼片段。因此WASM已成為“提供分布式無服務器功能”的首選技術。
那么zk-SNARK為什么會出現,又是如何出現的呢?WASM的獨特之處在于它是一種客戶端技術,能夠直接與用戶輸入和數據交互。因為這通常包括敏感數據,如密碼和個人信息,我們需要一種技術:(1)確保程序正確執行,(2)我們的敏感信息不會被泄露。如上所述,zk-SNARK是解決這兩個問題的完美解決方案,因此是確保WASM安全的重要拼圖。
雖然開發zk-WASM的工作仍處于早期階段,但最近已經有一些項目發布了用于WebAssembly的zk-SNARK電路原型。例如,DelphinusLab的“ZAWA”zk-SNARKEmulator提出了一種將WASM虛擬機的操作數和語義編碼到算數電路中的方法,從而使其能夠進行zk-SNARK證明。隨著時間的推移,zk-WASM電路無疑會不斷優化,從而允許用通用語言(如C語言、C++、Rust和Ruby)編寫的程序采用zk-Proof的范例。
結論
在這篇文章中,我們探索了zk-ASM的理論基礎,并研究了zk-ASM的兩個范例:Polygon使用zk-ASM創建一個操作碼級別的zk-EVM,以及zk-SNARK在WebAssembly上的應用以創建zk-WASM。最終,zk-ASM的承諾是將Web2的互操作性和規模與Web3的可靠性和安全性結合在一起。
一方面,區塊鏈越來越多地尋求超越當前吞吐量瓶頸的擴展,并有可能支持執行,而另一方面,Web2方法因未能充分保護用戶數據和隱私而越來越受到攻擊。由于程序員能夠在他們的Web2代碼中使用Web3設計范例,并在區塊鏈上引入Web2語言和代碼,通用的zk-ASM可能代表Web2和Web3世界中的一個匯合點。正是在這個意義上,zk-ASM可以讓我們重新想象一個安全、無需信任的互聯網。
回到2020年的DeFi夏季——很久以前的Web3時代——就出現了「Degens」這個詞。這個Meme?一般用來描述那些在高收益率和高風險的項目上進行投機的Web3愛好者.
1900/1/1 0:00:00摘要:據雷達財經報道,近日,網易通過網易傳媒科技(北京)有限公司參與了張藝謀持股并擔任聯合創始人的當紅齊天的B++輪融資.
1900/1/1 0:00:00以太坊在新年動作頻頻,不僅在1月8日的開發者會議上確認了上海升級,包括2月份的公共測試網和3月份的主網啟動計劃,也在1月9日發布了以太坊基金會官網的2023年Q1路線圖.
1900/1/1 0:00:00回顧過去的一年,我們看到NFT領域出現了很多新場景,新應用和新變化。而買賣NFT的玩家也有一些新動作。因此,我們收集了2022年NFT行業中最大玩家——巨鯨的數據,并進行了相應的分析和解讀.
1900/1/1 0:00:00ECN社區的讀者朋友們,新年快樂!2022年即將過去,回望過去這一年,以太坊社區有苦亦有樂。我們也許在面對一次又一次的黑天鵝事件時經歷過憤怒與沮喪;也許與志同道合的小伙伴一起觀看過合并派對;也許.
1900/1/1 0:00:00周一SamBankman-Fried(“SBF”)被捕為加密貨幣行業這一充斥著迷因、金錢和混亂的世界劃上了階段性的句號.
1900/1/1 0:00:00