Алгоритм Aviator: полное техническое руководство
Одна из важнейших особенностей Aviator — алгоритм provably fair (доказуемой честности). Это криптографическая система, которая позволяет любому игроку самостоятельно убедиться, что точка краша в любом раунде была определена честно и без вмешательства. В этом руководстве объясняется, как она работает, какая математика за ней стоит и как проверить результаты самостоятельно.
Что такое «Provably Fair»?
В обычных казино игроку приходится верить, что оператор не подтасовывает результаты. Системы provably fair снимают необходимость в доверии с помощью криптографических хеш-функций, из-за которых изменить результат после его фиксации математически невозможно.
Основной принцип:
- Перед раундом сервер фиксирует результат, публикуя его хеш
- После раунда сервер раскрывает прообраз (сид, из которого получен хеш)
- Вы можете проверить, что зафиксированный хеш соответствует раскрытому сиду
- Если они совпадают, результат не был подтасован
Хеш-функция SHA-512
SHA-512 (Secure Hash Algorithm, 512 бит) — криптографическая хеш-функция с двумя ключевыми для provably fair свойствами:
Свойство 1: детерминированность
Одинаковый вход всегда даёт одинаковый выход:
- Вход: "hello" → Выход:
9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043
Свойство 2: стойкость к восстановлению прообраза
По значению хеша вычислительно невозможно восстановить исходные данные. Даже при всех вычислительных мощностях мира поиск входа для заданного хеша SHA-512 занял бы больше времени, чем возраст Вселенной.
Это означает: если сервер публикует хеш до раунда, он не может потом изменить исходный сид, не получив совершенно другой хеш — а вы сразу это заметите.
Входные данные: серверный сид и три клиентских сида
Точки краша в Aviator формируются из четырёх входных значений:
Серверный сид
Случайная строка, которую сервер генерирует перед раундом. Сервер публикует хеш SHA-256 этого сида до приёма ставок, а сам сид раскрывает после окончания раунда.
Клиентские сиды
Собираются клиентские сиды первых трёх игроков, сделавших ставку в раунде, и показываются в деталях раунда. Поскольку эти значения приходят от независимых игроков, оператор не может заранее знать итоговый набор входных данных.
Объединение входных данных
Серверный сид и три клиентских сида объединяются в одну строку и хешируются с помощью SHA-512. Полученная 128-символьная шестнадцатеричная строка определяет точку краша.
Как рассчитывается точка краша
Spribe не публикует точную арифметику, превращающую хеш SHA-512 в множитель. В разборе ниже используется открытая эталонная конструкция, получившая известность благодаря Bustabit (раундовый хеш HMAC-SHA256 с nonce), чтобы показать, как хеш становится множителем с распределением P(crash ≥ x) = 0.97/x. Конвейер SHA-512 в Aviator следует тому же принципу: берутся первые биты хеша, они отображаются в множитель, затем применяется преимущество казино.
В эталонной конструкции точка краша выводится детерминированным способом:
Шаг 1: получение раундового хеша
round_hash = HMAC-SHA256(server_seed, client_seed + ":" + nonce)Результат — 64-символьная шестнадцатеричная строка, например:
a7b3c8d2e9f14056789012345678901234567890abcdef1234567890abcdef12Шаг 2: извлечение числа из хеша
Возьмите первые 8 символов (32 бита) хеша и переведите их из шестнадцатеричной системы в десятичную:
h = parseInt(hash.substring(0, 8), 16)
// Example: "a7b3c8d2" → 2,813,000,914Максимально возможное значение h равно 2^32 − 1 = 4,294,967,295.
Шаг 3: применение формулы точки краша
crash_point = floor((1 − houseEdge) × 2^32 / (2^32 − h)) / 100Где houseEdge = 0.03 (3%).
В упрощённом виде:
crash_point = floor(0.97 × 4,294,967,296 / (4,294,967,296 − h)) / 100Особый случай: мгновенный краш
Отдельное условие напрямую учитывает преимущество казино. Если:
h mod 33 === 0...раунд мгновенно завершается на 1.00× независимо от результата формулы. Это происходит с вероятностью 1/33 ≈ 3.03% и обеспечивает преимущество казино.
Разбор конкретного примера
Допустим, первые 8 шестнадцатеричных символов раундового хеша — 4f2a1b3c:
h = 0x4f2a1b3c = 1,328,284,988
2^32 = 4,294,967,296Проверка: 1,328,284,988 mod 33 === 0? Нет → переходим к формуле.
crash_point = floor(0.97 × 4,294,967,296 / (4,294,967,296 − 1,328,284,988)) / 100
= floor(4,166,117,577 / 2,966,682,308) / 100
= floor(1.4043...) / 100
= 140 / 100
= 1.40×Точка краша в этом раунде составила бы 1.40×.
Почему эта формула даёт правильное распределение
Формула P(crash ≥ x) = 0.97 / x математически вытекает из такой конструкции:
Чтобы точка краша была не меньше x, значение h, полученное из хеша, должно удовлетворять условию:
0.97 × 2^32 / (2^32 − h) ≥ x
→ 2^32 − h ≤ 0.97 × 2^32 / x
→ h ≥ 2^32 × (1 − 0.97/x)Вероятность того, что равномерно случайное h удовлетворяет этому условию:
P(h ≥ 2^32 × (1 − 0.97/x)) = 1 − (1 − 0.97/x) = 0.97/xЭто в точности даёт P(crash ≥ x) = 0.97/x — формула преимущества казино математически заложена в вывод точки краша.
Как самостоятельно проверить результаты
Шаг 1: запишите данные раунда
После любого раунда зафиксируйте:
- Хеш серверного сида (показывается до раунда)
- Серверный сид (раскрывается после раунда)
- Клиентские сиды первых трёх игроков, сделавших ставки
Шаг 2: проверьте соответствие хешу
Вычислите SHA-256(server_seed) и убедитесь, что результат совпадает с ранее опубликованным хешем. Если он совпадает, серверный сид не менялся после фиксации.
Шаг 3: пересчитайте точку краша
По приведённой выше формуле пересчитайте точку краша из сидов. Если она совпадает с указанной точкой краша, раунд был честным.
Использование Provably Fair Checker на AviatorStats
Наш инструмент Provably Fair Checker на AviatorStats.com автоматизирует весь этот процесс:
- Введите раскрытый серверный сид и три клиентских сида, показанные в деталях раунда
- Инструмент вычисляет комбинацию SHA-512, извлекает h, применяет формулу краша и показывает ожидаемую точку краша
- Сравните её с результатом игры — они должны совпадать полностью
Так вы получаете криптографическую уверенность в честности раунда без ручных вычислений.
Что provably fair гарантирует, а что нет
Гарантирует:
- Точки краша не изменялись после фиксации
- Результаты математически определяются сидами
- Преимущество казино составляет ровно 3%, как заявлено
- Любой может независимо проверить любой прошедший раунд
Не гарантирует:
- Что вы выиграете в каком-либо конкретном раунде
- Что последовательность результатов будет «справедливой» для конкретного игрока
- Что какие-либо стратегии смогут преодолеть встроенное преимущество казино
- Что прошлые результаты предсказывают будущие (это не так)
Система provably fair — это механизм прозрачности, а не инструмент для выигрыша. Она гарантирует, что игра работает так, как заявлено. Это ценно само по себе, но никак не связано с математикой долгосрочного математического ожидания.
Используйте наши аналитические инструменты для Aviator
Анализируйте данные Aviator с помощью нашей статистики в реальном времени, анализа распределения, графиков трендов и проверки provably fair. Все инструменты бесплатны и не требуют регистрации.
Связанные руководства
Руководства по игре:
Стратегия и анализ:
Предупреждения о мошенничестве:
- Предупреждение о мошенничестве с предикторами
- Предупреждение о хаках
- Предупреждение о мошенничестве с сигналами
Руководства по платформам:
Отказ от ответственности: это техническое объяснение носит образовательный характер. Понимание алгоритма не даёт никакого преимущества в прогнозировании исходов. Результаты Aviator криптографически непредсказуемы до начала каждого раунда. Играйте всегда ответственно.