Как устроена платформа

Архитектура

Устройство платформы

Блокчейн-платформа Конфидент построена на базе технологии распределенного реестра.

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

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

  • отдельных сайдчейнов, создаваемых для решения конкретных бизнес-задач.

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

Например, мастер-блокчейн может базироваться на алгоритме консенсуса Proof-of-Stake (PoS), так как поддерживается независимыми участниками. В то же время корпоративные сайдчейны, в которых нет необходимости стимуляции майнеров за счёт комиссий за транзакции, могут использовать алгоритмы Proof-of-Authority (PoA) или Crash Fault Tolerance (CFT).

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

Устройство ноды

Каждая нода блокчейна – это самостоятельный участник сети, имеющий ПО для работы в ней. Нода состоит из следующих компонентов:

  • Сервисы консенсуса и криптографические библиотеки (Consensus and cryptolibraries) – компоненты, отвечающие за механизм достижения согласия между узлами, а также за криптографические алгоритмы.

  • API-интерфейсы ноды (Node API) – интерфейсы gRPC и REST API ноды, позволяющие получать данные из блокчейна, подписывать и отправлять транзакции, отправлять конфиденциальные данные, создавать и выполнять смарт-контракты и так далее.

  • Пул неподтвержденных транзакций (Unconfirmed transaction pool, UTX pool) – компонент, обеспечивающий хранение неподтвержденных транзакций до момента их проверки и отправки в блокчейн.

  • Майнер (Miner) – компонент, отвечающий за формирование блоков транзакций для записи в блокчейн, а также за взаимодействие со смарт-контрактами.

  • Хранилище ключей (Key store) – хранилище ключевых пар ноды и пользователей. Все ключи защищены паролем.

  • Сетевой слой (Network layer) – слой логики, обеспечивающий взаимодействие нод на прикладном уровне по сетевому протоколу поверх TCP.

  • Хранилище ноды (Node storage) – компонент системы на базе RockDB, обеспечивающий хранение пар ключ-значение для полного набора проверенных и подтверждённых транзакций и блоков, а также текущего состояния блокчейна.

  • Валидатор – компонент, который реализует логику валидации (Validation logic) – слой логики, содержащий такие правила проверки транзакций, как базовая проверка подписи и расширенная проверка по сценарию.

  • Конфигурация (Config) – конфигурационные параметры ноды, задаваемые в файле node.conf.

Схематичное изображение устройства отдельной ноды:

Общая архитектура платформы