Как устроена платформа
Роли участников¶
Блокчейн-платформа Конфидент реализует закрытую (permissioned) модель блокчейна, доступ к которому имеют только авторизованные участники.
Также в платформе реализована ролевая модель, которая позволяет разграничить полномочия участников сети. Управление ролями осуществляется посредством транзакции 102 Permission Transaction.
Описание ролей¶
permissioner
Участник с ролью permissioner является администратором сети и имеет право назначать или удалять любые роли участников сети.
Первый участник с ролью permissioner назначается при запуске блокчейн-сети.
sender
Участник с ролью sender имеет право отправлять транзакции в сеть.
Использование этой роли включается и отключается при помощи параметра sender-role-enabled, который находится в блоке genesis конфигурационного файла ноды.
banned
Роль banned временно или постоянно ограничивает отправку транзакций от этого участника.
Адрес с ролью banned попадает в черный список нод (blacklist) – список адресов, от которых не принимаются транзакции.
blacklister
Участник с ролью blacklister имеет право временно или постоянно ограничивать действия других участников сети, присваивая им роль banned.
Для этого blacklister отправляет транзакцию 102 с соответствующими параметрами.
miner
Участник с ролью miner может быть выбран в качестве майнера очередного раунда и имеет право формировать блоки.
issuer
Участник с ролью issuer имеет право на выпуск, перевыпуск и сжигание токенов.
contract_developer
Участник с ролью contract_developer имеет право на установку смарт-контрактов в блокчейне.
Подробнее о смарт-контрактах и применении этой роли: Смарт-контракты.
contract_validator
Участник с ролью contract_validator имеет право на валидацию обновляемых и загружаемых смарт-контрактов.
Подробнее о применении этой роли: Валидация смарт-контрактов.
connection-manager
Участник с ролью connection-manager имеет право на подключение или отключение нод от сети. Как правило, роль connection-manager присваивается администратору сети.
Подробнее о подключении и отключении нод: Подключение и удаление нод.
Управление ролями¶
Изменить список полномочий может только нода с ролью permissioner.
Для добавления или удаления ролей используется транзакция 102 Permission Transaction.
Процесс назначения и удаления ролей описан в статье Управление ролями участников.
При отправке транзакции 102 нода выполняет следующие проверки:
Отправитель транзакции 102 не находится в списке blacklist.
У адреса отправителя есть роль
permissioner.Роль
permissionerу адреса отправителя активна в момент отправки транзакции.Роль, указанная в транзакции 102, неактивна в случае её добавления адресу, и активна в случае её удаления у адреса.
Удаление или назначение ролей участникам производится при попадании соответствующих транзакций 102 в блокчейн. Роли могут быть произвольно скомбинированы для любого адреса, отдельные роли могут быть отозваны в любой момент.