ゲームは公正ですか?
間違いなく!そして、それを証明することができます。
まず、300,001ゲームの価値は十分に前もって生成され、チェーンを形成しているため、ゲームの各ラウンドのクラッシュ値は、賭けた人数と賭けた額に関係しません。
2つの異なるsha256ハッシュ(サーバーシードハッシュとクライアントシード)を組み合わせて、結果のデータ(単一のsha256)を数値に変換することにより、単一のクラッシュポイントが生成されます。
ただし、証明可能と見なされるためには、これら2つのデータ(sha256ハッシュ)を具体的な方法で選択する必要があります。データは、ハウスもプレイヤーも結果のクラッシュポイントを予測できないような方法で選択する必要があります。そのプロセスは次のように行われます。
ServerSeed — ここでは、クライアントシードが与えられる前に、プラットフォームが使用するハッシュチェーンを事前に確定・公開していることを説明します。私たちは、最初のサーバーシークレットから始まり、sha256 を 300,001 回連続して計算することで、300,001 個の sha256 ハッシュからなるゲーム/ハッシュチェーンを生成します。そして、そのハッシュチェーンの最後の sha256 の値を事前に公開し、コミットします。
ClientSeed — ハウスにとって有利なクラッシュポイントを生成するために、秘密情報を意図的に選択していないことを証明するため、ゲームチェーンからのハッシュは、プラットフォームが制御できないクライアントシードと組み合わされます。クライアントシードには、EOS ブロックチェーン上の、まだ生成されていないブロックのハッシュ値が使用されます。
存在の証明 — このメッセージが、クライアントシードとして使用される EOS ブロックが生成される前に作成されたことを証明するため、ServerSeed および ClientSeed に関する情報をメモとして EOS ブロックチェーン上のトランザクションに埋め込みます。この時点では、クライアントシードとして使用されるブロックはまだ生成されていません。
選択したチェーンは、プラットフォームにとって有益なものではないことが証明できます。プラットフォームは、ClientSeedとして将来のEOS Blockhashを発表しました。これは、生成される前は誰も予測できません。つまり、最初のイニングの開始時点で、各ゲームのクラッシュ値は完全に未知のものです。(開始後に変更することも不可能です)
ランダムなクラッシュ番号の式は次のとおりです。
let seed = gameHash
let hash = sha256(seed + salt)
var h = parseInt(hash.slice(0, 13), 16);
var e = Math.pow(2,52);
return ( Math.floor( (96 * e) / (e - h) ) / 100 ).toFixed(2);
