巨爆乳肉感一区二区三区视频动漫-67194线路一直接进入骚逼-亚洲精品无码一区二区三区四虎-亚洲国产精品有码-国产精品99无码一区二区视频-免费观看A黄色

BitVM背景知識:欺詐證明與ZK Fraud Proof的實現思路

訪客 9個月前 (02-28) 閱讀數 1388 #區塊鏈
文章標簽 前沿文章

作者:Shew & Noah,仙壤GodRealmX

眾所周知,欺詐證明是一種在區塊鏈領域中被廣泛應用的技術方案,其最早發源于以太坊社區,并被Arbitrum和Optimism等知名以太坊Layer2所采用。2023年比特幣生態興起后,Robin Linus提出了名為BitVM的方案,以欺詐證明為核心思想,在Taproot等比特幣既有技術的基礎上,為比特幣二層或橋提供了新的安全模型。

BitVM曾先后推出過多個理論版本,從最早的以邏輯門電路為基元的BitVM0,到后來以ZK Fraud Proof和Groth16驗證電路為核心的BitVM2,與BitVM相關的技術實現路徑在不斷的演化并趨于成熟,吸引了許多從業人員的關注。大家所聽聞的Bitlayer、Citrea、BOB、Fiamma和Goat?Network等項目均以BitVM為技術根基之一,在此基礎上進行了不同版本的實現。

鑒于市面上系統解釋BitVM的資料比較稀少且晦澀難懂,我們推出了以BitVM知識科普為目的的系列文章。考慮到BitVM與欺詐證明之間根深蒂固的關系,本篇文章將以欺詐證明和ZK Fraud Proof為主要話題,以盡可能易懂的語言為大家展開解讀。

我們將以Optimism的欺詐證明方案為素材,為大家解析其基于MIPS虛擬機和交互式欺詐證明的方案,以及ZK化欺詐證明的主要思路。

(Optimism交互式欺詐證明的機制原理)

OutputRoot和StateRoot

Optimism是知名的Optimistic Rollup項目,其基礎架構由定序器 (主要模塊包含op-node、op-geth、op-batcher和op-proposer) 和以太坊鏈上的智能合約組成。

當定序器處理了一批交易數據后,這些DA數據會被發送到以太坊上。只要你有能力運行Optimism節點客戶端,就可以把定序器上傳的數據下載到本地,之后你可以在本地執行這些交易,計算出Optimism的當前狀態集hash(包括但不限于每個賬戶的當前余額等數據)。

如果定序器把錯誤的狀態集hash上傳到了以太坊上,那么你在本地算出的狀態集hash會與之不同,此時你可以通過欺詐證明系統發起質疑,系統會根據判決結果對定序器采取限制或懲罰亦或不處罰。

提到“狀態集”一詞,EVM系區塊鏈常用到Merkle Tree式的數據結構來記錄狀態集,名為World State Trie。一筆交易被執行后,某些賬戶的狀態會變化,World State Trie便會發生變化,其最終hash也會變更。以太坊將World State Trie 的最終hash稱為StateRoot,用其表現狀態集的變化。

下圖展示了以太坊 stateRoot 的構成,我們可以看到以太坊內不同賬戶的余額,智能合約賬戶關聯的代碼hash等數據都會被匯總到World State Trie中,并依此計算出stateRoot。

Optimism的賬戶體系及其數據結構大致上與以太坊一致,也采用StateRoot字段來體現狀態集的變化。OP定序器會定期把名為OutputRoot的關鍵字段上傳到以太坊,而OutputRoot字段是由StateRoot和其他兩個字段共同計算得出的。

繼續回到最初的問題,當你運行OP的節點客戶端并在本地計算出StateRoot,以及當前的OutputRoot后,假如你發現自己算出的結果和OP定序器上傳的結果不一致,便可發起欺詐證明。那么其具體的機制原理是怎樣的?下面我們將依次介紹MIPS虛擬機狀態驗證與交互式欺詐證明。

MIPS虛擬機與內存Merkle Tree

前面我們提到,假設我發現OP定序器提交的OutputRoot有問題,就可以發起“挑戰”,挑戰流程需要在鏈上完成一系列交互動作,交互完成后,相關智能合約會斷定OP定序器是否上傳了錯誤的OutputRoot。

如果要在鏈上用智能合約驗證OutputRoot的正確性,最簡單的方法是在以太坊鏈上實現出OP節點客戶端,采用與OP定序器相同的輸入參數,執行相同的程序,查驗計算結果是否一致。這個方案被稱為Fault Proof Program,其在鏈下很容易實現,但想要在以太坊鏈上運行卻十分困難。因為存在兩個問題:

1.?以太坊上的智能合約無法自動獲得欺詐證明需要的輸入參數;

2.?以太坊每個區塊的Gas Limit有限,不支持復雜度過高的計算任務,我們無法在鏈上完全實現OP節點客戶端

第一個問題等價于讓鏈上智能合約讀取鏈下數據,可以通過類似預言機的方案來解決。OP在以太坊鏈上專門部署了PreimageOracle合約,欺詐證明相關合約可以在PreimageOracle 內讀取所需的數據。

理論上任何人都可以向該合約隨意上傳數據,但OP的欺詐證明系統有辦法鑒別數據是否為其所需,具體過程在此不展開論述,因為對本文的核心話題而言不重要。

對于第二個問題,OP開發團隊用Solidity編寫了一個MIPS虛擬機,實現了OP節點客戶端中的部分功能,足夠欺詐證明系統所用。MIPS是一種常見的CPU指令集架構,而OP定序器的代碼是用Golang/Rust等高級語言編寫的,我們可以將Golang/Rust寫的程序編譯為MIPS程序,然后通過以太坊鏈上的MIPS虛擬機進行處理。

OP的開發團隊使用Golang編寫了欺詐證明所需的最簡化程序,與OP節點中執行交易、生成區塊及OutputRoot的模塊功能基本一致。不過這套精簡化的程序仍無法“完整執行”。

也就是說,每個OP區塊中包含很多筆交易,這批交易處理完后,會得到一個OutputRoot。雖然你知道是哪個區塊高度下的OutputRoot有錯誤,但你如果要把該區塊中包含的交易全都放到鏈上去跑,證明對應的OutputRoot有錯,是不現實的。

此外,每筆交易的執行流程中,又涉及到一連串MIPS操作碼的有序處理,你不可能把這一串操作碼都放到鏈上合約實現的MIPS虛擬機中去跑,因為涉及的計算開銷和Gas消耗量太大。

(MIPS指令集工作原理)

為此,Optimism團隊設計了交互式欺詐證明系統,其目的是對OP的交易處理流程做深度細化。從OutputRoot的整個計算流程中,觀測是處理哪個MIPS操作碼時,OP定序器的MIPS虛擬機出了錯誤。若確定有錯,則可斷定定序器提供的OutputRoot無效。

那么問題就變得明朗了:OP定序器處理交易打包區塊的過程,可以被拆解為對巨量MIPS操作碼的有序處理,每個MIPS操作碼執行后,虛擬機的狀態hash都會變化,這些記錄可以匯總為一棵Merkle樹。

在交互式欺詐證明流程中,要確定OP定序器在執行哪個MIPS操作碼后,虛擬機的狀態hash出了問題,然后在鏈上重現出當時MIPS虛擬機的狀態,執行操作碼,觀測之后的狀態hash是否與定序器提交的結果一致。由于只在鏈上執行一條MIPS操作碼,復雜度不高,可以在以太坊鏈上完成計算流程。但要做到這些,我們需要把MIPS虛擬機的狀態信息如部分內存數據上傳到鏈上。

在代碼實現層面,以太坊鏈上與欺詐證明相關的智能合約,會通過以下名為 Step 的函數完成最后的MIPS操作碼執行流程:

上述函數參數中的 _stateData 和 _proof 代表單條MIPS操作碼執行的依賴數據項,比如MIPS虛擬機的寄存器狀態、內存狀態hash等。其示意圖如下:

我們可以通過 _stateData 和 _proof 輸入這些MIPS虛擬機的環境參數,在鏈上運行單條MIPS指令,獲得權威結果。如果鏈上得出的權威結果與定序器提交的結果不一致,則說明定序器做惡。

我們一般稱 _stateData 的哈希為 statehash,可以粗略理解為整個MIPS虛擬機狀態的hash。在_stateData的幾個字段內, memRoot是最為精妙的設計。眾所周知,一段程序在執行過程中會占用大量內存,CPU會與部分內存地址中的數據產生讀寫交互。所以當我們在鏈上通過VM.Step函數執行某條MIPS操作碼時,需要提供MIPS虛擬機部分內存地址中的數據。

OP采用了32位架構的MIPS虛擬機,其內存共包含2的27次方個地址,可以組織成一棵28層的二叉Merkle Tree,底層葉子有2的27次方個,每個葉子記錄虛擬機的一個內存地址中的數據。所有葉子中的數據匯總后,算出的hash便是memRoot。下圖顯示了記錄MIPS虛擬機內存數據的Merkle樹的結構:

我們需要提供一部分內存地址中的內容,這部分內容通過step 函數中的_proof 字段來上傳到以太坊鏈上。這里還要上傳基于內存Merkle樹的默克爾證明,證明你/定序器提供的數據的確存在于內存Merkle樹中,而非憑空編造的。

交互式欺詐證明

在上文中,我們已經解決了第二個問題,完成了MIPS操作碼的鏈上執行與虛擬機狀態驗證,但挑戰者與定序器該如何定位到那條有爭議的MIPS操作碼指令?

相信很多人在網上多多少少閱讀過交互式欺詐證明的簡單解釋,對于其二分法的思路有所聽聞。OP團隊開發了一套被稱為 Fault Dispute Game(FDG) 的協議,在FDG中,包含兩個角色:挑戰者和防御者。

假如我們發現定序器提交到鏈上的OutputRoot有問題,那么我們就可以作為FDG中的挑戰者,而定序器會作為防御者。為了便于定位到前文提及的需要鏈上處理的MIPS操作碼,FDG協議要求參與者都要在本地構建一顆Merkle樹,稱為GameTree,其具體結構如下:

我們可以看到GameTree其實比較復雜,有層級嵌套的關系,由第一層級的樹及第二層級的子樹構成,也就是說,第一層級的樹的底層葉子本身包含了一棵樹。

前面我們介紹過,定序器生成的每個區塊都包含一個OutputRoot,而GameTree第一層級樹的葉子節點,就是不同區塊的OutputRoot。挑戰者和防御者需要在OutputRoot構成的Merkle樹中交互,確定哪個區塊的OutputRoot有爭議。

在確定爭議區塊后,我們就會下潛到GameTree的第二層級。第二層級的樹也是一顆Merkle樹,底層葉子就是上文介紹的MIPS虛擬機的狀態hash。在欺詐證明場景下,爭議雙方在本地構造的GameTree的部分葉子節點會不一致,處理了某個操作碼之后的虛擬機狀態hash會表現出不同。

之后雙方在鏈上進行多次交互,最終定位到有爭議的地方,確定需要在鏈上跑的單條MIPS操作碼。

至此,我們就完成了交互式欺詐證明的全部流程。總結來說,交互式欺詐證明包含兩個核心機制:

1.FDG先定位到需要上鏈執行的MIPS操作碼及此時的VM狀態信息;

2.在以太坊鏈上實現的MIPS虛擬機里執行該操作碼,獲得最終結果。

ZK化欺詐證明

我們可以看到上述傳統欺詐證明的交互極為復雜,需要在FDG流程里進行多輪交互,然后將單條指令在鏈上重放。但這種方案存在幾個難點:

1. 多輪交互需要在以太坊鏈上觸發,差不多需要幾十次交互,會產生大量 gas 成本;

2. 交互式欺詐證明的過程較長,一旦交互啟動,Rollup就無法正常執行交易;

3. 鏈上實現特定VM來重放指令是較為復雜的,開發難度極高

為了解決這些問題,Optimism官方提出了ZK Fraud Proof的概念。核心在于當挑戰者進行挑戰時,指定其認為需要在鏈上重放的一筆交易,Rollup定序器給出被挑戰交易的ZK證明,由以太坊上的智能合約進行驗證,如驗證通過,則可認為該交易的處理流程沒錯誤,Rollup節點沒做惡。

上圖中的Challenger為挑戰者,而Defender是OP定序器。在正常情況下,OP定序器根據接收到的交易生成區塊,并將不同區塊的狀態承諾提交到以太坊上,可以將其簡單視為區塊的哈希值。Challenger可以根據區塊哈希進行挑戰。Defender接受挑戰后,會生成一個ZK證明以證明區塊的生成結果沒有錯誤。上圖中的 Bonsai 實際上是一種 ZK Proof 生成工具。

相比于交互式欺詐證明,ZK Fraud Proof 的最大優點是將多輪交互修改為了一輪的ZK證明生成和鏈上驗證,節省了大量時間和gas成本。而相比于ZK Rollup,基于ZK Fraud Proof的OP Rollup不需要每次出塊都生成證明,只在被挑戰時臨時生成一個ZK證明,這也降低了Rollup節點的計算成本。

ZK化欺詐證明的思路也被BitVM2所采用。采用BitVM2的項目方如Bitlayer和Goat Network及ZKM、Fiama等,通過比特幣腳本來實現ZK Proof驗證程序,并對需要上鏈的程序尺寸進行了極大程度的精簡化。限于篇幅,本文不展開贅述,大家可等待我們之后關于BitVM2的文章來深入理解其實現路徑,敬請期待!

熱門
人妻夜夜添夜夜无码AV| 亚洲国产精品无码中文在线| 浪货趴办公桌~H揉秘书电影| 国产99视频精品免费视频6| 99精品久久久久中文字幕| 亚洲综合国产成人丁香五月激情| 性色av无码人妻少妇肥臀| 色综合久久久久久久久五月| 亲嘴扒胸摸屁股激烈网站| 两人做人爱视频在线观看| 精品国产自产自在线观看蜜桃| 国产精品成人网站| 国产AV无码专区亚洲AV麻豆丫| 白嫩少妇激情无码| ZOOM与人性ZOOM我放弃播放器| 51CG9热心的朝阳群众| 中国熟妇浓毛HDSEX| 亚洲中文字幕无码AV| 亚洲日韩精品一区二区三区无码| 亚洲成AV人片在线观看无码不卡| 性色AV一区二区三区人妻| 无码一区二区三区AV免费 | 亚洲一区二区三区波多野结衣| 亚洲AV无码专区国产不卡顿| 羞羞汗汗YY歪歪漫画AV漫画| 小烂货夹得好紧太爽了H苏妖精| 我和闺蜜在KTV被八人伦| 四虎必出精品884| 他揉捏她两乳不停呻吟人妻 | 久久亚洲AV成人无码国产最大| 久久精品国产精品国产精品污| 精品国产第一福利网站| 精品极品三大极久久久久| 精品欧美成人高清在线观看| 精品无码久久久久久久动漫| 久久久久九九精品影院| 浪荡艳妇爆乳JUFD汗だく肉感| 领导边摸边吃奶边做爽在线观看 | ASIAN高潮.颤抖.抽搐BL| 成熟老太毛茸茸BBWBBW| 337P日本欧洲亚洲大胆张筱雨| 中文字幕亚洲精品无码| 69国产成人精品午夜福中文| CHINESE熟女老女人HD视频| JAPANESEⅩⅩⅩHD护士| 薄白丝小仙女自慰喷水| 从厨房到餐桌JOYCE| 国产成人精品亚洲一区| 国产农村乱人伦精品视频| 黑料不打烊隐藏入口GITHUB| 久久99精品国产麻豆| 久久天天躁狠狠躁夜夜免费观看 | 国产精品久久久久精品综合紧| 国产女人乱人伦精品一区二区| 精产国品一二三区别9978| 久久久久久久精品免费| 欧美成人精品一区二区三区| 日本日本熟妇中文在线视频| 婷婷人人爽人人爽人人片| 亚洲AV无码成人精品区浪潮AV| 亚洲日韩V无码中文字幕| 综合成人亚洲偷自拍色| 超碰CAO已满18进入离开| 国产精品久久久久精品…| 精品视频无码一区二区三区| 免费无码高潮喷水AⅤ片在线| 日本插槽X8插槽怎么用 | 国产无套中出学生姝| 久久久久亚洲AV成人网 | 野花ぶるだいあり~しすWWW| 18精品久久久无码午夜福利| 成人永久免费福利视频免费| 国产香蕉尹人在线视频你懂的| 久久久久久亚洲AV无码专区| 欧美黑人粗暴多交高潮水最多| 少妇久久久久久被弄到高潮| 欧美多人片高潮野外做片黑人| 日日日日做夜夜夜夜无码| 午夜精品久久久久久| 亚洲最新无码中文字幕久久| www啪啪小白浆内射无码| 国产精品无码无在线观看| 久久久久亚洲AV无码专区体验| 秋霞国产成人精品午夜视频APP| 无码欧亚熟妇人妻AV在线| 亚洲一线产区二线产区区别在| WWW国产精品内射熟女| 国产未成满18禁止免费看| 美女脱个精光露出奶头和尿口| 少妇人妻偷人精品视蜜桃| 亚洲欧洲中文日韩AV乱码 | 国产精品成人一区二区三区视频| 精品久久久久久无码专区| 欧美一区二区三区性视频野战| 内射人妻无码色AV麻豆去百度搜| 日韩码一码二码三码区别| 亚洲AV无码ⅤS国产AV| AV人摸人人人澡人人超碰小说| 国产乱子伦精品无码码专区| 乱人伦人妻中文字幕无码91九| 少妇厨房愉情理伦BD在线观看 | 777爽死你免费看一二区无码| 东京热人妻中文无码AV| 久久ER99热精品一区二区| 日韩精品免费一线在线观看| 亚洲乱色熟女一区二区三区蜜臀 | 午夜成人理论无码电影在线播放| 中国JAPANESEXXXX少| 国产成人乱码一二三区18| 麻豆影视视频在线观看完整版| 凸凹人妻人人澡人人添医| 欲求不満な人妻は毎晩隣人に| 国产刺激男女视频在线| 免费A级毛片18禁| 透过校服的乳尖 揉捏| √天堂资源中文WWW| 国产亚洲AV电影院之毛片| 全免费A敌肛交毛片免费| 亚洲人妻免费视频| 国产成人亚洲精品另类动态| 内射大B美女毛片| 亚洲AV综合永久无码精品天堂| 成人无码免费一区二区三区| 六十路垂乳熟年交尾| 亚洲AV无码国产一区二区三区不| がーるずらっしゅ在线中文| 成人无码精品无码社区| 久久久综合九色综合88| 午夜毛片精彩毛片| 不卡无在一区二区三区四区| 老子午夜理论影院理论| 亚洲AV综合色区无码4区| 国产69成人精品视频免费| 你的棒棒可以桶桶我的下水道| 亚洲成AV人片在线观看无线| 丰满人妻熟妇乱偷人无码av| 欧美成人性生活视频| 亚洲日本一线产区二线区| 国产精品美女久久久网站动漫| 欧美在线 | 亚洲| 在公交车上弄到高C了| 韩国青草自慰喷水无码直播间 | 7723影视大全在线观看| 久久精品国产亚洲AV麻豆色欲| 午夜理论电影在线观看亚洲| 大象大象视频WWW在线观看| 女人被弄到高潮的免费视频 | 国产亚洲AV片在线观看播放| 色欲AV久久一区二区三区久| JAPANESE老熟妇乱子伦视| 巨粗进入警花哭喊求饶| 亚洲国产AV高清无码| 国产久9视频这里只有精品| 少妇高潮XXXⅩ白浆699| 拔萝卜影视剧免费观看| 女生让男生随便诵自己的名字| 一本到12不卡视频在线DVD| 娇妻出轨哀求高潮喷水| 亚洲AV成人一区二区三区不卡| 国产成人无码专区| 色狠狠AV一区二区三区| 波多野结衣的影片| 人人澡人人妻人人爽少妇| A级毛片高清免费视频在线播放| 美区APPSTORE精品| 伊人伊成久久人综合网| 久久久久免费看成人影片| 亚洲嫩草AV永久无码精品天堂| 黑人上司好猛我好爽中文字幕| 免费又大粗又爽又黄少妇毛片| 亚洲熟妇色ⅩXXXX日本| 狠狠色丁香婷婷久久综合| 性欧美极品XXXX欧美一区二区| 国产成人欧美精品视频APP| 熟妇高潮一区二区精品午夜无码| 成人免费乱码大片A毛片| 日本丰满护士爆乳XXⅩ| 宝宝握住坐下~它会自己动 | 欧美亚洲精品SUV| FREE性欧美18ⅩXOO极品| 欧美激情XXXX| 99久久久国产精品免费牛牛| 哦┅┅快┅┅用力啊┅警花少妇| 97碰碰碰人妻无码视频| 欧美精品人妻大乳一区二区| 9丨精品妻人一区二区三区蜜桃| 欧美日韩视频一区二区| ZOOM与牛性胶ZOOM| 日韩精品无码区免费专区| 成年午夜免费韩国做受| 色综合视频一区二区三区| 国产成人AV综合亚洲色欲美女| 婷婷综合缴情亚洲狠狠| 国产男男GAY做受XXX| 亚洲国产精久久久久久久| 精品人在线二线三线区别| 亚洲最大的AV网站| 妺妺窝人体色www聚色窝仙踪 | 亚洲人午夜射精精品日韩 | W永久939W乳液78|