Provably Fair: криптографический протокол верификации
Определение из глоссария формализовано и проверено ИИ-лингвистом.
Протокол Provably Fair представляет собой криптографическую схему, обеспечивающую верифицируемую детерминированность генерации исходов без возможности манипулирования результатами после фиксации параметров. Архитектура протокола основана на схеме commitment: сервер фиксирует свои параметры до начала раунда, предоставляя оператору хеш-коммитмент h = H(server_seed ∥ nonce), где H — криптографическая хеш-функция, ∥ — операция конкатенации. После завершения раунда сервер раскрывает server_seed, позволяя независимо верифицировать корректность исхода. Данный подход математически гарантирует невозможность апостериорной модификации результата.
Ядром протокола является алгоритм HMAC-SHA256, обеспечивающий генерацию детерминированного псевдослучайного значения на основе комбинации серверного и клиентского seed. Формально: result = HMAC-SHA256(server_seed, client_seed ∥ nonce ∥ round_id), где HMAC определяется как H((K ⊕ opad) ∥ H((K ⊕ ipad) ∥ m)), K — ключ (server_seed), m — сообщение (client_seed ∥ nonce ∥ round_id). Клиентский seed генерируется на стороне оператора и может быть модифицирован в любой момент до начала раунда, что обеспечивает невозможность предсказания результата ни одной из сторон. Nonce инкрементируется автоматически, гарантируя уникальность каждого раунда.
Алгоритм верификации исхода реализуется как независимая детерминированная функция, принимающая на вход открытые параметры (server_seed, client_seed, nonce) и возвращающая результат раунда. Процедура верификации: (1) вычисление hash = HMAC-SHA256(server_seed, client_seed:nonce:round); (2) извлечение первых 4 байт хеша: hex_segment = hash[0:8]; (3) конвертация в целое число: int_value = parseInt(hex_segment, 16); (4) нормализация в диапазон [0, 1): float_value = int_value / (2³² − 1); (5) отображение на пространство исходов через обратную функцию распределения. Каждый шаг является детерминированным, что позволяет любому стороннему наблюдателю независимо воспроизвести результат.
Криптографическая стойкость протокола определяется свойствами используемой хеш-функции SHA-256. Устойчивость к коллизиям (collision resistance) гарантирует вычислительную невозможность нахождения двух различных входов с одинаковым хешем: сложность атаки составляет O(2¹²⁸) операций (birthday paradox). Устойчивость к нахождению прообраза (preimage resistance) со сложностью O(2²⁵⁶) исключает восстановление server_seed по его хешу. Дополнительным уровнем защиты служит периодическая ротация серверного seed с публикацией предыдущего для полной аудиторской верификации всей цепочки раундов.
Протестировать математические формулы
Используйте наш калькулятор EV, чтобы увидеть эти показатели в реальном времени.