Todo jogo da Bgaming que você jogar aqui no Bitstarz é comprovadamente justo e verificável imediatamente e independentemente por você!
Utilizamos um método criptográfico que garante que nós (o cassino) ou você (o jogador) não possamos saber o resultado de o jogo até o momento em que começa. Fazemos isso permitindo que você tenha uma entrada simples e visualmente verificável no jogo e mostramos uma impressão digital da rotação que usaremos antes do jogo começar, para que você possa verificar depois do jogo, que usamos o giro que dissemos que faríamos. Veja como funciona:
Modelamos a roleta como uma lista dos blocos na ordem em que aparecem e, em seguida, geramos um local aleatório para a roleta parar. Usamos o melhor gerador de números pseudo-aleatórios, o algoritmo Mersenne Twister. Nós o chamamos giro'Result'.
Chamamos isso de Hash (Result + Secret). Geramos um número aleatório chamado 'secret' e usamos isso para criar uma impressão digital dos dados para modelar o jogo. Isso garante que você não consiga descobrir o resultado final do giro apenas da impressão digital. Criamos essa impressão digital exclusiva misturando os dados com o Algoritmo SHA-256 Hashing. Isso cria uma impressão digital exclusiva da rotação exata da roda e do Secret, e você pode usá-la posteriormente para verificar o jogo.
Nós deixamos você adicionar um empurrão extra na roleta. Você pode selecionar um número de 0 a 36 (ou 37 para a roleta americana que tem um bloco extra) para empurrar ainda mais a roleta nessa quantidade quando você pressiona girar. Você pode escolher o seu próprio número ou usar um escolhido aleatoriamente para você.
Faça suas apostas, comece o jogo e, acima de tudo, divirta-se.
Depois que o jogo termina, mostramos o giro da roleta (Result + Secret), a 'impressão digital' que mostramos antes o jogo (hash [Result + Secret]), a entrada que você teve no jogo e o resultado final. Você pode usar nosso widget para verificar se o giro corresponde à "impressão digital" que fornecemos antes do jogo ou você pode usar qualquer hash fornecido por terceiros para verificar você mesmo!
Você pode até verificar a entrada que você teve no jogo comparando o giro (Result + Secret) e o resultado final. Pegar o seed do cliente e contar vários blocos além do bloco originalmente definidos para aterrissar (encontrados em Result + Secret) e você estará no mesmo bloco que o resultado final!
Para um passo a passo de como verificar o jogo usando um website independente
Para alcançar um jogo Provadamente Justo, utilizamos algoritmos criptográficos fortes, como Algoritmo SHA-256 Hashing, Mersenne Twister e Fisher-Yates shuffle. Isso garante que o jogo não possa ser adulterado.
Geramos 30 números aleatórios iniciais, variando de 1 a 6.
Geramos seed de servidor aleatório.
Os números iniciais são codificados usando hash("sha256", json_encode($initial_numbers) . $server_seed). O hash resultante é tornado público.
Quando você inicia um jogo, usamos o javascript no seu navegador para criar um seed do cliente.
Os números iniciais são embaralhados com o chamado Fisher-Yates shuffle com o seed do cliente.
/**
* Calculates hash of array with server seed
* @param array $initialNumbers
* @param string $serverSeed
* @return string
*/
function hashInitialNumbers(array $initialNumbers, $serverSeed)
{
return hash('sha256', json_encode($initialNumbers) . $serverSeed);
}
/**
* Shuffles array with client seed
* @param array $items
* @param string $seed
* @return array shuffled array
*/
function fisherYatesShuffle(array $items, $seed)
{
$mt_seed = intval(substr(hash('sha256', $seed), -8), 16);
mt_srand($mt_seed);
$count = count($items);
for ($i = $count - 1; $i > 0; $i--)
{
$j = mt_rand(0, $i);
$tmp = $items[$i];
$items[$i] = $items[$j];
$items[$j] = $tmp;
}
return $items;
}
$finalShuffle = fisherYatesShuffle($initialNumbers, $clientSeed);
$result = array_slice($finalShuffle, 0, 2);
Secret é um número gerado pelo servidor e usado para o hash (explicado posteriormente). Para gerar o baralho embaralhado nós usamos um método conhecido como Fisher-Yates shuffle que é semelhante a escolher um número do chapéu. Para garantir que os números escolhidos sejam completamente aleatórios, usamos o algoritmo Mersenne Twister para gerar números aleatórios para o Fisher Yate's Shuffle usar. Isso é considerado o padrão superior para técnicas de embaralhamento. Nós chamamos o baralho embaralhado de 'Result'.
Nós chamamos de Hash (Result+Secret). Criamos essa impressão digital única fazendo o hashing dos dados com o algoritmo Algoritmo SHA-256 Hashing. Isso cria uma impressão digital única para esse deck exato, e você pode usá-lo depois para verificar o jogo.
Para jogos de cartas, deixamos você cortar o baralho escolhendo onde cortá-lo. Isso é representado por um número chamado de seed do cliente. Nós pegamos o número que você escolhe e o usamos para afetar o resultado do jogo. Isso garante que não seja possível saber o resultado do jogo até o ponto em que ele começa. Então, para um jogo de poker, você escolhe 24 como sua seed do cliente, cortaremos o baralho 24 cartas do topo antes de distribuir as cartas e iniciar o jogo.
Faça suas apostas, comece o jogo e, acima de tudo, divirta-se.
Depois que o jogo termina, mostramos o baralho completo embaralhado (Result+Secret), a 'impressão digital' que mostramos antes do jogo (hash[Result+Secret]), a entrada que você teve no jogo (Seed do Cliente) e o Resultado Final. Você pode usar nosso widget para verificar se o giro corresponde à 'impressão digital' que fornecemos a você antes do jogo, ou você pode usar qualquer calculadora de hash de terceiros para verificar você mesmo!
Você pode até verificar o efeito que você teve no jogo comparando o baralho totalmente embaralhado (Result+Secret) e o baralho depois que foi cortado (Result final). Você descobrirá que as cartas são do mesmo baralho, mas um deles foi "cortado" na posição que você escolheu!
Para um passo a passo de como verificar o jogo usando um website independente
Modelamos cada coluna como uma lista dos blocos na ordem em que aparecem e, em seguida, geramos um local aleatório para cada coluna parar. Usamos o melhor gerador de números pseudo-aleatórios que há, o algoritmo Mersenne Twister, para gerar um número aleatório para cada slot. Chamamos o giro de 'Result'.
Chamamos isso de Hash (Result+Secret). Geramos um número aleatório chamado 'secret' e usamos isso para criar uma impressão digital dos dados para modelar o jogo. Isso garante que você não consiga descobrir o resultado final do giro apenas pela impressão digital. Criamos essa impressão digital exclusiva fazendo o hashing dos dados com o Algoritmo de Hashing Algoritmo SHA-256 Hashing. Isso cria uma impressão digital única do giro exato das colunas e do Seed do Secret, e você pode usar isso mais tarde para verificar o jogo.
Permitimos que você adicione um empurrão extra a cada uma das colunas. Você pode selecionar um número de 0 a 9 para cada coluna e empurrá-la ainda mais nessa mesma quantidade. Você pode escolher seu próprio número ou usar um escolhido aleatoriamente para você.
Faça suas apostas, comece o jogo e, acima de tudo, divirta-se.
Depois que o jogo termina, mostramos o giro das colunas (Result+Secret), a impressão digital (hash[Result+Secret]), sua entrada no jogo (seed do cliente) e o resultado final do jogo (Result Final). Você pode usar nosso widget para verificar se o giro corresponde à 'impressão digital' que fornecemos antes do jogo, ou você pode usar qualquer calculadora de hash de terceiros para verificar você mesmo!
Você pode verificar o efeito que teve no jogo comparando o giro (Result+Secret) e o Result final. A entrada que você teve no jogo, chamado seed do cliente, é um número em que cada dígito representa uma coluna diferente. Então, para um Slot de 5 colunas, será um número de 5 dígitos. Se o seu número foi 30700, para o seu resultado final, você terá o ícone na parte superior da primeira coluna corresponde ao primeiro ícone no quarto conjunto mostrado no Result (o primeiro conjunto conta como 0). O segundo ícone será o segundo ícone listado no primeiro conjunto, o terceiro ícone será o terceiro ícone listado no oitavo conjunto e assim por diante. Você pode fazer o mesmo para a segunda e terceira linhas também!
Exemplo:
Result Final
{
"symbols": [
[", "shield", "siren", "lightning", "medusa", "siren"],
[", "thor", "neptune", "heracles", "shield", "artemis"],
[", "coin", "coin", "themis", "coin", "thor"]
],
"card": "6D"
}
Primeira Linha – Verde, Segunda Linha – Azul, Terceira Linha - VermelhoSeed do Cliente
30700
Result+Secret
{
"symbols": [
["siren", "siren", "heracles", "medusa", "siren"], (0)
["themis", "neptune", "themis", "shield", "artemis"], (1)
["heracles", "coin", "artemis", "coin", "thor"], (2)
["shield", "heracles", "heracles", "medusa", "shield"], (3)
["thor", "thor", "coin", "shield", "heracles"], (4)
["coin", "medusa", "themis", "artemis", "thor"], (5)
["lightning", "artemis", "ship", "ship", "medusa"], (6)
["minotaur", "shield", "lightning", "themis", "lightning"], (7)
["thor", "heracles", "heracles", "coin", "shield"], (8)
["artemis", "thor", "themis", "artemis", "medusa"], (9)
["coin", "siren", "coin", "heracles", "artemis"], (10)
["ship", "heracles", "neptune", "medusa", "thor"] (11)
],
"card": "6D",
"game": "slots:platinum_lightning",
"secret": "ad17e9bf57de88cd103569c6f84a1d63"
}
Para um passo a passo de como verificar o jogo usando um website independente