Bitcoin.com News
За підтримки

Занедбаний покерний експеримент Сатоші повертається з біткойном

Майже через 18 років після того, як Сатоші Накамото залишив незавершений інтерфейс для гри в покер, прихований у вихідному коді програмного забезпечення Bitcoin, дослідник Робін Лінус розробив криптографічний протокол, який робить цю гру можливою. Його проект «Bitcoin Poker» дозволяє двом гравцям грати в «Техаський холдем» без дилера, приватно генерувати карти та здійснювати виплати відповідно до існуючих правил Bitcoin. Проблема полягає в тому, що для підготовки однієї гри потрібно понад 56 000 вузлів дерева транзакцій, приблизно 8,4 МБ даних для налаштування та чимало складних криптографічних маніпуляцій.

АВТОР
ПОДІЛИТИСЯ
Занедбаний покерний експеримент Сатоші повертається з біткойном

Основні висновки

  • 6 вересня Робін Лінус опублікував «Bitcoin Poker», перетворивши концепцію покеру Сатоші 2008 року на протокол.
  • «Bitcoin Poker» використовує 56 132 вузли дерева транзакцій для реалізації гри «Техаський холдем» для двох гравців.
  • Проект Лайнуса не потребує змін у консенсусі біткойна, але його безпека все ж вимагає незалежної перевірки у 2026 році.

Ще у 2008 році, коли Сатоші Накамото готувався опублікувати білу книгу, таємничий винахідник, судячи з усього, знайшов час, щоб накидати ескіз покерної кімнати всередині кодової бази Bitcoin. У найпершому вихідному коді Bitcoin були приховані кнопки для роздачі карт, пасу, вирівнювання ставок та підвищення ставок. Була лише одна проблема. Насправді ніщо з цього не дозволяло грати в покер.

Програмне забезпечення мало всі ознаки столу, але під ним не було функціонуючої гри. Промайнуло 18 років, і дослідник зі Стенфорда Робін Лінус взявся за вирішення проблеми, яку залишив після себе Сатоші. У четвер Лінус представив Bitcoin Poker — протокол, що дозволяє двом людям грати в справжню гру «Техаський холдем», використовуючи біткойн для забезпечення дотримання правил, розрахунку ставок та вирішення питань із гравцями, які відмовляються співпрацювати.

«Дорогий Сатоші, перший спір щодо BitVM, поліглот SHA2-ECDSA, божевілля з Binohash — все це лише листи шанувальників, написані на Bitcoin Script. Ніщо з цього не має значення, доки я не втілю твою первісну візію», — написав Лінус на X. «Тож я нарешті завершив розробку покерного клієнта, який ти залишив незавершеним у Bitcoin v0.1. Напиши мені, зіграємо кілька роздач».

Забута покерна кімната Сатоші отримує друге життя

Оригінальний вихідний код Bitcoin містив файл під назвою uibase.cpp, який включав графічні компоненти для покерного лобі та столу. Інтерфейс мав дату генерації 16 квітня 2008 року — приблизно за шість місяців до того, як Сатоші опублікував білу книгу Bitcoin. Кнопки з написами «Роздати руку», «Пас», «Вирівняти» та «Підвищити» натякали на щось амбітніше, ніж простий платіжний додаток, хоча Сатоші ніколи публічно не пояснював, що саме він мав намір з ними робити.

Bitcoin Poker screenshot.
Веб-сайт Bitcoin Poker. Знімок екрана під час завантаження гаманця.

Ці ранні фрагменти не були функціональним покерним клієнтом, а тим більше — системою азартних ігор, що базується на блокчейні. Не існувало механізму роздачі закритих карт, відстеження ставок або визначення того, хто має отримати виграш. Лінус чітко розмежовує це у своїй білій книзі «Bitcoin Poker», пишучи: «Ці фрагменти інтерфейсу не були повноцінним покерним протоколом». Замість того, щоб відроджувати покинуте Сатоші програмне забезпечення, Лінус вирішив створити відсутній механізм з нуля.

Bitcoin Poker screenshot.
Джерело зображення: Робін Лайнус на X.

Історичний контекст робить це відкриття ще цікавішим. У жовтні 2006 року Конгрес ухвалив Закон про боротьбу з незаконними азартними іграми в Інтернеті (Unlawful Internet Gambling Enforcement Act), спрямований проти фінансових операцій, пов’язаних із незаконними азартними іграми в Інтернеті. Через кілька років, під час рейду у квітні 2011 року, відомого як «Чорна п’ятниця», федеральні органи влади конфіскували домени, що належали великим операторам онлайн-покеру. Чи вплинули обмеження на онлайн-азартні ігри на міркування Сатоші, досі невідомо, але ідея гри в покер без використання централізованого платіжного процесора, безсумнівно, відповідає первісній меті біткойна.

Дев’ять карт, двоє гравців і жодного дилера, який би диктував правила

Лінус, аспірант Стенфордського університету, найбільш відомий розробкою BitVM — пропозиції 2023 року щодо перевірки складних обчислень за допомогою біткойна без зміни його правил консенсусу. Його пізніші дослідження включають BitVM2, BitVM3, Zerosync та інші криптографічні системи. Bitcoin Poker застосовує той самий винахідливий підхід до чогось значно більш звичного, ніж обчислення на блокчейні.

«Ми описуємо протокол для гри у лімітний Техаський холдем на біткойні між двома гравцями», — пояснюється у статті Лінуса. У грі беруть участь двоє гравців, кожен з яких отримує дві закриті карти, а п’ять спільних карт з’являються у міру просування ставок. На відміну від звичайного онлайн-покеру, ні сервер казино, ні довірений дилер не визначають, які карти отримають гравці.

Натомість обидва учасники надають секретну інформацію для генерації карт. Як пояснює Лінус, «потрібно лише дев’ять різних карт». Замість того, щоб тасувати всю колоду з 52 карт, система генерує саме ті дев’ять карт, що потрібні для однієї руки, використовуючи криптографічні зобов’язання та докази з нульовим розкриттям інформації, щоб забезпечити чесність роздачі.

Така схема гарантує, що жоден з учасників не може таємно контролювати результат. «Жоден із гравців окремо не може розшифрувати», — зазначається в статті, де описується спільно зашифрована інформація, що використовується під час підготовки. Перед початком гри протокол також перевіряє наявність дублікатів карт, не розкриваючи їхніх ідентифікаторів. Якщо дві карти збігаються, вся спроба відкидається, і починається нова роздача.

Тут є цікава математична особливість. Випадково сформована роздача з дев’яти карт має лише близько 48 % шансів пройти перевірку на наявність дублікатів. Це означає, що системі потрібно в середньому 2,08 спроби, щоб сформувати прийнятну руку. Це дорогий спосіб тасування карт, але результатом є конфіденційна роздача, яка не вимагає довіри до людини, що сидить навпроти за столом.

Біткойн стає арбітром, коли хтось відмовляється грати за правилами

Роздача карт — це одне. А гарантія того, що переможець отримає виплату, — це зовсім інша справа, особливо коли жоден з учасників не має підстав довіряти іншому. Linus вирішує цю проблему, готуючи набір транзакцій у біткойнах, що відображають можливі результати гри, ще до того, як буде зроблена перша ставка.

«Правила визначають скінченне дерево», — пояснюється у технічному документі. Кожна гілка представляє дозволену дію, включаючи пас, чек, кол, рейз, розкриття карт або розподіл банку. Гравці заздалегідь затверджують ці можливості, а існуючі правила транзакцій біткойна не дозволяють їм імпровізувати несанкціоновані ходи.

«Недійсні дії не мають попередньо авторизованої транзакції», — пише Лінус. Протокол також використовує підписи адаптера, які дозволяють відновити необхідну інформацію про карти під час підписання певних транзакцій. Це не дає гравцям можливості зловживати певними вимогами щодо розкриття інформації для отримання нечесної переваги.

Але що відбувається, коли хтось вирішує, що йому вже достатньо, і відмовляється продовжувати гру? У Лайнуса є відповідь і на це. «Кожен стан, що очікує на гравця, також передбачає витрату часу на тайм-аут суперника», — зазначається в статті. Після закінчення визначеного часу учасник, що залишився, може забрати зароблений банк, тоді як невикористаний баланс гравця, що пішов, повертається.

Дослідник визнає важливу відмінність. «Протокол може змусити до розрахунку, але не може змусити когось розкрити карту». Іншими словами, Bitcoin не може змусити когось дограти, але може забезпечити фінансові наслідки виходу з гри.

Покерна гра з 56 132 вузлами має один нюанс

Концепція є геніальною, але ніхто не повинен плутати її з легким мобільним додатком для покеру. Еталонна конфігурація Лінуса, що передбачає 100 великих блайндів на гравця та чотири ставки на раунд ставок, містить 56 132 логічних вузлів, а також 54 855 звичайних підписів і 1 306 пакетів розкриття карт. Кожен пакет містить ще 52 підписи адаптера.

Повний знімок підготовки важить 8 416 186 байтів, що становить приблизно 8,4 МБ. Під час трьох випробувань у настільних браузерах підготовка та збереження дерева транзакцій зайняли від 26,39 до 27,26 секунди. Лінус застерігає: «Це вимірювання в стаціонарних умовах, а не гарантії при запуску». Ці цифри описують еталонну реалізацію, а не продуктивність, якої користувачі повинні очікувати від готового продукту.

На щастя, звичайний ігровий процес не вимагає трансляції такого величезного масиву транзакцій. «Передбачений режим гри — поза ланцюгом», — пояснюється в статті. Гравці обмінюються повідомленнями приватно, зберігаючи біткойн-транзакції про запас на випадок, якщо співпраця зірветься. Блокчейн фактично виконує роль арбітра, що чекає на узбіччі, готового вирішувати суперечки за необхідності.

Майже через вісімнадцять років ідея Сатоші щодо покеру отримала реальні правила

Все ще існують обмеження. Bitcoin Poker підтримує лише двох учасників, оскільки додаткові гравці могли б таємно обмінюватися інформацією про свої карти. Публічні розкриття карт можуть оголити обидві руки, а криптографічна конструкція все ще потребує незалежного аналізу безпеки, перш ніж її можна буде вважати готовою до впровадження.

Лінус навіть не намагається приховувати ці недоліки. «Це не є формальним доказом повноцінного протоколу, стійкого до зловмисних учасників», — визнається в статті. Існуючі тести з використанням Bitcoin Core перевіряють важливі компоненти, зокрема виплати та сценарії перевищення ліміту часу, але «покриття тестами не є доказом безпеки».

Проте це досягнення виходить за межі покеру. Лінус продемонстрував, як існуючі можливості Bitcoin щодо скриптів та підписів можуть забезпечити гру, що передбачає приховану інформацію, складні рішення та фінансові виплати, без зміни базових правил мережі.

Таємничий винахідник Bitcoin залишив після себе покерний стіл із кнопками, які майже нічого не робили. Вісімнадцять років по тому Лінус розробив криптографічні правила, необхідні для роздачі карт, розіграшу руки та розподілу виграшу. Залишається питання, чи зможе ця складна конструкція стати достатньо практичною, щоб звичайні гравці захотіли її випробувати.

Згідно з результатами нового опитування, цього року, ймовірно, придбають криптовалюту приблизно 33 мільйони американців, які наразі не володіють нею.

Читати: Опитування: 33 млн американців цікавляться криптою, наступна хвиля інша

Цю статтю перекладено з англійської мови за допомогою штучного інтелекту. Оригінальна англомовна версія є авторитетним джерелом; автоматичні переклади можуть містити неточності, особливо в юридичній та нормативній термінології.