Чат
Честность
Как мне убедиться в честности игры?
Результаты игры были сгенерированы еще ДО того, как вы сделали ставку, и, самое главное, мы можем это доказать.
Перед каждым раундом мы фактически даем вам результат раунда(ключ) в хэшированном формате. После окончания раунда мы публикуем этот ключ, хеш которого затем вы можете сравнить с хэшем, полученным до этого чтобы убедиться, что изначальный ключ не изменялся. С помощью этой системы мы можем доказать, что результаты были справедливыми и заранее сгенерированными.
Рулетка
В рулетке наша система генерирует результат для каждого раунда, используя хэш SHA256 из 3 входных данных:
1. Public Key ― 6 пар случайных чисел от 00 до 39, генерируемых ежедневно в 00:00 MSK
2. Private Key – зашифрованный с помощью SHA-256 ключ, генерируемый в то же время, что и Public Key.
3. Round - уникальный идентификатор раунда, который увеличивается на 1 в каждом раунде
SHA-256 – метод шифрования, который обладает свойством необратимости и чувствительности. То есть полученное хеш значение нельзя преобразовать обратно в ключ, а при малейшем изменении ключа (даже на один символ) хешированное значения ключа будет совершенно другим. В начале дня мы публикуем Private Key в зашифрованном виде, получая результаты абсолютно всех прокруток на сегодняшний день. На следующий день публикуем Private Key в открытом виде. то есть вы можете зашифровать открытый ключ и получить зашифрованный (который публиковался до этого), тем самым убедившись в том, что все результаты были сгенерированы в начале дня.
Вы можете повторить любой прошлый ролл, используя Node.js код ниже. Пожалуйста, обратите внимание, что вы должны использовать расшифрованный Private Key.
const crypto = require('crypto');
const ROUND_ID = 54519;
const PUBLIC_SEED = '001206023522';
const SERVER_SEED = 'd309cb8a0123201db12ac74061ea1f9
6
621691579c87b3b12e086aef6c1594
b5';
const hashString = string => crypto.createHash('sha256').update(s
tring).digest('hex');
const generateRouletteTicket =
(serverSeed, publicSeed, round) =>
{
const hash =
hashString(`${serverSeed}:
${publicSeed}:${round}`);
return parseInt(hash.substr(0, 8), 16)
%
15;
}
console.log(generateRouletteTicket
(SERVER_SEED, PUBLIC_SEED,
ROUND_ID));