Как реализовать возможность проверки результата игры с помощью криптографии? Здарова! Есть условный сайт азартной игры. Игрок делает ставку, генератор выдает числа от 1 до 100, если число меньше числа оговоренного в правилах - засчитывается выигрыш. Все бы хорошо, но система не гарантирует игрокам честность со стороны организатора. Нужен способ проверки честности.
Еще 3 момента: действия игрока не влияют ни на что, ставки делаются анонимно перечислением биткоинов - игрок может однозначно идентифицировать свою транзакцию по txid, в одну транзакцию может быть включено несколько игр.
У меня есть следующая идея:
1. Генерируем большой массив чисел от 1 до 100.
2. Находим хэш от массива.
3. Пишем некую f(txid, n, h), где txid - идентификатор транзакции, n - номер игры, h - хэш массива. Функция однозначно возвращает нам позицию в массиве, а значит и число на этой позиции.
4. Сравниваем число с условиями и т.д...
Если игрок захочет проверить честность, он самостоятельно может взять массив, найти хэш, подставить свои txid, n и убедиться в правдивости результата игры.
Так вот, как можно реализовать эту f()? Может уже есть готовые решения под эту задачу?

21 Авг 2019 в 07:11
157 +1
0
Ответы
1

Для реализации функции f() вам необходимо использовать криптографические функции, такие как HMAC (Hash-based Message Authentication Code) или электронную подпись.

Одним из способов реализации может быть следующий алгоритм:

Сгенерировать уникальную соль (salt), которая буде использоваться вместе с txid и номером игры для более безопасного хэширования.Соединить txid, номер игры и соль вместе и вычислить хэш от этой комбинации.Используя полученный хэш как ключ, вычислить HMAC для массива чисел от 1 до 100.На основе полученного HMAC и номера игры получить число для игрока.

При необходимости игрок сможет использовать те же данные (txid, номер игры и соль) для повторного вычисления числа и проверки честности результата игры.

Будет хорошо также обеспечить возможность передачи соли и других необходимых данных игрокам, чтобы они могли проводить проверку честности сами.

Это лишь один из возможных вариантов реализации, и следует учитывать все риски и аспекты безопасности при создании механизма проверки результатов игры.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 654 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир