Kaspa Forge
Документация · Arena · Mainnet beta

Как работает KaspaForge Arena

KaspaForge Arena — некастодиальный протокол для доказуемо честных игр. Его первая игра — P2P-блекджек. Ковенанты Kaspa L1 контролируют деньги и допустимые состояния, а zero-knowledge proofs проверяют скрытую колоду и перемешивание. Без счёта в казино, токена платформы и доверия дилеру.

Граница беты. Arena использует реальные KAS в mainnet. Протокол прошёл повторные состязательные ревью и сквозные партии, но бета-софт всё ещё несёт риск. Играйте только с опубликованной ставкой, храните свежую резервную копию Desk и проверяйте рецепт расчёта.

Одна партия — пять независимо проверяемых слоёв

Здесь нет одного сокращения «доверьтесь ZK»: каждый слой доказывает или исполняет свою часть партии.

01 · СлучайностьCommit–reveal

Дилер и игрок фиксируют seed до того, как кто-либо сможет подстроиться под получившееся перемешивание.

02 · Скрытое вычислениеzkVM / Groth16

Доказывает детерминированное перемешивание и порядок скрытой колоды, не публикуя будущие карты.

03 · Открытие картMerkle-дерево

Каждая показанная карта сопровождается путём к корню колоды, зафиксированному доказательством.

04 · ДеньгиКовенант Kaspa L1

Допускает только разрешённые Room → Game переходы, таймауты и ограниченные выплаты.

05 · СогласиеПроверка кошельком

Браузер проверяет комнату и точную JOIN-транзакцию до подписи.

Как генерируется ZK-доказуемая колода

  1. Дилер делает commit первым. Комната фиксирует обязательство seed дилера до входа игрока. Оно не раскрывает seed, но не даёт заменить его позже.
  2. Игрок входит со своим commitment. Одно подтверждение паролем создаёт игровую идентичность, проверяет и подписывает точный JOIN и публикует commitment игрока.
  3. Игрок раскрывает seed. Reveal обязан соответствовать раннему commitment. Seed обеих сторон, идентификатор партии и правила теперь задают один точный вход перемешивания.
  4. Программа выполняет несмещённый детерминированный Fisher–Yates. Одна и та же байт-в-байт программа Arena обязана получить одинаковый порядок 52 карт из одинаковых входов. Серверного API «выбрать колоду» нет.
  5. Скрытая колода становится SHA-256 Merkle-деревом. Публичен корень, будущие карты скрыты. Позже карта открывается вместе с путём, доказывающим её место именно в этой колоде.
  6. Prover строит доказательство для конкретной партии. Журнал zkVM связывает правила, идентификатор партии, commitments и корень колоды. Подставить proof от другой комнаты нельзя.
  7. Проверка происходит до раздачи. Для новых публичных комнат proof строит hosted RTX prover, но артефакт принимается только после независимой CPU-проверки. Лишь затем ковенант может перейти в состояние dealt.

Что ZK доказывает — и чего не доказывает

ZK доказывает скрытую колоду и перемешивание. Мы намеренно не называем это доказательством «всей игры». Commitments не дают заменить seed; Merkle-пути аутентифицируют открытые карты; ковенант исполняет допустимые ходы и выплаты; клиент проверяет то, что подписывает.

От открытого стола до ончейн-рецепта

  1. Room. Дилер финансирует открытый Room covenant своей ставкой, залогом живости и резервом сетевой комиссии.
  2. Sit down. Desk проверяет публичную комнату, при необходимости готовит точную монету игрока, локально подписывает JOIN и запускает seed-flow одним вводом пароля.
  3. Prove and deal. Hosted proof генерируется, независимо проверяется и связывается с переходом, фиксирующим корень колоды.
  4. Play. Hit и stand двигают единственный Game UTXO. Открытые карты сверяются с Merkle-путями; недопустимый из текущего состояния переход отвергается.
  5. Dealer resolution. H17 или S17 входят в правила комнаты и публичные входы proof. Дилер не может сменить правило после финансирования комнаты.
  6. Settlement. Терминальная ветка платит ограниченные выходы игрока, дилера, сервиса и prover и записывает точную транзакцию. Лобби Arena связывает рецепт со списком завершённых партий.

Текущая экономика бета-стола

Реальная ставка
5 KAS против 5 KAS. Именно эта сумма каждой стороны поставлена на исход блекджека.
Залоги живости
Игрок добавляет 2 KAS, дилер — 5 KAS. При штатном расчёте залоги возвращаются и защищают timeout-поведение.
Сетевой резерв
Дилер вносит 5 KAS на динамические комиссии ходов. Это не ставка; неиспользованная часть возвращается при расчёте.
Игровой сервис
0.1 KAS — точный терминальный выход, равный 1% совокупной ставки 10 KAS.
Hosted proof
0.25 KAS платится только за фактически оказанную и принятую услугу HOSTED proving.
Полная блокировка Game
22 KAS = 10 KAS ставок + 7 KAS залогов + 5 KAS сетевого резерва. Это не ставка и не банк в 22 KAS.
Выплаты
Выигрыш платит 1:1: победитель забирает обе ставки за вычетом выходов сервиса и prover. Натуральный блекджек в текущих правилах тоже платит 1:1 — таблица выплат закреплена rules hash комнаты и не может измениться посреди партии. При push обе ставки возвращаются, каждая сторона несёт половину выходов сервиса и prover.

Как проверить свою партию

  1. Откройте Verify game на столе: там видны game id, правила, commitments, корень колоды, статус proof и журнал ходов.
  2. После расчёта откройте Receipt в блоке Последние завершённые партии. Ссылка ведёт к точной терминальной транзакции в публичном Kaspa explorer.
  3. Проверьте сохранение стоимости: блокировка 22 KAS равна выходам участников + выходу сервиса + выходу hosted prover + сетевым комиссиям. Неиспользованный резерв уже входит в выплаты участникам и второй раз не считается.
  4. Если proof, проекция комнаты или цепочка подписанного admission отсутствует либо невалидна, клиент обязан отказать, а не просить довериться серверной копии.

Почему первая игра Arena — блекджек

Блекджек достаточно прост, чтобы довести партию до конца, и достаточно сложен, чтобы нагрузить всю платформу: скрытая информация дилера, случайная колода, варианты H17/S17, решения игрока, стадии proving, таймауты, потолки комиссий и терминальная выплата из общих средств. Повторно используемый результат больше одной карточной игры: admission, генератор программы, граница кошелька, proving pipeline, автомат Room → Game и методика аудита подходят будущим доказуемо честным играм.