基于零隐链AOS的应用:概率游戏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;

}

24小时热点

热点专题

Gem和Genie功能大对比

2022年4月25日,OpenSea官方发推宣布收购NFT交 ...

2397889

TopHolder 头号藏家

Genie 就是一个 NFT 市场的交易聚合器

Web3 中的「聚合器」是一个非常重要的组件,例如 1inc ...

2363077

嗨艺购

一个pi币现在值多少人民币?pi币2024年可以交易吗?

近年来,加密货币市场迅速发展,各种新型数字资产层出不穷。其中 ...

1625055

Alameda Research

USDT是什么币?新手如何购买和交易?

USDT是什么币?新手如何购买和交易?USDT是什么?USD ...

1301292

Cosmos Art

2024年pi币多少钱一个?介绍pi币历年价格

Pi币是一种新兴的数字货币,它的概念于2019年由一位斯坦福 ...

1287487

Alameda Research

CORE未来能涨到多少钱?core2024大约能涨到多少钱?

在数字货币市场中,CORE 作为一种加密货币,在过去的一段时 ...

878479

BitKeep钱包

欧科集团设立1000万元疫情防治专项基金 联合中华慈善总会共同支援一线防护工作

这个春节,新型冠状病毒疫情牵动着大家的心。1月26日0—24 ...

832338

TokenInsight

举报:PAXG币 (PAX Gold)涉嫌违法?

PAXG币(PAX Gold)是一种基于以太坊区块链网络创建 ...

780914

NewsBTC

什么是Polygon(Matic)网络?

由于网络拥堵仍然是以太坊区块链的一个问题,像Polygon这 ...

774002

树图链

ZT交易所介绍

ZT交易所介绍 ZT是为全球用户提供最优质数字资 ...

759409

ZT GLOBAL 交易所