首页 > 世链号 > 基于零隐链AOS的应用:概率游戏Dice的公平性实现
财经视野  

基于零隐链AOS的应用:概率游戏Dice的公平性实现

摘要:AOS官方主办的全球黑客马拉松创新大赛已完美落幕,大量优秀的参赛作品已经被AOS钱包DAPP中心上架,其中由美国团队开发的概率游戏Dice便是其中之一。

AOS官方主办的全球黑客马拉松创新大赛已完美落幕,大量优秀的参赛作品已经被AOS钱包DAPP中心上架,其中由美国团队开发的概率游戏Dice便是其中之一。Dice作品在此次大赛中获得了二等奖,经过层层评选最终进入获奖名单的Dice来头不小,其通过智能合约的方式与传统的摇骰子游戏相结合,通过区块链就书的不可篡改和透明特性,实现了游戏的公平性。

 

那么Dice是如何借助AOS公链平台去实现公平的呢?在技术上又是如何一步步实现的呢?

 

首先,服务器提交随机数hash到区块链的hashseedques表备用,id表页摇骰子的id,hashServer表示随机数的hash,createTime表示提交的时间戳

 

image.png

 

二、玩家端通过memo(游戏id | 赢率 | 客户端随机数),提交随机数,如下图为绿色的99,填充到区块链的workingdices表的randomNumber

 

image.png

 

三、服务器提交hash对应的随机数到区块链的workingdices表的seedServer

 

image.png

 

四、区块链算出随机数,并决定输赢

resultRandom=randomNumber+seedServer

8=(18+1388789)%100+1

 

附录一、1个随机数由三步产生区块链交易的附图

 

image.png

 

附录二,随机数和hash的关系

seedServer=genSeedServer(uuid)

 

image.png

 

public static Long genSeedServer(uuid) {

int nLen = uuid.length();

Long nSeed = 0l;

for (int i = 0; i < nLen; i++) {

nSeed += uuid.charAt(i)*uuid.charAt(i)*uuid.charAt(i);

nSeed = nSeed;

}

return nSeed%100+1;

}

 

附录三、算法描述

aos dice,真随机数生成方法

 

简要描述:

首先整个随机数生成过程是由玩家和服务器区块链,双方共同参与决定

同时服务器先提交随机数hash,客户端后提交随机数,服务器再提交hash对应的随机数,因此服务器无法操控随机数,是真随机数

 

具体步骤:

1.中心化服务器生成一个32位私钥级随机数PirvateLevelRandomX

 

2.中心话服务器,提前将sha256(PirvateLevelRandomX)提交给区块链

 

3.玩家摇一次骰子时,玩家端随机生成ClientRandomY,并将ClientRandomY提交给区块链

 

4.区块链会将ClientRandomY和sha256(PirvateLevelRandomX)组合到此次摇骰子游戏

 

5.服务器端提交genSeedServer(PirvateLevelRandomX)的随机数给区块链

 

6.区块链根据(genSeedServer(PirvateLevelRandomX)+ClientRandomY)%100+1

 

附录:

public static Long genSeedServer(PirvateLevelRandomX) {

int nLen = PirvateLevelRandomX.length();

Long nSeed = 0l;

for (int i = 0; i < nLen; i++) {

nSeed += PirvateLevelRandomX.charAt(i)*PirvateLevelRandomX.charAt(i)*PirvateLevelRandomX.charAt(i);

nSeed = nSeed;

}

return nSeed%100+1;

}

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。