时间:2023-08-14|浏览:167
那么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公链平台实现公平游戏的详细过程和技术实现。
热点:游戏