Роли
Внешний блокчейн
Intention
Контракт мостахранение средств · проверка подписей перед выпускомчасть, от которой реально зависят средства
Валидаторынаблюдают внешний блокчейн и подписывают увиденное
Финализаторретранслятор, а не орган власти: не может создать вывод без подписей
Администраторнабор валидаторов и параметры — то, что нельзя автоматизировать
Вывод становится исполнимым только после того, как собрано достаточно подписей валидаторов, — то же допущение о доверии, что и в консенсусе, только через границу блокчейнов.
события депозитов
агрегированные подписи
транзакции вывода
Депозиты
Депозит — лёгкое направление. Средства блокируются во внешнем контракте, который выпускает событие депозита; валидаторы его наблюдают, и зачисление становится нативной транзакцией протокола в Intention. Раз это зачисление — обычная транзакция, оно наследует всё, что гарантирует ядро. Оно исполняется в каноническом порядке, изменение, которое оно вносит в счёт, приписано именно ему, и видно оно в тех же выходных данных, что и любое другое изменение состояния. Если депозит восстанавливает маржу по позиции, стоящей у грани ликвидации, клиринговая палата видит его в том же шаге исполнения, а не при последующей сверке. Ждать приходится финальности внешнего блокчейна, а не Intention. Депозит зачисляется, когда выполнено требование по подтверждениям в исходном блокчейне.Выводы
Вывод — опасное направление, и он идёт в две фазы с периодом оспаривания между ними.Запрос в Intention
Подписан валидаторами, зарегистрирован в контрактевыплаты не производит
Период оспариваниядолжен истечь настроенный период
Финализировансредства выпущены
Аннулированотменён до движения средств
Зачем ожиданиеУ каждого катастрофического взлома моста одна и та же структура: атакующий получает возможность авторизовать вывод, и средства исчезают в том же блоке. Период оспаривания превращает мгновенную необратимую потерю в окно, в котором успевают сработать мониторинг и люди. Платить за это приходится тем, что законные выводы тоже ждут.
истёк
оспорен
Как это остановить
На случай, когда что-то пошло не так, есть два механизма. Аннулирование отменяет конкретный вывод внутри его периода оспаривания. Это точечная реакция. Блокировка — грубая: назначенная роль может заблокировать мост, а число сторон, которые должны для этого действовать, — тоже параметр. Это механизм на случай «что-то не так, и мы пока не знаем что»: он останавливает поток целиком, а не разбирает отдельные транзакции.Изменения набора валидаторов
Внешний контракт должен знать, кто такие валидаторы, а значит, изменения набора валидаторов обязаны пересекать границу. Их сначала предлагают и только потом финализируют отдельным шагом — в силу они вступают не в момент отправки. Форма та же двухфазная, что и у выводов, и по той же причине.Где на самом деле сидит риск
Стоит сказать прямо, потому что именно на мостах пользователи теряют деньги:- В Intention мост устроен обычно. Зачисленный депозит — обычная транзакция с обычными гарантиями.
- Во внешнем блокчейне вы зависите от контракта и порога подписей. Это другая модель безопасности, не консенсусная, и она проверяется аудитом отдельно — мост и есть тот компонент, который проходит сторонний аудит.
- Между ними вы зависите от того, что валидаторы наблюдают верно, и от того, что финализатор отправляет. Ни тот ни другой не могут сфабриковать вывод; задержать могут оба.
Поддерживаемые блокчейны, активы, требования по подтверждениям и длина периода оспаривания — эксплуатационные параметры, меняющиеся с каждым релизом. Авторитетны те значения, которые показаны в диалогах депозита и вывода в интерфейсе биржи в момент перевода — см. Депозит и Вывод средств.
Что дальше
Пополнение счёта
Путь ввода средств глазами пользователя, с актуальными блокчейнами и сроками.
Неторговые комиссии
Сколько стоит вывод и почему депозиты бесплатны.
Клиринговая палата
Что депозит делает с маржой в момент зачисления.
Раскрытие рисков
Допущения о доверии к мосту, сформулированные как риски.