Архитектура
Архитектура
InterBTC состоит из четырех различных участников и восьми модулей. Компонент также использует два дополнительных модуля: компонент BTC-Relay и механизм Совета Парачейна.
Участники
В системе есть четыре основных роли участников. Подробный обзор всех модулей и участников, а также взаимодействия между ними представлены ниже на рисунке 5.
- Хранилища: Хранилища — это обеспеченные залогом посредники, которые активны как в поддержке блокчейна (Bitcoin), так и в обращении к блокчейну для предоставления залога в DOT. Они получают и удерживают BTC от пользователей, которые хотят создавать токены interBTC. Когда пользователь сжигает токены interBTC, хранилище выпускает соответствующее количество BTC на адрес BTC пользователя. Хранилища напрямую взаимодействуют со следующими модулями: Реестр хранилища (Vault Registry), Выкуп (Redeem) и Замена (Replace).
- Отчетность: отслеживает, что другие Хранилища не перемещают заблокированные BTC в Bitcoin без предварительного одобрения Парачейном BTC (т. е. через один из протоколов Выкупа, Замены или Возврата (Refund).
- Релеинг: переносит заголовки блоков, опубликованные в Bitcoin, в BTC-Relay.
- Пользователи: Пользователи взаимодействуют с Парачейном BTC для создания, использования (торговли / передачи /…) и Выкупа обеспеченных Bitcoin токенов interBTC. Поскольку разные этапы протокола могут выполняться разными пользователями, мы вводим следующие под-роли:
- Запрашивающая сторона: пользователь, который блокирует BTC в хранилище Bitcoin и выпускает interBTC в Парачейне BTC. Взаимодействует с модулем Выпуск (Issue).
- Отправитель и Получатель: пользователь (Отправитель), который отправляет interBTC другому пользователю (Получателю) в Парачейне BTC. Взаимодействует с модулем Казна (Treasury).
- Выкупающая сторона: пользователь, который сжигает interBTC в Парачейне BTC, чтобы получить соответствующее количество BTC в сети Bitcoin от Хранилища (Vault). Взаимодействует с модулем Выкуп.
- Механизм Совета (Governance Mechanism): Механизм Совета Парачейна контролирует правильную деятельность Парачейна BTC. Взаимодействует с модулем Безопасности (Security) и может вручную обновлять параметризацию всех компонентов в Парачейне BTC.
Модули
Восемь модулей в interBTC, а также BTC-Relay и Механизм Совета взаимодействуют друг с другом, но все они имеют различные логические функции. Они показаны на рисунке ниже.
Спецификация четко разделяет эти модули, чтобы гарантировать, что каждый модуль может быть реализован, протестирован и верифицирован изолированно. Спецификация следует принципу абстрагирования внутреннего осуществления и предоставления понятного интерфейса. Это должно позволить оптимизировать и улучшить модуль с минимальным влиянием на другие модули.
Рис. 5 Подробный обзор Парачейна BTC. InterBTC состоит из семи модулей. Модуль Оракул (Oracle) хранит обменные курсы на основе данных централизованных и децентрализованных бирж. Модуль Казна (Treasury) сохраняет право собственности на interBTC, модуль Реестр Хранилищ (VaultRegistry) хранит информацию о текущих Хранилищах (Vaults) в системе, а модули Выпуск (Issue), Выкуп (Redeem) и Замена (Replace) предоставляют функции и поддерживают данные, относящиеся к соответствующим под-протоколам. Модули Стабилизированного Залога (StabilizedCollateral) обрабатывают обеспечение хранилища, стабилизацию от колебаний обменного курса и автоматическую ликвидацию. BTC-Relay отслеживает основную сеть Bitcoin и подтверждает включение транзакции. Совет Парачейна (Parachain Governance) поддерживает правильную работу Парачейна BTC и при необходимости вмешивается / останавливает работу.
BTC-Relay
BTC-Relay — ключевой компонент Парачейна BTC на Polkadot. Его основная задача — позволить Парачейну проверять состояние Bitcoin и реагировать на транзакции и события. В частности, BTC-Relay действует как Bitcoin SPV / облегченный клиент Bitcoin на Polkadot, сохраняя только заголовки блоков Bitcoin и позволяя пользователям проверять доказательства включения транзакции. Кроме того, он может обрабатывать форки и следует по чейну с наиболее накопленным Proof-of-Work.
Правильная работа BTC-Relay имеет решающее значение: если BTC-Relay перестает работать, мост между Polkadot и Bitcoin прерывается.
Рис. 6 BTC-Relay (выделено синим) является ключевым компонентом Парачейна BTC: ему необходимо проверять и отслеживать состояние Bitcoin.
Ниже мы приводим обзор его компонентов, а также соответствующих участников, предлагая ссылки на полную спецификацию, которая содержится в остальной части данного документа.
Рис. 7 Обзор архитектуры BTC-Relay. Заголовки блоков Bitcoin передаются Компоненту Проверки (Verification Component), который взаимодействует с компонентами Утилиты (Utils), Парсер (Parser) и Обработки Сбоев (Failure Handling), также как и Хранилище Парачейна (Parachain Storage).
Оракул
Модуль Оракул поддерживает значение обменного курса между активом, который используется для обеспечения Хранилищ (например, DOT), и обернутым активом (interBTC). Совет разрешает доверенным третьим сторонам вводить текущие обменные курсы в систему за номинальную плату.
Казна
Модуль Казна утверждает собственность и баланс обладателей токенов interBTC. Это позволяет соответствующим владельцам interBTC отправлять свои токены другим субъектам и запрашивать их баланс. Кроме того, он отслеживает общее количество токенов.
Реестр хранилища
Модуль Реестр Хранилищ управляет Хранилищами в системе. Это позволяет управлять списком активных Хранилищ в системе и необходимыми данными (например, адресами BTC) для выполнения протоколов Выпуск, Выкуп и Замена.
Этот модуль также обрабатывает уровни залогового обеспечения Хранилищ и реагирует на колебания обменного курса. В частности он:
- Содержит информацию сколько залога предоставлено каждым Хранилищем и какая часть этого залога передана interBTC.
- В крайнем случае запускает автоматическую ликвидацию, если размер Хранилища становится ниже минимального уровня обеспечения.
Залог
Модуль Залога — это центральное хранилище для любого залога, которое накапливается в любом другом модуле. Он позволяет выполнять три простые операции: блокирование залога стороной, возвращение залога обратно первоначальной стороне, которая заблокировала этот залог, и, наконец, сокращение залога, когда залог перемещается к стороне, отличной от той, которая его заблокировала.
Выпуск
Модуль Выпуск обрабатывает процесс выпуска токенов interBTC. Он отслеживает запросы пользователей на выпуск, обрабатывает залог, предоставляемый пользователями, в качестве защиты от сбоев и предоставляет пользователям функциональные возможности для подтверждения правильной блокировки BTC с помощью Хранилищ (взаимодействие с конечными точками в BTC-Relay).
Выкуп
Модуль Выкуп обрабатывает процесс выкупа токенов interBTC. Он отслеживает запросы на выкуп от пользователей, предоставляет Хранилищам функциональные возможности для подтверждения правильности выпуска BTC для пользователей (взаимодействие с конечными точками в BTC-Relay) и обрабатывает залог Хранилищ в случае успеха (бесплатно) и неудачи (сокращение).
Замена
Модуль Замена обрабатывает процесс замены Хранилищ. Он отслеживает запросы на замену существующими Хранилищами, предоставляет функциональные возможности для подлежащих замене Хранилищ, чтобы доказать правильность передачи заблокированных BTC новым кандидатам в Хранилища (взаимодействуя с конечными точками в BTC-Relay), и обрабатывает залог, предоставляемый участвующими Хранилищами в качестве защиты от сбоев.
Безопасность
Модуль Безопасности — это ядро Парачейна BTC. Он импортируется большинством модулей с целью обеспечения работы чейна.
Механизм Совета
Механизм Совета обеспечивает правильную работу Парачейна BTC.
Взаимодействия
Диаграмма зависимостей
Мы предоставляем диаграмму зависимостей различных паллет на Рис. 8. Обратите внимание, что для доходчивости, зависимости, которые уже подразумеваются транзитивностью, не отображаются. То есть, если a -> b, b -> c и a -> b, мы не показываем зависимость a -> c даже если это явная зависимость в исполнении.
Рис. 8 Диаграмма зависимости паллет
Внешние взаимодействия
Мы предоставили обзор основных способов взаимодействия различных субъектов с парачейном на Рис. 9. Обратите внимание, что мы включили только те вызовы функций, которые имеют побочные эффекты, то есть которые записываются в хранилище. Кроме того, некоторые вызовы, которые не являются центральными в основном протоколе, не включены в рисунок для доходчивости обзора. Паллеты отображаются в центральной колонке, в то время как различные участники окружают ее в желтых ячейках.
Рис. 9 Обзор взаимодействий различных участников с парачейном.
Переведено с оригинала — https://spec.interlay.io/intro/architecture.html
Хотите знать больше о проекте, тогда вам сюда:
- Твиттер — https://twitter.com/interlayHQ
- Дискорд — https://discord.com/invite/KgCYK3MKS
- Телеграм — https://t.me/interlay_community
- Гитхаб — https://github.com/interlay
- Медиум — https://medium.com/interlay