Как устроена платформа
Архитектура¶
Устройство платформы¶
Блокчейн-платформа Конфидент построена на базе технологии распределенного реестра.
Вы можете создать частную (приватную) сеть на базе блокчейн-платформы Конфидент для решения одной задачи. Либо организовать фрактальную сеть, которая состоит из двух элементов:
мастер-блокчейна, который обеспечивает работу сети в целом и выступает в качестве глобального арбитра как для опорной сети, так и для множества пользовательских;
отдельных сайдчейнов, создаваемых для решения конкретных бизнес-задач.
Взаимодействие между мастер-блокчейном и сайдчейнами обеспечивается при помощи механизма анкоринга сетей, который помещает криптографические доказательства транзакций в основную блокчейн-сеть. Механизм анкоринга позволяет свободно конфигурировать сайдчейны и использовать любой алгоритм консенсуса без потери связи с мастер-блокчейном.
Например, мастер-блокчейн может базироваться на алгоритме консенсуса 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.
Схематичное изображение устройства отдельной ноды: