Архитектура

Архитектура

Goldmember Toha
6 min readDec 15, 2021

--

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

Хотите знать больше о проекте, тогда вам сюда:

--

--