Обзор¶
На этой странице — карта элементов экосистемы, различие публичной платформы и кооперативных бэкендов провайдеров, роли оператора и провайдеров, а ниже — потоки документов и фабрика. См. также сжатое Введение.
Элементы экосистемы¶
| Элемент | Роль |
|---|---|
| Блокчейн (COOPOS) | Общая цепь: консенсус, узлы, публичное состояние, системные и кооперативные смарт-контракты, API. Документация: раздел Блокчейн и вложенные страницы. |
| Библиотека типов | Согласованные типы для контрактов и интеграций между сервисами. Библиотека типов. |
| Кооперативные контракты | Логика и экономика кооперации на цепи (в т. ч. эмиссия, сценарии пайщиков). Кооперативные контракты. |
| Фабрика документов | Стандартизированное ПО для выпуска юридических документов по методологии кооперации; согласует реестры кооператива, шаблоны и действия в цепи. |
| Инструменты разработчика (CDT) | Компиляция контрактов C++ → WASM, ABI и смежный toolchain в духе EOSIO. Отдельный раздел в оглавлении этой документации запланирован; пока см. Программы (инструменты COOPOS). |
Платформа и кооперативные бэкенды¶
Платформа в смысле стандартов кооперативной экономики включает публичный блокчейн (COOPOS), опубликованные контракты и типы, протоколы доступа к цепи и фабрику документов как общий подход к юридическим документам. Кооперативный бэкенд (сервис провайдера под конкретный кооператив) ведёт ФИО, полные реестры, внутренние документы и матрицу прав доступа; фабрика разворачивается у провайдера, но по единой спецификации платформы. В цепь попадают обезличенные и минимально достаточные данные для исполнения контрактов и межкооперативной согласованности.
flowchart TB
П[Пайщик] --> К[Кооператив]
К --> Б["Сервис провайдера: реестры, документы, доступ (приватный контур)"]
Б --> Ц["Блокчейн COOPOS: смарт-контракты и публичное состояние"]
Провайдеры, оператор и сервис кооператива¶
Пайщик, обращаясь к одному из подключенных кооперативов на платформе, обращается в программное обеспечение провайдера, который предоставляет его кооперативу сервис. Кооператив же обладает соглашением с провайдером о правилах и условиях предоставления сервиса.
Провайдеры - это организации, которые предоставляют кооперативам программное обеспечение платформы кооперативной экономики как готовый сервис "с кнопками".
Провайдеры обеспечивают для кооперативов и их пайщиков контроль прав доступа к реестрам и фабрике документов. Фабрика документов производит цифровые документы в соответствии с методологией кооперации в моменты нажатия пайщиком соответствующих кнопок в приложении провайдера на основании информации из реестров.
Фабрика документов — стандартизированное программное обеспечение провайдеров для производства цифровых документов
Фактическое подключение кооперативов осуществляется оператором. Оператор платформы кооперативной экономики осуществляет исполнение кооперативного смарт-контракта о подключении нового кооператива, результатом которого является регистрация аккаунтов в блокчейне и конфигурация системных смарт-контрактов, необходимая для нормальной работы подключенного кооператива.
flowchart TB
subgraph Провайдеры[Провайдеры]
subgraph Провайдер1[Программное обеспечение Провайдера 1]
Кооператив1[Кооператив 1]
end
subgraph Провайдер2[Программное обеспечение Провайдера 2]
Кооператив2[Кооператив 2]
end
end
subgraph Оператор[Оператор платформы]
direction TB
Провайдеры
end
Провайдер1 --> Оператор
Провайдер2 --> Оператор
Оператор у платформы один, а провайдеров может быть много, на каждую подключаемую страну, как минимум, по одному. Оператор обеспечивает функционирование блокчейна и его токеномики, а также реализует и поддерживает системные контракты, на которых основана работа кооперативных смарт-контрактов кооперативов. Весь блокчейн находится во внутреннем кооперативном контуре оператора и поэтому его участие в подключении новых кооперативов - обязательно.
sequenceDiagram
participant Кооператив
participant Провайдер
participant Оператор
participant Блокчейн
Кооператив->>Провайдер: Запрос на подключение
Провайдер->>Оператор: Передача запроса
Оператор->>Блокчейн: Исполнение смарт-контракта подключения
Оператор-->>Провайдер: Подтверждение подключения
Провайдер-->>Кооператив: Регистрация завершена
При подключении к платформе председатель, члены совета и все пайщики нового кооператива получают карты пайщиков, которые содержат в себе уникальные идентификаторы имен аккаунтов и приватный ключ доступа, которым осуществляется простая цифровая подпись электронных документов, а также интер-кооперативный "быстрый вход" в другие кооперативы.
Каждый кооператив, подключаемый через провайдера, получает свой кооперативный бэкенд: приватные базы данных и прикладной сервис (реестр пайщиков, движение паевых и членских взносов, реестры документов, правила доступа и сценарии кооперации). Это вне ответственности публичной цепи: платформа не администрирует эти хранилища.
Важно
Провайдеры предоставляют программное обеспечение, вход в которое осуществляется посредством карты пайщика. То, что реализует программное обеспечение провайдера полностью зависит от провайдера. Каталог провайдеров представлен в разделе "Подключение".
Провайдеры в своих сервисах реализуют вызовы кооперативных смарт-контрактов; тот же сценарий может завершиться в приложении другого провайдера, потому что обмен идёт через общие протоколы и состояние блокчейна. Например, пайщик в кооперативе с ПО провайдера А инициирует взнос, а возврат получает пайщик в кооперативе у провайдера Б.
flowchart LR
Пайщик1[Пайщик 1] --> Кооператив1[Кооператив 1]
Кооператив1 --> Провайдер1[Провайдер 1]
Провайдер1 --> Блокчейн[(Блокчейн)]
Блокчейн --> Провайдер2[Провайдер 2]
Провайдер2 --> Кооператив2[Кооператив 2]
Кооператив2 --> Пайщик2[Пайщик 2]
Подобные меж-провайдерные и меж-кооперативные операции возможны за счёт применения общих стандартов по документообороту, которые позволяют провайдерам создавать юридические документы таким образом, что другие провайдеры могут их применять. Одновременно с этим блокчейн обеспечивает единство публичных методов и проверку авторизации для действий, которые должны исполниться в кооперативном смарт-контракте.
Таким образом, у каждого кооператива есть приватная база данных, в которой находятся внутренние реестры именно этого кооператива, а у другого кооператива есть своя собственная база данных, которая может быть даже устроена иначе, однако, сам процесс, по которому провайдеры создают документы - идентичен, т.к. они применяют одну и ту же фабрику документов, которые отправляются в кооперативные смарт-контракты, в блокчейн.
Фабрика документов - это программный продукт для провайдеров, который обеспечивает единый стандарт в процессе производства юридических документов. Фабрика использует для своей работы шаблоны документов, в которые подставляет данные пайщиков в соответствии с тем действием, которое он запрашивает.
При запросе пайщика в программном обеспечении провайдера тот обращается в приватный реестр кооператива и в блокчейн и извлекает данные, нужные для юридического документа по запрошенному действию.
sequenceDiagram
participant Пайщик
participant Провайдер
participant Фабрика as Фабрика документов
participant Блокчейн
Пайщик->>Провайдер: Запрос на создание документа
Провайдер->>Фабрика: Передать данные для создания документа
Фабрика-->>Провайдер: Сформированный PDF-документ
Провайдер-->>Пайщик: Отправить документ на подпись
Пайщик->>Провайдер: Подписанный документ
Провайдер->>Блокчейн: Отправить анонимизированный документ
Провайдер->>Фабрика: Восстановить полный документ
Фабрика-->>Провайдер: Восстановленный документ
После извлечения данных провайдер передаёт их в фабрику, та формирует PDF и возвращает его провайдеру, а провайдер направляет документ пайщику на подпись.
После подписи документа, который всегда относится к процессу исполнения того или иного кооперативного смарт-контракта, провайдер отправляет действие пайщика в блокчейн, прикладывая к действию анонимизированную копию документа, из которой можно восстановить оригинал, обладая полным набором тех же приватных данных о пайщике, которые использовались при формировании документа.
В анонимизированной копии документа нет сведений о пайщике, но есть его цифровая подпись, которая позволяет идентифицировать факт подписи документа анонимным пайщиком. Деанонимизировать же пайщика может только кооператив, у кого есть приватные данные этого пайщика. Обладая приватными данными пайщика, кооператив может через своего провайдера повторно вызвать фабрику документов, передав в неё анонимизированный документ и приватные данные пайщика, и получить полную PDF-версию документа с цифровой подписью пайщика, которую он теперь может использовать согласно исполняемому им кооперативному смарт-контракту.
Все эти процессы генерации и регенерации документов скрыты и происходят автоматически при нажатии пайщиками кнопок в приложениях провайдеров. Однако эти действия по формированию документов на основании общих стандартов и позволяют вести автоматизированный учёт электронного документооборота в потребительских и производственных кооперативах.