🌐 Стратегическое видение EOSIO™: масштабирование платформы (часть 1 из 4)

in #blockchain5 years ago

По мере развития платформы EOSIO сотрудничество Block.one со сторонниками открытого исходного кода, создающими на базе EOS какие-либо продукты, стало критически важно для дальнейшего распространения программного обеспечения. Как недавно было объявлено в EOSIO Strategic Vision, мы предложили взять за основу четыре ключевых пункта, каждый из которых обладает присущими EOSIO свойствами: масштабируемость, сообщество разработчиков, пользователей и предприятия. В этом первом посте из четырех частей серии, посвященной обзору каждого компонента стратегического видения, мы подробно рассмотрим масштабируемость и то, какие шаги нужно предпринять для максимизации эффективности блокчейнов на базе EOSIO.

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

Производство блоков: вертикальное масштабирование

WASM

Параллельная работа нескольких экземпляров бизнес-логики смарт-контракта не всегда возможна. Этот фактор делает максимизацию однопоточной производительности выполнения кода WASM в смарт-контрактах ещё важнее.

EOSIO был разработан с учётом этой особенности, что обеспечивает превосходную производительность смарт-контрактов за счёт использования широкого спектра движков WASM, включая WABT, WAVM, и наш последний анонс – EOS VM, интерпретатор WASM для блокчейна со связанными компиляторами JIT, которые ещё больше ускоряют производительность WASM. Мы продолжаем искать решения для движков WASM, которые смогут удовлетворить потребности развивающейся технологии блокчейн. Узнайте больше о EOS VM в нашем недавнем анонсе для разработчиков.

Многопоточность

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

Улучшения в Nodeos

Наша команда нашла несколько путей повышения эффективности выполнения процессов платформой, например, недавно анонсированный EOSVM, WASM движок для блокчейна, доступ к базе данных, внутренняя обработка, а также различные другие платформы EOSIO и их компоненты. Чтобы максимизировать потенциал масштабирования nodeos, команда будет постоянно профилировать каждую систему, дабы выжать максимум из нашей непрерывной оптимизации.

Технологии баз данных нового уровня

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

Сокращение зависимости от ресурсов

Распределение конечных ресурсов было постоянным препятствием для разработчиков блокчейнов, ориентированных на массовое распространение. Масштабирование блокчейн-сетей до уровня производительности традиционных систем потребует более эффективного использования ресурсов, таких как CPU, RAM и пропускная способность. Наша команда неустанно работает над поиском возможностей, таких как биржи ресурсов и решения на стороне ПО, которые помогут снизить уровень их использования и предоставить общий пул ресурсов компаниям с собственными блокчейн-приложениями.

Производство блоков: горизонтальное масштабирование

Механизмы межчейновой коммуникации

Функциональная совместимость блокчейнов остается одним из основных свойств EOSIO. Благодаря улучшению связи между несколькими блокчейнами с помощью формализованного протокола межчейновой связи (Inter-Blockchain Communication, IBC), мы можем достичь более высокой транзакционной пропускной способности. Наши команды работают над внедрением межчейновых механизмов, которые обеспечат приложениям расширенные возможности для масштабирования.

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

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

Параллельное выполнение смарт-контракта

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

Слои абстракции

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

Масштабирование доступа к данным

Поскольку блокчейн растет с каждой аутентифицированной транзакцией, запрашивание и чтение истории и данных состояния становятся растущей проблемой. Чтобы её решить, мы работаем над серией инструментов просмотра истории. WASM-QL реализует архитектуру клиент-сервер для создания и выполнения запросов в WASM. Этот шаблон реализации позволяет авторам контрактов проектировать и кодировать запросы, используя те же инструменты, которые они использовали для создания своих контрактов, и, кроме того, такая архитектура клиент-сервер также минимизирует взаимодействие между клиентом и сервером. После активации эта система позволит проверять историю состояний на любой заданной высоте блока. Кроме того, поскольку репликация в этой системе переведена с nodeos на процессы запросов с низкими требованиями к памяти, она в ещё большей степени способствует масштабируемости.

Репозиторий спецификаций EOSIO

Сообщество продолжает прикладывать усилия к созданию стабильных, эффективных и масштабируемых блокчейнов на базе EOSIO, и мы предоставляем его участникам посильную поддержку и ресурсы. Также мы постепенно реализуем различные аспекты стратегического видения EOSIO, и на этом критически важном этапе обратная связь, которую мы получаем от исследователей, разработчиков приложений и других членов сообщества, оказывает сильнейшее влияние. Эти усилия теперь сконцентрированы в Репозитории спецификаций – инициативе EOSIO Labs, призванной усилить синергию среди держателей долей нашей растущей экосистемы. Если вы заинтересованы в участии, пожалуйста, ознакомьтесь с приведёнными там спецификациями и оставьте отзыв непосредственно в GitHub, поскольку сейчас мы работаем над реализацией этих функций в EOSIO.

Оставайтесь на связи

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

Помните, что вы также можете оставаться в курсе всех новостей, подписавшись на рассылку на новом веб-сайте EOSIO.


Переведено @blockchained

Оригинал поста: ЗДЕСЬ


Если вам нравится то, что мы делаем - поддержите блокпродюсера blockchained в сети EOS

Развивайте сеть EOS вместе с нами - делегируйте свой голос proxy: dposproxyeos


Телеграм чат: https://t.me/EOS_RU


Загрузите десктопное приложение с открытым исходным кодом RuDex


Вы можете торговать токенами EOS на RuDEX