DuckDice использует проверенно справедливую криптографическую систему, которая означает, что вам не нужно слепо доверять нам, каждый ролл криптографически справедлив и может быть проверен на отсутствие манипуляций.
Случайность/Randomization
Чтобы игроки могли проверить свои ставки, для расчета номера ролла используется пара параметра сервера и параметра клиента.
Процесс создания новой пары параметров сервера и клиента называется рандомизацией. Вы можете сделать рандомизацию в любое время.
Зная параметр сервера, параметр клиента и Nonce, можно рассчитать результат ставки. Чтобы убрать возможно предсказания результата игроков, параметр сервера скрыт, а вместо него показан хеш SHA-256 параметра. После следующей рандомизации предыдущий параметр сервера вскрывается, и игрок может проверить ставку. Кроме того, игроки могут убедиться, что параметр сервера не было изменено путем сравнения хэшей до и после рандомизации.
Номера ролла
Чтобы создать число ролла от 0 до 9999, мы объединяем параметр сервера,параметр клиента и ваш Nonce (порядковый номер ставки):
комбинация = параметр сервера + параметр клиента + Nonce
Затем мы вычисляем хэш SHA-512 этой комбинации. Это дает нам шестнадцатеричную строку с 128 символами:
hash = SHA512 (комбинация)
Затем мы берем первые 5 символов этого хеша и преобразуем их в десятичное число от 0 до 1 048 575 (16 ^ 5 - 1). Если оно меньше 1 миллиона, мы делим его на 10 000 и используем его в качестве результата вашего броска. В противном случае мы повторяем использование следующих пяти символов. Мы можем повторить процесс до 25 раз.
В очень редком случае ((48576 / 1,000,000) ^ 25), что ни одно из 25 испытаний не было менее 1 миллиона при преобразовании в десятичный, мы используем оставшиеся 3 символа и конвертируем их в ваш номер ролла.
Пример кода
Следующий пример кода может использоваться для проверки ставки:
function getRoll(serverSeed, clientSeed, nonce) {
var hash = sha512(serverSeed + clientSeed + nonce);
var index = 0;
do {
var lucky = parseInt(hash.substr(index, 5), 16);
index += 5;
} while (lucky >= 1000000);
return lucky % 10000;
}var lucky = parseInt(hash.substr(index, 5), 16); index += 5; } while (lucky >= 1000000); return lucky % 10000; }
Также проверьте наш онлайн-верификатор ставок.
Комментарии
0 комментариев
Войдите в службу, чтобы оставить комментарий.