99ri日韩国产,日韩国产欧美另类,亚洲ⅴa在线va天堂va,青青青亚洲视频

    
    

    <th id="crsrf"><progress id="crsrf"><listing id="crsrf"></listing></progress></th>
    當(dāng)前位置:區(qū)塊鏈 >區(qū)塊鏈 > 全鏈游戲新篇章:用 zkWASM 開(kāi)發(fā)可證明游戲

    全鏈游戲新篇章:用 zkWASM 開(kāi)發(fā)可證明游戲

    更新時(shí)間:2024-01-30 08:25:43 | 作者:佚名
    鏈上游戲和可驗(yàn)證游戲的未來(lái)開(kāi)發(fā)者體驗(yàn),將會(huì)是高度模塊化,可插拔式的。 撰文:wangyao、0xbrawler 太長(zhǎng)不看版: ZK協(xié)處理器方法提供了可驗(yàn)證游戲所需的信任假設(shè),以及開(kāi)發(fā)引人入勝的游戲體驗(yàn)所需的計(jì)算能力 對(duì)于經(jīng)驗(yàn)豐富的游戲開(kāi)發(fā)人員來(lái)說(shuō),【非常】需要Unity/Unreal原生解決方案,而不是把在Solidity/Cairo的核心游戲邏輯,...
    鏈上游戲和可驗(yàn)證游戲的未來(lái)開(kāi)發(fā)者體驗(yàn),將會(huì)是高度模塊化,可插拔式的。


    撰文:wangyao、0xbrawler


    太長(zhǎng)不看版:


    • ZK 協(xié)處理器方法提供了可驗(yàn)證游戲所需的信任假設(shè),以及開(kāi)發(fā)引人入勝的游戲體驗(yàn)所需的計(jì)算能力
    • 對(duì)于經(jīng)驗(yàn)豐富的游戲開(kāi)發(fā)人員來(lái)說(shuō),【非?!啃枰?Unity/Unreal 原生解決方案,而不是把在 Solidity/Cairo 的核心游戲邏輯,和 Unity 中的動(dòng)畫(huà) / 渲染二者進(jìn)行同步
    • 鏈上游戲和可驗(yàn)證游戲的未來(lái)開(kāi)發(fā)者體驗(yàn),將會(huì)是高度模塊化,可插拔式的(到底有多上鏈算上鏈?我們認(rèn)為應(yīng)該由開(kāi)發(fā)者和用戶決定)
    • 未來(lái),我們相信將會(huì)有彈性的方法,來(lái) tradeoff 信任假設(shè)、證明成本、開(kāi)發(fā)成本,從而開(kāi)發(fā)成本可控的可驗(yàn)證游戲


    為什么要開(kāi)發(fā)可證明游戲?


    2023 年是鏈上游戲(FOCG)/ 自主世界(AW)蓬勃發(fā)展的一年,出現(xiàn)了大量的基礎(chǔ)設(shè)施。這包括 Mud.dev、Dojo、World Engine、Keystone、Paima 等等。此外,Altlayer、Caldera、Conduit 等 Rollup 服務(wù)供應(yīng)商也吸引了眾多全鏈游戲開(kāi)發(fā)者進(jìn)行開(kāi)發(fā)。


    然而,通過(guò)開(kāi)發(fā)和運(yùn)營(yíng)我們的第一個(gè)鏈上大逃殺游戲 Loot Royale,并在一個(gè)月內(nèi)達(dá)到了每日活躍用戶 600–800 人的過(guò)程中,我們發(fā)現(xiàn)了一個(gè)重要問(wèn)題:


    如果把游戲邏輯全部放在鏈上,那么 EVM 本身的有限計(jì)算能力將會(huì)成為游戲開(kāi)發(fā)最大的瓶頸。


    計(jì)算能力的不足限制了游戲類型(低計(jì)算量、單線程、異步游戲?yàn)橹鳎?,以及用戶體驗(yàn)(大家要等交易打包、RPC hydration 等)。


    簡(jiǎn)單舉幾個(gè)例子。我們收到了很多反饋,比如「我希望我的交易能及時(shí)被打包,這樣那次攻擊就能命中了」,以及「RPC 數(shù)據(jù)什么時(shí)候才能完成加載」。這必須改變。


    玩家們等 RPC hydration 真是急得不行


    在嘗試在各種技術(shù)棧上開(kāi)發(fā)之后,我們相信如果能夠在鏈下證明計(jì)算,那么其可信性效果應(yīng)當(dāng)極度接近于全鏈上的交易 / 計(jì)算。我們通過(guò)采用「鏈下執(zhí)行,鏈上驗(yàn)證」的原則來(lái)解決 EVM 的有限計(jì)算能力。這有幾個(gè)優(yōu)勢(shì):


    • 改善用戶體驗(yàn),減少等待時(shí)間
    • 擴(kuò)展游戲類別,包括像塔防這樣需要更多計(jì)算的「硬核休閑」(mid-core)游戲
    • 支持隱藏信息(hidden information)在游戲中的應(yīng)用


    我們將首先簡(jiǎn)要介紹我們?nèi)绾问褂?zkWASM 開(kāi)發(fā)可證明的游戲。然后我們將討論我們的 zkwasm-unity 解決方案,這是行業(yè)內(nèi)首個(gè)允許直接從 Unity 開(kāi)發(fā)可證明游戲的方案。


    Blade Games 的技術(shù)架構(gòu)


    基于 zkwasm 開(kāi)發(fā)簡(jiǎn)單的塔防游戲


    技術(shù)架構(gòu)這里分成兩部分,第一部分是用 Rust 編寫(xiě)簡(jiǎn)單的 PvE、PvP 塔防游戲,并通過(guò) zkwasm 進(jìn)行驗(yàn)證。


    第二部分是我們的路線圖,我們計(jì)劃開(kāi)發(fā)一個(gè)將 C#編譯成 wasm 的編譯器,并對(duì)現(xiàn)有 zkwasm 架構(gòu)進(jìn)行適當(dāng)修改,從而實(shí)現(xiàn)一個(gè)更加模塊化、彈性化的可證明游戲開(kāi)發(fā)方案。(zkwasm 由 Delphinus Labs 開(kāi)發(fā),是一個(gè)運(yùn)行 wasm 代碼并生成其執(zhí)行軌跡的 zkSNARK 證明的 zkVM。)


    讓我們從 PvE 示例開(kāi)始?—?我們用 Rust 和 Bevy Engine 編寫(xiě)游戲。


    Rust 可以輕松編譯成 wasm,并在 zkwasm VM 中處理之前生成一個(gè) wasm 映像(image)。然后我們可以選擇將處理后的執(zhí)行軌跡發(fā)布到數(shù)據(jù)可用性層(Data Availability Layer)并稍后證明它?;蛘哂脩粢部梢赃x擇立刻證明,并將 zkSNARK 證明發(fā)送到鏈上(使用單張 RTX4090 GPU 大約 45 秒就可以處理 100 萬(wàn)字碼規(guī)模的證明,這對(duì)于較慢節(jié)奏的塔防游戲來(lái)說(shuō)已經(jīng)足夠了)。


    游戲然后被分解為幾個(gè)步驟。


    • 玩家將確認(rèn)地圖設(shè)置并將相關(guān)信息 commit 到鏈上
    • 游戲邏輯在 rust 代碼中運(yùn)行一波戰(zhàn)斗;相關(guān)的 execution trace 可以由 zkwasm 證明,玩家提交 zk 證明到鏈上
    • 新一波怪物來(lái)臨,玩家可以選擇保持之前的炮塔設(shè)置,或者再次提交新的 commit
    • 玩家在每波戰(zhàn)斗中間不能更改塔的設(shè)置,如果他們更改地圖設(shè)置,他們可以再次提交新 commit



    (玩家將確認(rèn)地圖設(shè)置并將 zkwasm 輸出提交到鏈上)



    (游戲邏輯在 rust 代碼中運(yùn)行一波戰(zhàn)斗。相關(guān)的 execution trace 可以由 zkwasm 證明,玩家提交 zk 證明到鏈上)


    Zinity:第一個(gè)允許直接從 Unity 開(kāi)發(fā)可驗(yàn)證游戲的解決方案


    對(duì)于許多游戲開(kāi)發(fā)者來(lái)說(shuō),在鏈上開(kāi)發(fā)游戲意味著他們需要學(xué)習(xí) solidity、rust 或 cairo。這意味著他們需要停止使用他們熟悉的 C#。此外,嘗試將 Unity 引擎的渲染和動(dòng)畫(huà)與基于 Mud/dojo 的 solidity/cairo 游戲邏輯代碼統(tǒng)一起來(lái),是一個(gè)非常耗時(shí)費(fèi)力的過(guò)程。


    我們將發(fā)布第一個(gè)使用 zk 協(xié)處理器、Unity 原生的解決方案,用于鏈上游戲的「zkServer」開(kāi)發(fā)框架。我們稱之為 Zinity。


    游戲代碼被解耦為:


    1)核心邏輯代碼(攻擊,戰(zhàn)利品箱,單位坐標(biāo)等)

    2)其余代碼。然后,這兩部分代碼都從 C#編譯成 wasm,核心游戲邏輯由 zkwasm runtime 運(yùn)行,其余代碼在普通的 C# runtime 運(yùn)行。將有一個(gè)處理消息的通信協(xié)議來(lái)負(fù)責(zé)兩邊的通信。


    zkWASM 將以二進(jìn)制代碼形式,見(jiàn)證諸如「玩家 A 在時(shí)間 X 在坐標(biāo)(x,y)放置了一個(gè)炮塔」的動(dòng)作。隨著新的一局游戲開(kāi)始,我們開(kāi)始獲取初始游戲狀態(tài)。隨著游戲的進(jìn)行,zkwasm 將見(jiàn)證并計(jì)算更多玩家輸入。當(dāng)本局游戲結(jié)束時(shí),將會(huì)生成附帶哈希值的新游戲狀態(tài)和相關(guān)的執(zhí)行軌跡(execution trace)。


    我們可以選擇將整個(gè)執(zhí)行軌跡(execution trace)發(fā)布到諸如 Eigenlayer/Celestia/Avail/Greenfield 之類的數(shù)據(jù)可用性層(DA layer)上。或者用戶可以選擇只將哈希值放在數(shù)據(jù)可用性層上,將軌跡(trace)存儲(chǔ)在云存儲(chǔ)中。此外,我們還會(huì)設(shè)計(jì)一個(gè)挑戰(zhàn)期,以 fault proof 的方式,來(lái)驗(yàn)證游戲狀態(tài)。


    此外,對(duì)于重要的、玩家參與經(jīng)濟(jì)單位較大的游戲結(jié)果,用戶還可以選擇為全部游戲過(guò)程生成 zk 證明,并直接發(fā)布在 DA 層上。



    最后,所有流程將被整合并作為 Unity SDK(非動(dòng)畫(huà)和渲染)或 CLI 工具來(lái)指導(dǎo)整個(gè)工具鏈。


    我們還可以將此解決方案擴(kuò)展到其他游戲引擎,如 Unity/Unreal/Godot。未來(lái)計(jì)劃還包括與其他 zkVM(如 RiscZero)以及各種 DA 層(Eigenlayer/Celestia)集成。


    通過(guò)這種方法,我們可以大大擴(kuò)展鏈上游戲 / 可驗(yàn)證游戲開(kāi)發(fā)者社區(qū),吸引 web2 游戲開(kāi)發(fā)者和各種游戲工作室。


    帶有 ERC-6551 的鏈上街機(jī) + 塔防游戲玩法


    此外,我們還在探索圍繞可驗(yàn)證游戲的鏈上街機(jī)概念。例如,玩家也可以在鏈上提交某種塔 / 炮塔 / 障礙物的設(shè)置,另一個(gè)玩家可以提交他們選擇的怪物和小兵,以嘗試完成關(guān)卡。戰(zhàn)斗結(jié)果在本地計(jì)算,只有 zk-snark 證明提交到鏈上,以驗(yàn)證游戲結(jié)果。這是為了確保通過(guò)關(guān)卡的方法,不會(huì)被廣播到鏈上被大眾可見(jiàn)。


    ERC-6551(代幣綁定賬戶)將使這些 PvP 對(duì)局,變成自主街機(jī)(autonomous arcade)。開(kāi)設(shè)房間的玩家可以向智能合約存入獎(jiǎng)勵(lì),而挑戰(zhàn)者需要支付固定入場(chǎng)費(fèi),該費(fèi)用累積到獎(jiǎng)金池中,以獎(jiǎng)勵(lì)完成關(guān)卡的玩家。前 10 名完成關(guān)卡的玩家,可以拿走一定比例的獎(jiǎng)金池獎(jiǎng)勵(lì)。


    我們正在積極探索這個(gè)自主街機(jī)的想法,并歡迎在 twitter 上(@BladeGamesHQ)進(jìn)行任何類型的討論。在我們即將發(fā)布的文章中,我們會(huì)討論塔防游戲的 PvP 示例。



    我們即將在 ETHdenver 上展示的游戲


    我們將在 ETHdenver 展示一個(gè)可驗(yàn)證的游戲演示。這款游戲?qū)⑹褂?Rust 和 React 開(kāi)發(fā),在 zkwasm 上運(yùn)行。在twitter上聯(lián)系我們,我們會(huì)把你加入早期試玩人員名單!


    結(jié)論,和我們接下來(lái)要發(fā)布的內(nèi)容


    • ZK 協(xié)處理器方法提供了所需的信任假設(shè),以及開(kāi)發(fā)人員打造引人入勝的游戲體驗(yàn)所需的計(jì)算能力
    • 對(duì)于經(jīng)驗(yàn)豐富的游戲開(kāi)發(fā)人員來(lái)說(shuō),(非常)需要 Unity/Unreal 原生解決方案,而不是必須在 Unity 中統(tǒng)一 Solidity/Cairo 中的核心游戲邏輯和 Unity?中的動(dòng)畫(huà) / 渲染
    • 鏈上游戲和可驗(yàn)證游戲的未來(lái)開(kāi)發(fā)者體驗(yàn),將會(huì)是高度模塊化,可插拔式的(到底有多上鏈算上鏈?我們認(rèn)為應(yīng)該由開(kāi)發(fā)者和用戶決定)
    • 未來(lái),我們相信將會(huì)有彈性的方法來(lái)權(quán)衡信任假設(shè)、證明成本、開(kāi)發(fā)成本來(lái)開(kāi)發(fā)可驗(yàn)證游戲


    我們的 Zinity 解決方案為 web2 和 web3 開(kāi)發(fā)者,提供了開(kāi)發(fā)可驗(yàn)證游戲的順暢上手體驗(yàn)。我們相信,讓開(kāi)發(fā)者使用各種類型的游戲引擎,以及不同的 DA 層和 zkVM 進(jìn)行開(kāi)發(fā)的即插即用方法,也將提供更大的開(kāi)發(fā)體驗(yàn)靈活性。


    我們?cè)O(shè)想未來(lái)的開(kāi)發(fā)者體驗(yàn)是這樣的:Zinity 可以為可證明游戲提供「彈性」支持,并為 crypto 開(kāi)發(fā)者、 Web2 游戲開(kāi)發(fā)者提供可證明游戲的可插拔開(kāi)發(fā)選項(xiàng)。


    比如開(kāi)發(fā)者可以用 Rust 編寫(xiě)核心游戲邏輯,用 C# 和 Unity 編寫(xiě)游戲的其余部分,并在鏈上 commit 執(zhí)行軌跡 / 軌跡的哈希,延后生成 ZKP,這樣開(kāi)發(fā)成本、證明成本都會(huì)好很多。


    這種彈性模型還可以幫助開(kāi)發(fā)人員,在 C#和 unity 引擎內(nèi)部快速測(cè)試早期游戲創(chuàng)意,然后繼續(xù)迭代他們所希望的游戲「上鏈程度」(到底有多上鏈算上鏈?我們認(rèn)為應(yīng)該由開(kāi)發(fā)者和用戶決定)。同時(shí)也提前壓力測(cè)試游戲設(shè)計(jì) vs. 區(qū)塊鏈性能的 tradeoff。


    當(dāng)我們開(kāi)發(fā)自己的游戲,并測(cè)試各種技術(shù)棧時(shí),我們意識(shí)到我們?nèi)匀恍枰?jīng)驗(yàn)豐富的 web2 游戲開(kāi)發(fā)者嘗試開(kāi)發(fā)可驗(yàn)證游戲,以獲得更好的游戲心流和 UIUX。因此,我們提出了自己的首創(chuàng)解決方案,并希望為更廣泛的鏈上游戲開(kāi)發(fā)者社區(qū)做出貢獻(xiàn)。



    我們已經(jīng)就使用 zkwasm 和可驗(yàn)證游戲開(kāi)發(fā)的一些話題寫(xiě)了很多內(nèi)容,并正在進(jìn)行剩余的工作。這里是一些話題:


    • 修改 zkwasm 以實(shí)現(xiàn)可驗(yàn)證游戲(進(jìn)行中)
    • 這種方法的 DA 成本和證明成本估算(已完成)
    • 可驗(yàn)證游戲的 modding、可互操作性和鏈上無(wú)許可的交互(進(jìn)行中)
    • 相關(guān)的可驗(yàn)證游戲設(shè)計(jì)思路(進(jìn)行中)


    感謝 Sinka、Wangyao、Will Robinson、Mohamed Fouda、LoneSCV、0xAiko、Simon Chan、Maggie Wu、James Fang、Zee 等人對(duì)本文的貢獻(xiàn)

    本站提醒:投資有風(fēng)險(xiǎn),入市須謹(jǐn)慎,本內(nèi)容不作為投資理財(cái)建議。