O QUE É O SISTEMA DE TRANSPARÊNCIA?

O sistema de transparência que utilizamos permite verificar a validade de cada abertura.

O resultado da abertura não é aleatório, mas calculado com base em três valores:

  • server seed – frase definida pelo servidor,

  • client seed – frase definida pelo usuário,

  • nonce – número único usado para garantir a segurança dos cálculos.

A frase "Server seed" é ocultada do usuário e exibida apenas como ("Public hash"), para impedir a previsão do conteúdo da próxima caixa.

Graças ao uso de dados fornecidos tanto pelo servidor quanto pelo usuário, é possível garantir a transparência da caixa aberta e evitar interferência de ambas as partes.

CONFIGURAÇÃO

CLIENT SEED

SERVER SEED

Semente do servidor criptografada usando o método HMAC SHA-512.

NONCE

CÓDIGO PARA VERIFICAR A TRANSPARÊNCIA DA ABERTURA

Depois que o Server seed for revelado, você pode usar o código abaixo para verificar a transparência da abertura. Você pode executá-lo diretamente em seu navegador usando qualquer compilador JavaScript. Usando o código abaixo, prepare seu próprio script de verificação e clique no botão "Executar". Após a execução, o resultado da abertura será exibido e deverá corresponder ao resultado mostrado em nosso site.



async function getRoll(serverSeed, serverNonce, clientSeed) {
	const enc = new TextEncoder();
	const key = enc.encode(serverSeed);
	const message = enc.encode(clientSeed + '-' + serverNonce.toString());

	const cryptoKey = await crypto.subtle.importKey(
		'raw',
		key,
		{ name: 'HMAC', hash: 'SHA-512' },
		false,
		['sign']
	);

	const signature = await crypto.subtle.sign('HMAC', cryptoKey, message);
	const hashArray = Array.from(new Uint8Array(signature));
	const hex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
	const rollHex = hex.substring(0, 7);
	const number = parseInt(rollHex.replace(/[^a-f0-9]/gi, ''), 16);

	return (number % 100000) + 1;
}

serverSeed = '';
serverNonce = 1;
clientSeed = '';

getRoll(serverSeed, serverNonce, clientSeed).then(roll => console.log('Roll result:', roll));

VERIFICAR ABERTURA