Децентрализованные приложения (DApps), в том числе игровые, завоевали популярность благодаря своей прозрачности, безопасности и возможности владения пользовательскими активами. Однако обеспечение высококачественного игрового опыта AAA с помощью DApps сопряжено с определенными трудностями.

Существующие DApps для 2D-игр работают в сетях blockchain, используя смарт-контракты для управления активами. Несмотря на то, что они выгодно отличаются простотой механики и эффективностью использования ресурсов, их недостатки становятся очевидными при увеличении сложности игрового процесса.

Масштабируемость является основным препятствием для традиционных блокчейнов, таких как Ethereum, и влияет на интерактивные игры в реальном времени из-за ограничений, связанных с пропускной способностью и задержкой транзакций.

Производительность также является проблемой. AAA-игры требуют высокопроизводительных вычислений и превосходного рендеринга графики. Однако существующие DApps с трудом справляются с этими требованиями, что приводит к некачественным визуальным эффектам.

Кроме того, разработка DApps для AAA-игр является дорогостоящей из-за ресурсоемких задач и платы за исполнение блокчейна. Баланс между захватывающими впечатлениями и удобными расходами усложняет использование традиционных Dapp-фреймворков для AAA-игр.

Что такое акторная модель?

Модель акторов" - это коммуникационная модель, которая обеспечивает параллельные вычисления и асинхронный обмен сообщениями в рамках протокола блокчейна, что позволяет разработчикам создавать сложные DApps с меньшими трудностями.

Акторная модель используется в протоколе Gear Protocol, а разработкой руководил Николай Вольф, основатель Gear Protocol и Vara, один из ключевых разработчиков Polkadot и фреймворка Substrate.

Внутри модели находятся акторы - программы или пользователи, которые посылают сообщения другим программам в протоколе. Каждый актор имеет почтовый ящик и частное состояние, которое не может быть изменено непосредственно другим актором, а может только изменить состояние, получив сообщение от другого актора.

Сообщения между акторами извлекаются из почтовых ящиков и обрабатываются в цикле. После того как агент получил и обработал сообщение, он может либо отправить сообщение другому агенту, либо создать агента, либо изменить его состояние.

Чем это выгодно для разработки DApp?

Асинхронная обработка сообщений в программировании блокчейна дает ряд существенных преимуществ, которые способствуют повышению общей эффективности, масштабируемости и надежности DApps.

Во-первых, асинхронная обработка сообщений позволяет осуществлять неблокируемую обработку транзакций и смарт-контрактов.

Последние: Заявки на ETF изменили картину биткойна в одночасье - Ledger CEO

В отличие от синхронной обработки, где каждая транзакция должна выполняться последовательно, асинхронный обмен сообщениями позволяет одновременно выполнять несколько задач.

Возможность параллельной обработки данных повышает производительность сети блокчейн, поскольку она может одновременно обрабатывать большее количество транзакций и вычислений, что приводит к сокращению времени обработки транзакций и повышению общей пропускной способности.

Джек Платтс, соучредитель Hypersphere - криптовалютного венчурного фонда, инвестировавшего в игровые проекты, - сказал Cointelegraph: "В традиционных синхронных системах несколько задач часто вынуждены ждать друг друга, что приводит к замедлению при обработке большого объема транзакций".

В контексте блокчейн-сетей такая возможность параллельной обработки становится жизненно важной для поддержания высокой пропускной способности транзакций", - продолжает Platts. Поскольку пользователи инициируют больше транзакций, система может обрабатывать их одновременно, обеспечивая более быстрое подтверждение и общее повышение производительности сети. Это особенно важно для игр на блокчейне, где взаимодействие в реальном времени и быстрая обработка данных являются залогом плавного и приятного игрового процесса".

Некоторые блокчейн-игры, например Ember Sword, уже интегрировали параллельную обработку данных в свои процессы разработки. Марк Лаурсен, соучредитель и генеральный директор компании Bright Star Studios, занимающейся разработкой игр, рассказал Cointelegraph: "При разработке Ember Sword мы используем параллельную обработку данных с помощью нашего решения ECS [entity component system]. Обычно приходится вручную интегрировать многопоточность и принимать сложные решения для каждой конкретной системы".

Лаурсен продолжает: "Однако в нашем сценарии требования к чтению, записи и зависимостям упорядочивания заданы, что позволяет нашему движку определить наиболее эффективный метод планирования и распараллеливания этих систем".

Допустим, игрок блокчейн-игры хочет передать игровой предмет в виде неигрового токена, например переместить легендарный меч из сундука (кошелька для длительного хранения) в инвентарь (кошелек, используемый для игры).

Процесс передачи может происходить мгновенно с низкой или почти нулевой комиссией, подобно тому, как в традиционной игре игрок может просто щелкнуть и перетащить меч из своего инвентаря и переместить его к торговцу или в сундук.

Кроме того, благодаря асинхронному обмену сообщениями разработчики блокчейна могут создавать DApps, более устойчивые к колебаниям сетевых условий и временным сбоям.

Павел Салас, директор по развитию Gear Foundation - организации, стоящей за протоколом Gear, - сказал Cointelegraph: "Модель акторов действительно повышает надежность приложений, работающих на блокчейне, - добавил он:

"Поскольку акторы обрабатывают сообщения независимо друг от друга, сбои или проблемы с одним актором не влияют на другие, что предотвращает каскадные сбои и повышает общую устойчивость системы. А в случае сбоев или неполадок в сети акторная модель позволяет системе быстро восстановиться и продолжить бесперебойную работу".

Это может быть полезно для игровых DApps на блокчейне в случае перебоев в работе сети, позволяя игре продолжать работать, несмотря на проблемы в ее блокчейне.

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

Асинхронный обмен сообщениями, напротив, позволяет распределять задачи между несколькими узлами, что дает возможность более эффективно масштабировать систему и обрабатывать большие объемы транзакций без снижения производительности.

По словам Саласа, "по мере роста пользовательской базы и активности в DApp система может легко управлять возросшим трафиком сообщений, не вызывая узких мест и замедлений. Даже если одно приложение разрастется, оно все равно будет управлять сообщениями последовательно".

Такая масштабируемость крайне важна, поскольку блокчейн-сети нацелены на поддержку растущей пользовательской базы и приспособление к различным вариантам использования.

Салас продолжил объяснять, как происходит процесс: "Благодаря модели акторов отдельные программы-акторы выступают в роли шардов, что обеспечивает возможность проектного разделения системы по мере роста числа программ. [...] Vara обрабатывает все транзакции без разделения по пучкам узлов; каждый узел обрабатывает все. Однако внутри Vara каждая программа работает независимо, содержит свое собственное состояние, обрабатывает и отправляет сообщения в соответствии со своей логикой".

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

"По мере увеличения количества программ-актеров система разделяет и распределяет нагрузку, эффективно обслуживая растущую пользовательскую базу и поддерживая отзывчивость и эффективность сети."

Еще одним преимуществом асинхронной обработки сообщений является поддержка событийно-ориентированных архитектур в DApps. Вместо того чтобы постоянно опрашивать обновления, DApps могут подписаться на определенные события или сообщения, что позволяет им оперативно и эффективно реагировать на изменения в блокчейне.

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

Кроме того, реализация возможностей обмена сообщениями между агентами может существенно повысить общий уровень обслуживания пользователей, поскольку сокращает длительные периоды ожидания подтверждения транзакций. Использование асинхронной обработки позволяет агенту получать подтверждение транзакции в виде сообщения с идентификатором ожидающей транзакции.

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

Журнал: 6 вопросов JW Verret - профессору блокчейна, который отслеживает деньги

Такая обратная связь в реальном времени особенно важна для приложений, требующих быстрого подтверждения.

По мере развития и диверсификации экосистемы блокчейна использование асинхронной обработки сообщений становится необходимым для создания мощных игровых DApps в стиле AAA, способных удовлетворить запросы растущей пользовательской базы и удовлетворить различные сценарии использования в различных отраслях.

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

Источник