時間:2023-08-14|瀏覽:249
那么Dice是如何利用AOS公鏈平臺實現公平游戲的呢?在技術上又是如何實現的呢?
首先,服務器將隨機數的哈希提交到區塊鏈的hashseedques表備用,其中id表表示搖骰子的id,hashServer表示隨機數的哈希,createTime表示提交的時間戳。
其次,玩家端通過memo(游戲id|贏率|客戶端隨機數)提交隨機數,例如綠色的99,填充到區塊鏈的workingdices表的randomNumber中。
然后,服務器將哈希對應的隨機數提交到區塊鏈的workingdices表的seedServer中。
最后,區塊鏈計算隨機數并決定輸贏。
具體計算方式為:resultRandom = randomNumber + seedServer,例如8 = (18 + 1388789) % 100 + 1。
附錄一:一個隨機數由三步產生區塊鏈交易的附圖。
附錄二:隨機數和哈希的關系,其中seedServer = genSeedServer(uuid)。
附錄三:算法描述,aosdice真隨機數生成方法。整個隨機數生成過程由玩家和服務器共同參與決定,服務器無法操控隨機數,因此是真隨機數生成。具體步驟為:中心化服務器生成32位私鑰級隨機數PirvateLevelRandomX,服務器將sha256(PirvateLevelRandomX)提交給區塊鏈,玩家搖骰子時生成ClientRandomY并提交給區塊鏈,區塊鏈將ClientRandomY和sha256(PirvateLevelRandomX)組合用于本次搖骰子游戲,服務器提交genSeedServer(PirvateLevelRandomX)的隨機數給區塊鏈,區塊鏈根據(genSeedServer(PirvateLevelRandomX) + ClientRandomY) % 100 + 1計算真隨機數。
以上就是Dice如何借助AOS公鏈平臺實現公平游戲的詳細過程和技術實現。
熱點:游戲