• <del id="siso2"><dfn id="siso2"></dfn></del> <strike id="siso2"><input id="siso2"></input></strike>
    <strike id="siso2"></strike>
    <ul id="siso2"></ul>
    
    
    <strike id="siso2"></strike>
    <strike id="siso2"></strike>

    零知識證明能否通過減少全鏈游戲與區塊鏈交互次數,提升用戶體驗?

    遇到的問題

    PopCraft 是一款全鏈上的消除游戲,每局游戲時長 4 分鐘,玩家在規定時間內消除棋盤上所有元素,會獲得代幣獎勵。

    由于全鏈上的特性,玩家在游戲過程中的每次操作都需要跟區塊鏈交互。以太坊二層的區塊時間通常為 2 秒,導致玩家在游戲中每次操作需要至少等待 2 秒才能完成,這遠遠超過同類 Web2 游戲中的等待時間,從而使 PopCraft 游戲體驗欠佳

    零知識證明能否通過減少全鏈游戲與區塊鏈交互次數,提升用戶體驗?零知識證明能否通過減少全鏈游戲與區塊鏈交互次數,提升用戶體驗?

    PopCraft 游戲主界面

    設想的方案

    我們設想在 PopCraft 中利用零知識證明技術(以下簡稱 ZKP),減少玩家在游戲過程中與區塊鏈的交互次數。

    預期的方式是:游戲過程不上鏈,但有機制可以確保無作弊風險。玩家在游戲中每一步操作都會生成 ZKP,后一步操作的 ZKP?基于前一步的 ZKP 來生成,從而形成一種類似區塊鏈結構的自包含 ZKP,游戲結束時將最后一步操作的 ZKP 發送到鏈上,交由智能合約驗證其結果。

    方案調研與推導

    1. 游戲過程與結果的防作弊:僅對游戲結果生成 ZKP 是不夠的,因為游戲的過程同樣存在作弊可能。因此,既要對游戲結果生成 ZKP,也要對游戲過程進行驗證。

    2. 逐步生成 ZKP 的技術挑戰:為了防作弊,需要對玩家在游戲中的每一個操作都生成 ZKP,在游戲結束時將最后一個 ZKP 上鏈進行驗證。這個過程中,每一步的 ZKP 都會依賴于前一步的 ZKP,直到游戲結束為止。

    但難點是:

       1> 新的 ZKP 生成需要依賴前一步的 ZKP,這使得驗證過程復雜且不確定能否可實現。此外, ZKP 驗證通過智能合約(鏈上)來做,后一步生成 ZKP 時該如何去驗證前一步的 ZKP 是正確的。

       2> 在通過智能合約驗證每一步的 ZKP 是否正確時,如何確保每個 ZKP 與前一個 ZKP 的連貫性,該問題不確定是否有方案可以解決。

    3. 公開游戲數據的問題:PopCraft 的游戲數據是公開的,因此通過 ZKP 做信息隱藏沒必要。如果上述驗證步驟均可實現的話,下一步需要考慮在合約端保存游戲數據。然而問題在于 ZKP 的性質無法解出具體的游戲數據,此時也不可直接相信客戶端傳給智能合約的游戲結果數據,這意味著智能合約無法直接存儲這些數據

    4. PopCraft 中消耗游戲道具(消耗 Token)的問題:當游戲過程涉及到通過游戲道具完成孤立元素的消除時,本質上對應的是 Token 消耗,需要將用戶錢包中對應的 Token 轉移,如何處理這一步 ZKP 生成和驗證也是一個問題。

        1> 一個可能的解決方案是:這一步繼續按照之前的流程生成 ZKP,驗證消耗的 Token 數量并最終發送給智能合約。然而,由于智能合約無法通過 ZKP 得到具體游戲數據,因此無法判斷應該轉移的 Token 數量。

        此外,假設玩家擁有 3 個 Token A,卻嘗試在游戲中消耗 4 個 Token A,這種錯誤會在游戲結束時才被發現,而不是在用戶操作實時被發現。

        2> 另一個可能的解法是:在使用 Token 完成孤立元素的消除時,直接與智能合約交互完成消除,然后更新玩家的 Token 余額。生成的 ZKP 只負責保存此時游戲操作和狀態的證明。

        那么此時在轉移 Token 成功之后,還需要像前面操作一樣繼續生成 ZKP,如果不生成,那么在轉移 Token 操作的上一步生成的 ZKP 與下一次生成的 ZKP 中間,多了一次與智能合約交互的步驟,那么 ZKP 中的游戲狀態就會沖突,這樣游戲結束時生成的 ZKP 是否有效也是一個懸而未決的問題。

    5. ZKP 的數據隱藏問題:對于 PopCraft 這種不需要隱藏游戲數據的場景來說,通過 ZKP 做數據隱藏是多余的,且增加了游戲數據獲取的難度以及工程實現方案的不確定性。PopCraft 只需確保游戲過程和結果無作弊風險即可,并不需要隱藏游戲過程數據。

    結論

    在 PopCraft 這樣的游戲中,游戲數據不需要隱藏,因此通過 ZKP 做信息隱藏沒有必要。為了通過縮短響應時間來提升游戲體驗,可以考慮游戲過程不上鏈,僅將最終結果上鏈。關鍵在于找到一種方法,可以確保從玩游戲的第一步到最后一步都沒有作弊可能,最后將正確的結果上鏈驗證即可

    如果通過 ZKP 進行信息隱藏,反倒是增加了工程實現難度。其次是如何確保游戲過程無作弊風險,使用 ZKP 能確保單個游戲操作無作弊風險,但為了減少跟區塊鏈的交互次數,又不能生成一次 ZKP 就提交一次。所以從游戲開始的第一步操作到游戲結束整個過程,又該如何保證無作弊風險,目前看來 ZKP 無法解決該問題。

    從我們的調研來看,游戲領域 ZKP 適合做兩類事情:

    1. 非完全信息博弈類游戲的信息隱藏,比如:黑暗森林、德州撲克、狼人殺、爐石傳說等。
    2. 游戲過程為單步的游戲結果證明,比如:彩票、猜數字、石頭剪刀布、骰子游戲等。

    由于我們在零知識證明技術上的儲備有限,本文內容可能存在事實性錯誤或不合理的工程設想,懇請具備豐富經驗的零知識證明領域專家批評指正。

    主站蜘蛛池模板: 香港三级精品三级在线专区 | 无码人妻精品中文字幕免费| 久久精品国产免费一区| 一本一本久久A久久综合精品| jizz国产精品| 国产精品久久一区二区三区| 亚洲AV永久无码精品成人| 久久无码精品一区二区三区| 91精品久久久久久无码| 大桥未久在线精品视频在线| 精品无码无人网站免费视频| 亚洲精品欧美二区三区中文字幕| 国产日韩精品无码区免费专区国产| 精品无人区麻豆乱码1区2区| 国产精品国产三级国产av品爱网| 亚洲国产精品高清久久久| 久久青青草原精品国产软件| 国产免费久久精品丫丫| 97久久精品人人澡人人爽| 欧美高清在线精品一区| 久久伊人精品青青草原高清| 91精品国产高清久久久久久io| 精品国产三级a∨在线| 精品亚洲A∨无码一区二区三区| 亚洲av无码乱码国产精品| 最新国产成人精品2024| 亚洲欧美日韩国产精品影院 | 国产精品186在线观看在线播放| 婷婷五月深深久久精品 | 国产精品一区二区av| 亚洲精品无码MV在线观看 | 精品国产福利第一区二区三区| 国产精品无码成人午夜电影| 久久精品人人做人人爽电影蜜月 | 精品无码综合一区| 国内精品久久久久久久coent| 国产小呦泬泬99精品| 国产区精品福利在线观看精品| 国产精品免费久久久久久久久| 国产伦精品一区二区三区视频金莲| 精品国产福利尤物免费|