久久精品国产精品亚洲色婷婷丨国产精品午夜福利视频234区丨奇米综合四色77777久久丨三级男人添奶爽爽爽视频丨日韩av无码一区二区三区无码

  • 元宇宙:本站分享元宇宙相關(guān)資訊,資訊僅代表作者觀點(diǎn)與平臺(tái)立場無關(guān),僅供參考.

BitVM背景知識(shí):欺詐證明與ZK Fraud Proof的實(shí)現(xiàn)思路

  • 2025年2月27日 23:34

作者:Shew&Noah,仙壤GodRealmX

眾所周知,欺詐證明是一種在Blockchain領(lǐng)域中被廣泛應(yīng)用的技術(shù)方案,其最早發(fā)源于Ethereum社區(qū),并被Arbitrum和Optimism等知名EthereumLayer2所采用。2023年Bitcoin生態(tài)興起后,RobinLinus提出了名為BitVM的方案,以欺詐證明為核心思想,在Taproot等Bitcoin既有技術(shù)的基礎(chǔ)上,為Bitcoin二層或橋提供了新的安全模型。

BitVM曾先后推出過多個(gè)理論版本,從最早的以邏輯門電路為基元的BitVM0,到后來以ZKFraudProof和Groth16驗(yàn)證電路為核心的BitVM2,與BitVM相關(guān)的技術(shù)實(shí)現(xiàn)路徑在不斷的演化并趨于成熟,吸引了許多從業(yè)人員的關(guān)注。大家所聽聞的Bitlayer、Citrea、BOB、Fiamma和Goat Network等項(xiàng)目均以BitVM為技術(shù)根基之一,在此基礎(chǔ)上進(jìn)行了不同版本的實(shí)現(xiàn)。

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

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

如果定序器把錯(cuò)誤的狀態(tài)集hash上傳到了Ethereum上,那么你在本地算出的狀態(tài)集hash會(huì)與之不同,此時(shí)你可以通過欺詐證明系統(tǒng)發(fā)起質(zhì)疑,系統(tǒng)會(huì)根據(jù)判決結(jié)果對定序器采取限制或懲罰亦或不處罰。

提到“狀態(tài)集”一詞,EVM系Blockchain常用到MerkleTree式的數(shù)據(jù)結(jié)構(gòu)來記錄狀態(tài)集,名為WorldStateTrie。一筆交易被執(zhí)行后,某些賬戶的狀態(tài)會(huì)變化,WorldStateTrie便會(huì)發(fā)生變化,其最終hash也會(huì)變更。Ethereum將WorldStateTrie的最終hash稱為StateRoot,用其表現(xiàn)狀態(tài)集的變化。

下圖展示了EthereumstateRoot的構(gòu)成,我們可以看到Ethereum內(nèi)不同賬戶的余額,智能合約賬戶關(guān)聯(lián)的代碼hash等數(shù)據(jù)都會(huì)被匯總到WorldStateTrie中,并依此計(jì)算出stateRoot。

MIPS虛擬機(jī)與內(nèi)存MerkleTree

前面我們提到,假設(shè)我發(fā)現(xiàn)OP定序器提交的OutputRoot有問題,就可以發(fā)起“挑戰(zhàn)”,挑戰(zhàn)流程需要在鏈上完成一系列交互動(dòng)作,交互完成后,相關(guān)智能合約會(huì)斷定OP定序器是否上傳了錯(cuò)誤的OutputRoot。

如果要在鏈上用智能合約驗(yàn)證OutputRoot的正確性,最簡單的方法是在Ethereum鏈上實(shí)現(xiàn)出OP節(jié)點(diǎn)客戶端,采用與OP定序器相同的輸入?yún)?shù),執(zhí)行相同的程序,查驗(yàn)計(jì)算結(jié)果是否一致。這個(gè)方案被稱為FaultProofProgram,其在鏈下很容易實(shí)現(xiàn),但想要在Ethereum鏈上運(yùn)行卻十分困難。因?yàn)榇嬖趦蓚(gè)問題:

1. Ethereum上的智能合約無法自動(dòng)獲得欺詐證明需要的輸入?yún)?shù);

2. Ethereum每個(gè)區(qū)塊的GasLimit有限,不支持復(fù)雜度過高的計(jì)算任務(wù),我們無法在鏈上完全實(shí)現(xiàn)OP節(jié)點(diǎn)客戶端

第一個(gè)問題等價(jià)于讓鏈上智能合約讀取鏈下數(shù)據(jù),可以通過類似預(yù)言機(jī)的方案來解決。OP在Ethereum鏈上專門部署了PreimageOracle合約,欺詐證明相關(guān)合約可以在PreimageOracle內(nèi)讀取所需的數(shù)據(jù)。

理論上任何人都可以向該合約隨意上傳數(shù)據(jù),但OP的欺詐證明系統(tǒng)有辦法鑒別數(shù)據(jù)是否為其所需,具體過程在此不展開論述,因?yàn)閷Ρ疚牡暮诵脑掝}而言不重要。

對于第二個(gè)問題,OP開發(fā)團(tuán)隊(duì)用Solidity編寫了一個(gè)MIPS虛擬機(jī),實(shí)現(xiàn)了OP節(jié)點(diǎn)客戶端中的部分功能,足夠欺詐證明系統(tǒng)所用。MIPS是一種常見的CPU指令集架構(gòu),而OP定序器的代碼是用Golang/Rust等高級(jí)語言編寫的,我們可以將Golang/Rust寫的程序編譯為MIPS程序,然后通過Ethereum鏈上的MIPS虛擬機(jī)進(jìn)行處理。

OP的開發(fā)團(tuán)隊(duì)使用Golang編寫了欺詐證明所需的最簡化程序,與OP節(jié)點(diǎn)中執(zhí)行交易、生成區(qū)塊及OutputRoot的模塊功能基本一致。不過這套精簡化的程序仍無法“完整執(zhí)行”。

也就是說,每個(gè)OP區(qū)塊中包含很多筆交易,這批交易處理完后,會(huì)得到一個(gè)OutputRoot。雖然你知道是哪個(gè)區(qū)塊高度下的OutputRoot有錯(cuò)誤,但你如果要把該區(qū)塊中包含的交易全都放到鏈上去跑,證明對應(yīng)的OutputRoot有錯(cuò),是不現(xiàn)實(shí)的。

此外,每筆交易的執(zhí)行流程中,又涉及到一連串MIPS操作碼的有序處理,你不可能把這一串操作碼都放到鏈上合約實(shí)現(xiàn)的MIPS虛擬機(jī)中去跑,因?yàn)樯婕暗挠?jì)算開銷和Gas消耗量太大。

Ethereum鏈上與欺詐證明相關(guān)的智能合約,會(huì)通過以下名為Step的函數(shù)完成最后的MIPS操作碼執(zhí)行流程:

_stateData和_proof輸入這些MIPS虛擬機(jī)的環(huán)境參數(shù),在鏈上運(yùn)行單條MIPS指令,獲得權(quán)威結(jié)果。如果鏈上得出的權(quán)威結(jié)果與定序器提交的結(jié)果不一致,則說明定序器做惡。

step函數(shù)中的_proof字段來上傳到Ethereum鏈上。這里還要上傳基于內(nèi)存Merkle樹的默克爾證明,證明你/定序器提供的數(shù)據(jù)的確存在于內(nèi)存Merkle樹中,而非憑空編造的。

交互式欺詐證明

在上文中,我們已經(jīng)解決了第二個(gè)問題,完成了MIPS操作碼的鏈上執(zhí)行與虛擬機(jī)狀態(tài)驗(yàn)證,但挑戰(zhàn)者與定序器該如何定位到那條有爭議的MIPS操作碼指令?

相信很多人在網(wǎng)上多多少少閱讀過交互式欺詐證明的簡單解釋,對于其二分法的思路有所聽聞。OP團(tuán)隊(duì)開發(fā)了一套被稱為FaultDisputeGame(FDG)的協(xié)議,在FDG中,包含兩個(gè)角色:挑戰(zhàn)者和防御者。

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

1.FDG先定位到需要上鏈執(zhí)行的MIPS操作碼及此時(shí)的VM狀態(tài)信息;

2.在Ethereum鏈上實(shí)現(xiàn)的MIPS虛擬機(jī)里執(zhí)行該操作碼,獲得最終結(jié)果。

ZK化欺詐證明

我們可以看到上述傳統(tǒng)欺詐證明的交互極為復(fù)雜,需要在FDG流程里進(jìn)行多輪交互,然后將單條指令在鏈上重放。但這種方案存在幾個(gè)難點(diǎn):

1.多輪交互需要在Ethereum鏈上觸發(fā),差不多需要幾十次交互,會(huì)產(chǎn)生大量gas成本;

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

3.鏈上實(shí)現(xiàn)特定VM來重放指令是較為復(fù)雜的,開發(fā)難度極高

為了解決這些問題,Optimism官方提出了ZKFraudProof的概念。核心在于當(dāng)挑戰(zhàn)者進(jìn)行挑戰(zhàn)時(shí),指定其認(rèn)為需要在鏈上重放的一筆交易,Rollup定序器給出被挑戰(zhàn)交易的ZK證明,由Ethereum上的智能合約進(jìn)行驗(yàn)證,如驗(yàn)證通過,則可認(rèn)為該交易的處理流程沒錯(cuò)誤,Rollup節(jié)點(diǎn)沒做惡。

ZK化欺詐證明的思路也被BitVM2所采用。采用BitVM2的項(xiàng)目方如Bitlayer和GoatNetwork及ZKM、Fiama等,通過Bitcoin腳本來實(shí)現(xiàn)ZKProof驗(yàn)證程序,并對需要上鏈的程序尺寸進(jìn)行了極大程度的精簡化。限于篇幅,本文不展開贅述,大家可等待我們之后關(guān)于BitVM2的文章來深入理解其實(shí)現(xiàn)路徑,敬請期待!

Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM

主站蜘蛛池模板: 久久日产一线二线三线suv| 300部国产真实乱| 亚洲精品无码少妇30p| 色一乱一伦一图一区二区精品| 日本二区三区欧美亚洲国产| 青青在线久青草免费观看| 亚洲国产aⅴ成人精品无吗| 午夜精品久久久内射近拍高清| 亚洲精品自产拍在线观看亚瑟| 成人免费毛片内射美女-百度| 亚洲欧美熟妇综合久久久久| 内射视频←www夜| 亚洲精品乱码久久久久66| 动漫高h纯肉无码视频在线观看| 丝袜高潮流白浆潮喷在线播放 | 国产午夜亚洲精品理论片八戒 | 波多野结衣人妻| 久久婷婷五月综合97色| 亚洲日本丝袜丝袜办公室| 亚洲国产日韩在线人高清 | 人禽交 欧美 网站| 亚洲国产精品嫩草影院永久| 久久久久亚洲精品无码蜜桃| 日本vs亚洲vs韩国一区三区| 99在线精品国自产拍中文字幕| 97在线视频免费人妻| 成熟丰满熟妇高潮xxxxx视频| 亚洲欧美v国产蜜芽tv| 精品无码专区毛片| 啪一啪射一射插一插| 免费毛片手机在线播放 | 免费特黄夫妻生活片| 中文日产幕无线码6区收藏| 伊人久久大香线蕉精品| 中文字幕人妻中文av不卡专区| 婷婷色香五月综合缴缴情香蕉 | 人人澡人人澡人人看添| 亚洲va天堂va在线va欧美| 18禁超污无遮挡无码网址| 暖暖免费 高清 日本社区在线观看 | 伊人色综合久久天天人守人婷|