8 ноября 2022

Будущее блокчейн-игр: GameBoy на Tezos L2 Deku

Объясняем, насколько это круто для блокчейна, и что в теории можно запустить на сайдчейнах на базе Deku.

Вспоминаем что такое Deku

Deku — это фреймворк для создания сайдчейнов Tezos, на которых можно запустить любую виртуальную машину и приложения.

Так как это не роллапы, у сайдчейнов созданных с помощью Deku должны быть собственные узлы и алгоритм консенсуса. Сами сайдчейны связаны с Tezos с помощью смарт-контрактов в сети Tezos, в которых регулярно обновляется состояния (state) сайдчейнов.

С помощью Deku можно достичь намного более пропускной способности (транзакций в секунду), чем при использовании любых других L1-решений. В теории, скорость создания блоков в сайдчейне может быть ограничена только задержкой сетевого оборудования — ниже чем 100 миллисекунд. Эта фича открывает возможности для запуска на блокчейне любых приложений, от DeFi до игр. Детальнее — в обзоре.

Pokemon Red на Deku

Дениэл Хайнс сделал на Deku сайдчейн для работы с OCaml-эмулятором GameBoy CAMLBOY. Он написал виртуальную машину, которая сохраняла состояние эмулятора и вывод экрана эмулируемой приставки в каждом блоке. Внутренние часы приставки привязаны к скорости создания блоков в сайдчейне. В этом случае сайдчейн уже можно называть application-specific blockchain или аппчейном.

На рабочей машине Дениэл запустил четыре узла с сайдчейном и эмулятором, которые достигали консенсуса и записывали состояние эмулятора и пять кадров игры в блок. Сами кадры рендерились в отдельном процессе, грубо говоря — в клиенте игры.

Чтобы лучше осознать значение проделанной работы, представьте, что разработчик реализовал эмулятор GameBoy в смарт-контракте на Tezos. Каждый такт эмулируемого процессора, нажатие кнопки и внутриигровое событие записывается в этом контракте. Если бы кто-то действительно такое сделал, то игра генерировала бы один кадр каждые 15 секунд, то есть один раз на блок. Но Deku — network-responsive, генерирует блоки по запросу клиента и на достаточно мощном оборудовании может рендерить игру в 60 FPS.

Как аппчейны могут изменить блокчейн-игры и приложения

В 2014 году анонимный разработчик из Австралии запустил Pokemon Red на Twitch и дал контроль над игрой зрителям. Они вводили в чат команды, а эмулятор их выполнял. Из-за задержки ввода и того, что каждый зритель писал команды без оглядки на других, в первые дни герой игры постоянно ходил кругами, сохранялся каждые несколько секунд и смотрел в Pokedex. Но потом зрители скооперировались и прошли игру за 16 дней.

Такой формат мультиплеера в синглплеерной игре можно реализовать на Deku. Игроки отправляют команды, виртуальная машина сайдчейна определяет мнение большинства и передает итог на ввод эмулятора. Все игроки получают новое состояние игры в следующем блоке.

Это только один пример. На аппчейне можно реализовать почти любую игру или приложение, которые требуют обновления состояния 1-2 раза в секунду. Например, классические MMORPG вроде Runescape или пошаговые Rogue-like должны работать на сайдчейне Deku так же гладко, как и на централизованных серверах. При этом у децентрализованных версий игр будут преимущества над централизованными:

  • полная и проверяемая история состояний игры. С ее помощью можно будет решить спорные ситуации вроде дюпа предметов или использования багов;
  • встроенная и понятная монетизация. Игроки платят владельцам нод сайдчейна транзакционные комиссии за выполнение действий;
  • упрощенная регистрация и высокая безопасность аккаунта. Пользователи логинятся через кошелек без подключения сторонней 2FA, подтверждения почты и риска потерять учетную запись через восстановление доступа или брутфорс пароля.

Если отступить от игр, то сайдчейны улучшат любые другие децентрализованные приложения. Например, DeFi-команды смогут сделать аппчейн со встроенным торговым ядром для запуска децентрализованной биржи с книгой ордеров, любители NFT — коллективные графические редакторы вроде социального эксперимента r/place.

Подписывайтесь на социальные сети Tezos Ukraine, чтобы ничего не пропустить:

  1. Telegram-канал
  2. Facebook.
  3. Twitter на русском и украинском языках
  4. Twitter на английском языке
  5. YouTube-канал
  6. Instagram
  7. LinkedIn

Изначально мы опубликовали этот материал в блоге Tezos Ukraine.

Обсудить в Discord!