В обновлении 1.8 мы сосредоточились на расширении возможностей и увеличении производительности ноды. Вот каких аспектов работы коснулись основные улучшения.
Передача конфиденциальных данных
Мы расширили возможности передачи конфиденциальных данных внутри платформы Waves Enterprise. В версии 1.8 добавлена подсистема загрузки и передачи приватных данных в поточном режиме. Это снимает ограничение на размер загружаемого файла. В качестве хранилища приватных данных теперь можно использовать PostgreSQL- или любое другое S3-совместимое хранилище.
Безопасное параллельное исполнение смарт-контрактов
Мы внедрили в процесс исполнения смарт-контрактов механизм MVCC (Multiversion concurrency control). Он контролирует доступ смарт-контрактов к общим ресурсам и разрешает возможные конфликты. Это позволяет параллельно запускать исполнение любых смарт-контрактов, а не только тех, что используют один образ, как это было ранее.
Поддержка TLS, соответствующего ГОСТу
Ноды мейннета Waves Enterprise поддерживают протокол TLS (Transport Layer Security), предназначенный для создания защищенного канала связи в интернете. В релизе 1.8 была добавлена поддержка TLS в соответствии с ГОСТ на базе средств КриптоПро — отечественного лидера в сфере криптографической защиты информации и средств электронной цифровой подписи. Соответствие ГОСТу необходимо для сертификации ноды в качестве СКЗИ (средства криптографической защиты информации). Кроме того, это обновление позволит использовать платформу Waves Enterprise в проектах государственных заказчиков с более высокими требованиями безопасности.
Увеличение производительности
Целый список улучшений релиза 1.8 был направлен на увеличение производительности ноды:
- повышена отзывчивость gRPC и REST API при высокой нагрузке;
- реализована приоритизация рассылки транзакций среди пиров для уменьшения задержки записи транзакции в блок;
- оптимизировано шифрование при использовании протокола TLS;
- обновлены программные средства ГОСТ-криптографии;
- снижено потребление ресурсов при распространении и хранении метаданных в подсистеме передачи конфиденциальной информации;
- уменьшено потребление памяти для хранения статусов выполнения смарт-контрактов.
Расширение набора методов gRPC API
В релизе 1.8 для gRPC API были добавлены новые методы, которые ранее были доступны только в REST API:
- методы для работы с конфиденциальными данными и настройкой соответствующих политик;
- методы для работы с адресами блокчейн-аккаунтов;
- новые утилитарные методы. Это расширяет возможности интеграции с нодой с помощью gRPC API, в формате событий/стримов. Благодаря меньшему количеству операций по кодированию и декодированию данных из строкового представления, этот подход менее ресурсоемок по сравнению с REST API.
Обновление 1.8 можно скачать в гитхабе Waves Enterprise.
