Сегодня блокчейн-индустрия развивается в направлении корпоративного и государственного секторов. Решения на основе блокчейна все более востребованы в таких отраслях как денежные переводы и платежи. Государства и центральные банки принимают технологию для масштабных проектов вроде CBDC (государственная цифровая валюта).
Иными словами, блокчейн вышел за пределы децентрализованных приложений, DeFi и NFT. Существенно выросли и запросы к работоспособности блокчейна.
В то же время, бизнесу, в том числе крупному, необходимы децентрализованные, масштабируемые решения, способные производить десятки тысяч транзакций в секунду без необходимости доверия, а также имеющие низкую задержку и высокий уровень безопасности.
Этими свойствами обладают блокчейн-платформы пятого поколения, к которым относится Everscale. Но можно ли включить в этот список Aptos? Особенности и проблемы архитектуры нового проекта подробно рассмотрели в блоге Everscale.
Почему Aptos — не блокчейн в классическом понимании
Если говорить простыми словами, Aptos стремится реализовать концепцию ускоренного однопоточного блокчейна, использующего единый шард для достижения консенсуса.
В Aptos отсутствуют блоки. Вместо них используется процесс последовательной обработки входящих сообщений, изменяющих общее состояние (state) всех нод сети. Именно так можно описать финальность в этом блокчейне. Рассмотрим этот процесс подробнее.
Обновление состояния и консенсус
Финальность в Aptos разделена на несколько отдельных этапов. Сеть Aptos получает сообщения и сортирует их. После этого валидаторы получают отсортированные сообщения и меняют состояние всех нод. Изменение состояния производится не распространением финализированных блоков, а параллельной финализацией на отдельных узлах.
В Aptos нет блоков в традиционном понимании. Все валидаторы приходят к консенсусу о том, в каком порядке сортировать входящие сообщения. После этого наступает этап изменения состояния. В конце ноды подтверждают новое состояние.
Этот процесс можно сравнить с работой центрального процессора в компьютере. ЦПУ работает по схожему принципу: некоторые команды могут выполняться параллельно. Процессор пытается предугадать предстоящие операции, и, если небольшая часть кода не требует результатов предыдущих вычислений, эти команды выполняются параллельно. Компиляторы оптимизируют работу ПО, чтобы сделать возможными параллельные вычисления.
Однако у многопоточности в блокчейне есть принципиальные отличия. В публичной сети можно создавать смарт-контракты, которые будут влиять на многие адреса и, таким образом, сделают механизм параллельного исполнения невозможным.
Такой дизайн в публичном блокчейне становится крайне уязвимым, поскольку основан на предположении о том, что ноды не могут менять свое поведение в процессе финализации и корректно выполняют алгоритм на всех этапах финализации. В реальности невозможно предсказать точное поведение участников сети.
Архитектура и безопасность любой децентрализованной системы построена на негативной предпосылке о том, что любое количество нод, но не более 50% от их общего количества, может оказаться злонамеренными, и способах защиты от такого сценария. Для Aptos это еще более важно, так как подход детерминированного прогнозирования является ключевым элементом его дизайна.
Параллельное выполнение транзакций возможно только в реальных приложениях. Но если кто-то захотел бы «заспамить» сеть, он мог быть отправлять большое количество транзакций, которые бы повлияли на большое число адресов. Теоретически, с помощью такой атаки возможно замедлить сеть Aptos или даже остановить ее.
Скорость сети
Важнейший элемент архитектуры Aptos для ускорения блокчейна называется Block-STM, который необходим для вычисления изменений состояния путем параллельного выполнения транзакций с разрешением каких-либо конфликтов при записи данных.
В масс-медиа распространяется информация о том, что Aptos может «разгоняться» до 160 000 транзакций в секунду (TPS). Впрочем, согласно whitepaper проекта, моделирование и тесты показали ускорение лишь в 8-16 раз по сравнению с последовательной обработкой транзакций (как в блокчейнах прошлых поколений), что составляет 200-500 TPS, если говорить о переводах общего характера, а не специализированных небольших операциях.
Даже если предположить максимальное значение — 500 х 16, т.е. 8000 TPS, этот показатель далек от производительности лишь одного воркчейна в сети Everscale (до 15 000 TPS), которая достигается благодаря параллельным вычислениям.
Масштабирование блокчейна
Everscale может масштабироваться бесконечно с помощью добавления новых валидаторов и воркчейнов. Его архитектура предполагает масштабирование в соответствии с текущей нагрузкой на сеть. Такой дизайн также можно назвать динамичным шардингом.
В случае Aptos следует говорить об одном чейне с параллельным выполнением транзакций, если они это позволяют. Его дизайн просто не предполагает шардирование. Также непонятно, как его предполагают добавить в будущем. Между тем, в Everscale уже встроен шардинг на уровне данных и вычислений.
Децентрализация Aptos
Валидаторы Aptos получают награды за стейкинг максимального количества монет в своем распоряжении, аналогично тому, как это было устроено в EOS. Таким образом, наилучший способ увеличивать доходность стейкинга — управлять одним валидатором как можно большего размера. Это естественный путь к централизации сети.
Напотив, в Everscale предусмотрены ограничения для валидаторов. Просто невозможно в валидации транзакций с большим стейком: для повышения дохода в сети должно работать больше валидаторов.
Особенности разработки смарт-контрактов
Для создания и работы смарт-контрактов в Aptos используется собственный язык программирования под названием Move, «вдохновленный» Rust. Однако наиболее популярный язык смарт-контрактов сегодня — это Solidity (его, например, использует Ethereum). Таким образом, выбор нового языка представляется спорным, поскольку является высоким барьером для включение в экосистему новых разработчиков.
В отличие от Aptos, для создания смарт-контрактов и их формальной верификации в Everscale можно использовать развитые и популярные в отрасли программирования языки — C, C++ и Solidity, а также использовать практически автоматическую формальную верификацию благодаря фреймворку, уже разработанному комьюнити.
Выводы
В конце можно подвести итог: Aptos — это единственный чейн с высоким ускорением, который в несколько раз быстрее «классического» блокчейна без шардинга. Однако архитектура одной сети имеет свои пределы.
Для ускорения работы Aptos использует алгоритм финальности, основанный на последовательном и параллельном исполнении транзакций, однако невозможность масштабирования и потенциально широкий вектор атак на сеть с высокой долей вероятности приведут к ее замедлению и являются тупиком для роста.
Поэтому можно задать обоснованный вопрос: Aptos — это действительно блокчейн пятого поколения, или очередная попытка построить «лучший Ethereum»?