Каждое онлайн-казино в истории просит одно и то же ещё до первой карты: доверьтесь нам. Поверьте, что шафл был случайным, что дом не подглядывал, что баланс никуда не денется, что таблица выплат не изменится тихо задним числом. Вся индустрия лицензий, аудиторов и «provably fair»-хэшей существует потому, что ничего из этого нельзя проверить в тот момент, когда это важно — пока ваши деньги на столе.
KaspaForge Arena не украшает эту просьбу — она её убирает. С сегодняшнего дня Arena — публичная mainnet-бета: два постоянных публичных стола блекджека, открытых любому, у кого есть браузер и несколько KAS. Здесь нет аккаунта казино, депозитного баланса, токена платформы и оператора, который мог бы заплатить меньше, чем велят правила, — потому что деньги вообще не проходят через оператора. Ставки лежат в ковенанте Kaspa L1, который знает правила блекджека, а единственное, что ковенант не может проверить сам — честность колоды, которую ему нельзя видеть, — закрывает zero-knowledge-доказательство.
P2P-блекджек без доверенного казино: средства контролируют ковенанты Kaspa, а честность скрытой колоды подтверждает zk-доказательство. Без кастоди. Без токена. Без мостов.
Проблема: скрытая информация на публичном леджере
Блокчейны хороши в деньгах и безнадёжны в секретах. Блекджеку нужно и то и другое сразу: банк должен быть заперт правилами, которые никто не согнёт, а колода — оставаться скрытой. Игра рушится, если игрок видит закрытую карту дилера, и рушится иначе, если дилер может выбрать себе шафл. Большинство «ончейн-казино» решают это противоречие, тихо унося интересную часть с чейна: сервер тасует, сервер сдаёт, а блокчейн низведён до платёжного рельса с логотипом.
Arena держит обе половины честными пятью независимыми механизмами — каждый отвечает на вопрос, на который не могут ответить остальные. Здесь нет универсальной отговорки «доверьтесь ZK» — и нет точки, чей отказ был бы тихим.
| Слой | Механизм | На какой вопрос отвечает |
|---|---|---|
| 01 · Случайность | Commit–reveal | Мог ли кто-то подобрать шафл под себя? Нет — оба сида зафиксированы до того, как раскрыт хоть один. |
| 02 · Скрытое вычисление | zkVM-доказательство (Groth16) | Действительно ли скрытая колода получена каноничным шафлом из этих сидов? Доказано без раскрытия ни одной нераскрытой карты. |
| 03 · Открытие карт | Merkle-дерево SHA-256 | Та ли это карта, что была зафиксирована на этой позиции? Каждая показанная карта несёт путь к доказанному корню колоды. |
| 04 · Деньги и состояния | Ковенант Kaspa L1 | Могут ли средства уйти мимо правил? Сеть сама отвергает переход, который не является легальным ходом, таймаутом или выплатой. |
| 05 · Согласие | Wallet admission | Подписываю ли я то, что думаю? Браузер пересобирает и проверяет комнату и точный JOIN до того, как ключ коснётся чего-либо. |
Колода, которую никто не может переписать
Шафл — сердце протокола, и его стоит пройти медленно. Открывая стол, дом фондирует Room-ковенант, в котором уже лежит commitment дилерского сида — хэш, который ничего не раскрывает, но который нельзя изменить. Когда вы садитесь, одно подтверждение паролем в Desk создаёт вашу игровую личность, проверяет комнату, подписывает точный JOIN и вписывает ваш commitment в состояние игры. С этого момента колода уже определена — просто никто из сторон её ещё не знает.
- Ваш сид раскрывается и сверяется с commitment'ом, который закрепил JOIN. Дилерский commitment был зафиксирован до вашего прихода, так что ни одна сторона не видела чужую случайность до фиксации своей.
- Каноничная программа Arena выводит один вход шафла из идентификатора игры и обоих сидов и выполняет несмещённый детерминированный шафл Фишера–Йетса всех 52 карт. Один и тот же байт-в-байт код обязан дать один и тот же порядок из тех же входов — серверного API «выбери колоду» не существует.
- Скрытая колода становится Merkle-деревом SHA-256. В чейн уходит только корень. Любую карту позже можно открыть вместе с путём, доказывающим, что она стояла именно на этой позиции именно этой колоды.
- zkVM доказывает всё вычисление. Журнал доказательства связывает правила, идентификатор игры, оба commitment'а и корень колоды — доказательство от другой комнаты или с другими правилами просто не проходит проверку.
- Консенсус Kaspa проверяет Groth16-доказательство в той же транзакции, что сдаёт первые карты. Публичные столы используют hosted GPU-прувер KaspaForge, но его артефакт принимается только после того, как независимый CPU-верификатор признал его валидным, — а затем его проверяет ещё и сеть. Сдавать можно только из доказанной колоды.
Обратите внимание, что эта конструкция тихо удалила: доверенного крупье. Никто — ни дилер, ни KaspaForge, ни прувер — не в состоянии узнать или повлиять на порядок карт сверх сидов, зафиксированных вслепую.
Ковенант — строгий распорядитель зала
С раздачи вся партия живёт в одной ончейн-монете — Game UTXO, и каждый ход заменяет её преемником, которого ковенант проверяет байт за байтом. Hit и Stand — настоящие транзакции Kaspa, подписанные вашим ключом. Раскрытая карта обязана открыться против доказанного корня колоды на точном следующем индексе. Суммы рук пересчитываются внутри самого скрипта, так что преемник с верными картами, но подправленной суммой отвергает сеть, а не модератор. На BlockDAG Kaspa с десятью блоками в секунду ход обычно закрепляется принятой транзакцией за считаные секунды — достаточно быстро, чтобы криптография растворилась в сукне.
Так же строг ковенант и к тому, как партия может закончиться:
- Штатный расчёт платит фиксированный список выходов — победителю, залог проигравшему, точные выходы сервиса и прувера — и ничего больше. «Комиссии», которую можно переплатить и вынести через неё ценность, просто не существует как пути.
- Молчание дилера — ваша выплата. Если дилер не доказал колоду, не открыл закрытую карту или не довёл партию, бесключевые таймаут-ветки — их может отправить кто угодно — платят весь банк и оба залога вам, без каких-либо комиссий. Партия не может зависнуть, даже если KaspaForge исчезнет.
- Ваше молчание — не конфискация. Если ваш ход истёк, ковенант просто делает stand за вас, и партия доигрывается по тем же правилам. Единственный штраф в протоколе — небольшой залог живости, и теряет его только сторона, бросившая собственную партию до раздачи.
- H17 или S17 закреплены в комнате вместе с таблицей выплат — rules hash, который связывает само доказательство. Дилер не может сменить правила после того, как ваши деньги внутри. И мы не можем.
Сколько на самом деле стоит место
Экономика беты намеренно маленькая, фиксированная и разложенная по полочкам — каждое число ниже энфорсится как точный выход ковенанта, а не пункт прайса, который можно поправить на сервере.
| Статья | Сумма | Что это |
|---|---|---|
| Ваша ставка | 5 KAS | Против 5 KAS дилера. Единственные деньги, поставленные на исход в блекджечном смысле. |
| Залоги живости | 2 KAS вы · 5 KAS дилер | Возвращаются при расчёте полностью; существуют, чтобы бросить партию стоило бросившему, а не вам. |
| Сетевой резерв | 5 KAS (дилер) | Оплачивает динамические комиссии ходов; неиспользованная часть возвращается. |
| Игровой сервис | 0.1 KAS | 1% совокупной ставки 10 KAS, точный терминальный выход только на решённой партии. |
| Hosted proof | 0.25 KAS | Только за фактически оказанную и принятую услугу proving. Таймауты не платят ни одну из комиссий. |
| Выплаты | 1:1 | Выигрыш платит 1:1; натуральный блекджек в текущих правилах — тоже 1:1; push возвращает обе ставки, комиссии — пополам. |
Полная блокировка Game, которую вы увидите в чейне, — 22 KAS: 10 ставок, 7 залогов, 5 резерва. Это не банк в 22 KAS, а всё, за чем присматривает ковенант, — и большая часть вернётся владельцам.
Не доверяйте столу — проверьте его
Всё описанное проверяется прямо с вашего места. Панель Verify game у стола показывает идентификатор игры, закреплённые правила, оба commitment'а, корень колоды, статус доказательства и полный ончейн-журнал ходов — те же факты, которые ваш кошелёк независимо проверил, прежде чем подписать вход. После расчёта блок Последние завершённые партии в лобби ведёт к терминальной транзакции в публичном Kaspa explorer: с калькулятором можно убедиться, что блокировка 22 KAS равна выходам участников плюс точным комиссиям плюс сетевым сборам. А если доказательство, проекция комнаты или цепочка допуска отсутствуют или невалидны, клиент отказывается продолжать — вместо того чтобы попросить поверить серверной копии.
Стол сам приходит туда, где вы играете. Полный опыт работает с телефона: сукно занимает экран, HIT и STAND лежат под большим пальцем, а завершённая партия говорит прямо, что случилось с деньгами, — суммой со знаком, а не настроением фона. Чипы доказательств — в одном касании всё это время.
Arena работает с настоящими KAS в mainnet. Протокол прошёл многократные состязательные аудиты и сотни сквозных партий, но бета — это реальный программный риск: играйте на опубликованной ставке 5 KAS, держите свежий зашифрованный бэкап Desk и читайте receipt.
Блекджек — первая игра, а не вся суть
Большая часть того, что выехало сегодня, — не про блекджек. Под сукном лежит переиспользуемая инфраструктура Arena: детерминированный генератор программ, проверенный допуск от комнаты до подписи, WASM-граница кошелька, машина состояний Room→Game с таймаут- и permissionless-ветками, проверенные терминальные выплаты, локальный и hosted proving с GPU-конвейером, модель потолков комиссий, байт-точная воспроизводимая заморозка и методология независимого аудита, прогнавшая протокол через пять состязательных раундов до открытия первого публичного стола.
На этой базе следующая доказуемо честная игра — кости, баккара, coin flip, простые карточные дуэли — стоит малую долю первой. Блекджек заслужил роль открывающего: он достаточно прост, чтобы его закончить, и достаточно сложен, чтобы проверить платформу — скрытая информация дилера, выборы игрока, варианты правил, несколько стадий доказательства, таймауты и терминальная выплата из общих средств. Если Arena судит блекджек, не требуя доверия, вопрос «что ещё может так работать?» превращается из исследовательской задачи в бэклог.
Поэтому мы и называем Arena первым настоящим zk-приложением на Kaspa L1: не доказательством, приколотым к демке, а ковенантами, zk-доказательствами, commitment'ами, Merkle-открытиями и проверкой на стороне кошелька, которые прямо сейчас публично держат настоящие деньги в настоящих правилах.
FAQ
Что делает игру доказуемо честной?
Пять независимых слоёв: commit–reveal-случайность, Groth16-доказательство скрытой колоды и шафла, Merkle-аутентификация каждой раскрытой карты, ковенант Kaspa L1, энфорсящий ходы и выплаты, и кошелёк, который проверяет комнату и точный JOIN до подписи. Каждый отвечает на вопрос, недоступный остальным.
Что именно доказывает ZK?
Скрытую колоду и её шафл: оба commitment'а открылись корректно, каноничная программа выдала валидную перестановку 52 карт, а опубликованный корень получен именно из этого порядка. Намеренно не «всю игру» — остальные слои достраивают модель, и говорить об этом точно — часть честности.
Может ли дилер видеть колоду или подобрать удобную?
Дилер знает колоду, как только существуют оба сида, — потому он и сдаёт. Чего дилер не может — выбрать или изменить её: его commitment старше вашего прихода, ваш закреплён JOIN'ом, а доказанная колода — чистая функция обоих. Удерживать карты тоже бессмысленно: дилерские таймауты отдают банк вам.
Что будет, если дилер отвалится посреди партии?
Бесключевые таймаут-ветки ковенанта доигрывают партию без его участия: весь банк и оба залога уходят вам, без комиссий. Отправить эти пути может кто угодно, так что гарантия не зависит от жизни нашего сервера.
Сколько стоит место и сколько платит выигрыш?
Вы ставите 5 KAS против 5 KAS дилера и вносите залог 2 KAS, который возвращается при расчёте. Выигрыш платит 1:1 (натуральный блекджек в текущих правилах — тоже); комиссии решённой партии — 0.1 KAS сервис и 0.25 KAS за принятый hosted proof.
Нужны ли аккаунт, токен или мост?
Ни то, ни другое, ни третье. Обычные KAS, зашифрованный паролем профиль Desk в браузере, ключи, не покидающие его, и ходы — обычные транзакции Kaspa, которые вы подписываете локально.
Столы открыты
Садитесь одним подтверждением пароля, смотрите, как колода доказывается до раздачи, и читайте свой расчёт прямо в Kaspa explorer.
Войти в Arena
