Skip to main content
Любой завершённый раунд вы можете проверить сами по публичным данным в блокчейне — без аккаунта и без особого доступа. Проверить нужно три вещи: что хеш коммита был опубликован до начала раунда, что хеш раскрытого секрета совпадает с этим коммитом и что пересчёт по публичной формуле даёт ровно тот результат, по которому раунд был выплачен. В этом руководстве мы берём завершённый раунд Crash и проверяем его от начала до конца: что секрет оператора был зафиксирован до раунда и что точка краша в точности совпадает с результатом публичной формулы. Особый доступ не нужен: все данные берутся из публичных записей в блокчейне. В коротком разделе в конце описаны Dice и Mines — каждую из них можно проверить по одной транзакции.

Что вы доказываете

  1. Коммит был первым. Хеш секрета появился в блокчейне до начала раунда, поэтому результат не мог быть выбран после вашей ставки.
  2. Секрет совпадает с коммитом. sha256(secret) равен зафиксированному хешу.
  3. Множитель честный. Пересчёт формулы по секрету и хешу блока даёт ровно ту точку краша, по которой раунд был выплачен.

Шаг 1. Откройте данные о честности раунда в приложении

Откройте историю ставок (или историю раундов) и нажмите на завершённый раунд, чтобы открыть его детали. Рядом с результатом раунда вы увидите:
  • Краш на: итоговый множитель, который нужно проверить.
  • Хеш секрета игры: раскрытый 32-байтный секрет. Он ведёт на транзакцию коммита в обозревателе Solana.
  • Хеш блока: хеш слота Solana, используемый как энтропия сети. Он ведёт на транзакцию старта раунда.
  • «Честная ли эта игра? Откройте проверку честности»: открывает инструмент проверки честности с уже подставленными данными этого раунда. Инструмент получает три подписи транзакций раунда (коммит, хеш блока, раскрытие) и сеть, а затем в один клик пересчитывает за вас всё, что описано ниже.
Инструмент проверки честности — самый удобный путь. Остальная часть страницы описывает полностью независимый путь, при котором вы доверяете только блокчейну и своему компьютеру.

Шаг 2. Три транзакции раунда

Шаг 3. Считайте значения в обозревателе Solana

Откройте каждую транзакцию в любом обозревателе (Solscan, Solana Explorer, SolanaFM…) в той сети, где работает приложение. На странице транзакции найдите декодированные события программы (иногда они находятся в разделе «Logs» или «Instruction data»; обозреватели, которым известен IDL программы, показывают поля событий по именам). Соберите четыре значения:
  • commit_hash: 32 байта, из транзакции коммита.
  • blockhash: 32 байта, из транзакции хеша блока.
  • local_e: 32-байтный секрет, из транзакции раскрытия.
  • crash_point_bps: итоговая точка краша в базисных пунктах, из транзакции раскрытия (29948 означает 2.9948x).
КодировкиВ зависимости от сайта обозреватели показывают 32-байтные значения в hex, base58 или как массив байтов. Скрипт ниже ожидает hex; если обозреватель показывает base58, сконвертируйте значение (подойдёт любой декодер base58: важны сами байты, а не форма записи).

Шаг 4. Проверьте порядок

В обозревателе сравните слот (или время блока) транзакции коммита и транзакции хеша блока. Коммит должен быть раньше. В этом суть всей схемы: секрет был запечатан ещё до того, как появилась энтропия, с которой его смешивают.

Шаг 5. Пересчитайте точку краша

Запустите этот код в Node.js (без зависимостей), подставив три hex-строки из шага 3:
Обе проверки должны пройти: commitment ok: true, а выведенная точка краша должна совпасть с множителем Краш на этого раунда (и с crash_point_bps в событии раскрытия). Если всё сходится, вы доказали, никому не доверяя, что результат раунда был зафиксирован до его начала и вычислен строго по публичной формуле.

Dice и Mines

Мгновенные игры проверяются так же, только по меньшему числу транзакций:
  • Dice: одна транзакция на ставку. Её событие DiceBetSettled содержит все входные данные для вычисления (slothash, user, nonce), а также roll и выплату. Пересчитайте по формуле со страницы Честность Dice.
  • Mines: две транзакции на игру. Стартовая транзакция публикует коммит поля и хеш слота; транзакция расчёта раскрывает сид и всё поле целиком. Пересчитайте по формуле со страницы Честность Mines.

Если что-то не сходится

Сначала исключите типичные причины: значение в base58 вставлено туда, где ожидался hex; выбрана не та транзакция (у каждого раунда их три); использовано не то преимущество казино, что действовало на момент раунда (оно хранится в конфигурации в блокчейне, и каждое его изменение само по себе является транзакцией в блокчейне). Если расхождение всё равно остаётся, это именно то, что эта система призвана выявлять: данные публичны и хранятся вечно, поэтому любой может повторить вашу проверку. Свяжитесь с поддержкой и укажите номер раунда. Учтите: у настоящего несовпадения коммита или формулы нет честного объяснения — именно поэтому схема не позволяет его скрыть.