Com certeza! Preste atenção nos detalhes abaixo.
Primeiramente, é importante destacar que os valores das rodadas já são pré-definidos (se cria uma corrente com 300,001 rodadas), então o valor do Crash em cada jogo não sofre influência pelo número de jogadores ou a quantidade apostada.
Um único valor no jogo é gerado pela combinação de duas diferentes Hash Seeds (uma do servidor e outra do usuário) que, juntas, transformam aquele infímo valor em um número.
Contudo, para que seja comprovadamente justo é necessário escolher os dois valores do algoritmo de uma forma específica, de modo que a plataforma nem o jogador saiba qual será o resultado do Crash. O processo acontece da seguinte maneira:
Seed do Servidor — aqui explicamos que a plataforma define e assume publicamente o compromisso com a cadeia de jogos/ hashes antes que o Seed do Jogador seja conhecido. Geramos uma cadeia de 300.001 hashes SHA-256, iniciando a partir de um segredo do servidor e aplicando o algoritmo SHA-256 de forma contínua ao resultado por 300.001 vezes, formando a cadeia de hashes do jogo. O valor do último hash SHA-256 dessa cadeia é divulgado antecipadamente como forma de compromisso da plataforma.
Seed do Jogador — com o objetivo de comprovar que não escolhemos intencionalmente dados secretos capazes de gerar pontos de crash favoráveis à casa, os hashes da cadeia do jogo são combinados com um Seed do Jogador que está fora do controle da plataforma. O Seed do Jogador é derivado do hash de um bloco da blockchain EOS que ainda não havia sido gerado no momento do compromisso.
Prova de existência — para comprovar que esta mensagem foi criada antes da geração do bloco da blockchain EOS utilizado como Seed do Jogador, as informações do Seed do Servidor e do Seed do Jogador são incorporadas como memo em uma transação na blockchain EOS. Nesse momento, o bloco utilizado como Seed do Jogador ainda não havia sido gerado.
Pode-se provar que a cadeia que escolhemos não é geralmente benéfica para a plataforma. A plataforma anunciou um futuro EOS Blockhash como ClientSeed, que não pode ser previsto por ninguém antes de ser gerado. Isso significa que não temos conhecimento do valor de queda em cada jogo antes do início da primeira entrada. (Também é impossível alterá-lo após o início.)
A fórmula para o número aleatório de queda é a seguinte:
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);
