Oikeudenmukaisuus
Alkuperäisten noppien ja alueen noppien oikeudenmukaisuus
Emme halua, että uskot vain sanaamme turvallisuudesta. Sen sijaan aiomme selittää, kuinka takaamme jokaisen heiton oikeudenmukaisuuden.
Satunnaisuus pähkinänkuoressa
Jäsenemme voivat vahvistaa panoksensa milloin tahansa haluavat. Tätä varten heidän pitäisi johtaa heitto numero.
Jos lisäät kolmannen elementin – Nonce – Client Seedin ja Server Seedin pariin, voit johtaa panoksen tuloksen. Tietenkin, jos paljastat tuloksesi etukäteen, se pilaisi koko prosessin. Siksi käytämme SHA-256 -hashia piilottaaksemme Server Seedisi hetkeksi. Jokainen Seed paljastuu sen jälkeen, kun viimeinen satunnaistaminen on tapahtunut. Tämä antaa käyttäjillemme mahdollisuuden vahvistaa heittonsa läpinäkyvästi.
Kuinka kierrosnumerot lasketaan
Pelin säännöt edellyttävät, että meidän on tiedettävä kierrosnumero. Saadaksemme sen, meidän tulisi tehdä joitain laskelmia. Yhdistä vedonlyöntinumerosi, Server ja Client Seeds. Tuloksena saamme lukeman 0 ja 9,999 välillä.
Näin se toimii:
yhdistelmä = Server Seed + Client Seed + NonceLisäksi tarvitsemme 128-merkkisen heksadesimaalimerkkijonon käyttämällä SHA-512 hashia:
hash = SHA512(yhdistelmä)Tässä vaiheessa muunnetaan 5 merkkiä tästä hashista niin sanotuksi desimaaliluvuksi. Sitten on kolme mahdollista skenaariota. Jos se on miljoona tai enemmän, jatkamme samalla käyttäen seuraavia 5 merkkiä. Tämä voi tapahtua jopa 25 kertaa. Jos mikään näistä yrityksistä ei tuottanut tulosta, joka oli alle miljoonan, viimeiset 3 merkkiä muunnetaan kierrosnumeroksesi. Vastakkaisessa tapauksessa jaamme sen 10K:lla ja pidämme kierroslomasi tuloksena.
Miltä koodi näyttää
Käytä online vahvistinta tai katso koodiesimerkkiä nähdäksesi, kuinka vahvistamme vetosi:
function getRoll(serverSeed, clientSeed, nonce) {
var hash = sha512(serverSeed + clientSeed + nonce);
var index = 0;
do {
var lucky = parseInt(hash.substr(index, 5), 16);
index += 5;
} while (lucky >= 1000000);
return lucky % 10000;
}