Блог

Обновление платформы Waves Enterprise

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

Главной особенностью этого релиза стало добавление Crash Fault Tolerant (CFT) консенсус-протокола, который в будущем заменит текущий PoA в приватных сетях, упрощая взаимодействие внешних приложений с блокчейн-сетью за счет быстрой финальности блоков и сокращая расходы на интеграцию.

Нода

CFT-консенсус

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

В отличие от классических алгоритмов консенсуса Proof-of-чего-угодно, CFT консенсус не подвержен форкам и откатам блоков. Например, в PoS или PoA консенсусах процесс создания, рассылки и синхронизацию блоков майнерами допускает возможность штатного форка цепочки и существуют специальные процедуры «решения» этих форков. В нашем новом CFT консенсусе такой проблемы нет.

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

Применение CFT консенсуса упрощает интеграцию внешних приложений и систем с блокчейн-сетью, построенной на платформе Waves Enterprise. Его использование значительно сокращает издержки разработчиков бизнес-приложений, на часть бизнес-логики, ответственной за мониторинг операций и текущего состояния цепочки блоков.

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

Доработки событийной модели gRPC

В прошлом обновлении платформы мы добавили событийную модель gRPC, которая позволила разработчикам перейти от отправки запросов к REST интерфейсу ноды к подписке на получение оповещений о событиях в ноде. В версии 1.5 команде удалось оптимизировать и унифицировать формат передачи данных, преобразовав все потоки данные в бинарный формат. Мы также добавили возможность вызова метода NodeConfig по gRPC для корректной интерпретации данных, полученных по этому протоколу. Кроме этого, метод получения статуса состояния выполнения смарт-контракта (ContractStatus) был переведен на протокол gRPC.

Обновление краулера

Сервис извлечения данных из ноды и передачи в дата-сервис, называемый краулером, получил несколько новых обновлений:

  • Добавлена поддержка gRPC. Поддержка REST прекращена;
  • Добавлена поддержка атомарных транзакций;
  • Добавлена возможность использовать кастомный сертификат SSL для Postgres на облачных сервисах.

ГОСТ-криптография

Все функции платформы, использующие блочное шифрование, были переведены на криптографический алгоритм «Кузнечик» ГОСТ 34.12–2015 (при применении ГОСТ-криптографии в блокчейн-сети). Для зашифрованной связи узлов сети версии 1.4 и ниже будет использоваться предыдущий алгоритм.

Клиент

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

  • Добавлено отображение атомарных транзакций;
  • Обновлены стили в информации о транзакции;
  • Добавлены более детальные сообщения при восстановлении аккаунта и регистрации;
  • К каждому токену добавлен цвнт;
  • В карточке пользователя ссылка на поиск транзакций адреса изменена на поиск по участнику;
  • Добавлено отображение формы обратной связи при медленной загрузке данных;
  • Сервис авторизации переведен на регистронезависимые почтовые адреса;
  • Исправлено отображение формы регистрации в Firefox.

В дата-сервис добавлена возможность поиска по ID атомарных транзакций, а также поддержка собственных сертификатов SSL для Postgres на облачных сервисах.