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

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

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

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

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

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

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

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

20 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир