Skip to main content
Атомарные обмены — это не требующие доверия одноранговые обмены, с помощью которых проводится расчёт между пользователем и солвером, выбранным для исполнения его намерения. Атомарность этих обменов означает, что они устроены так: обмен либо завершается полностью, либо не происходит вовсе, промежуточного состояния нет. Поэтому ни пользователи, ни солверы ни на одном этапе обмена не теряют контроль над своими активами. Традиционные мосты требуют на время перевода передать контроль над активом кастодиану (WBTC), сети-посреднику (Threshold, Thorchain) или мультиподписи (мост Avalanche). Для реализации атомарных обменов Garden использует Hash Time Locked Contracts (HTLC). Как следует из названия, они задают ограниченные по времени условия передачи активов между двумя сторонами. Получатель транзакции должен подтвердить получение платежа, сформировав криптографическое доказательство в течение определённого срока. Это доказательство — ответ на криптографическую задачу, заложенную в контракт и обычно основанную на хеш-функции. Если получатель не предоставит правильное доказательство в установленный срок, транзакция автоматически отменяется, а активы возвращаются отправителю. Проще всего объяснить это на примере и блок-схеме.

Как работают атомарные обмены?

Возьмём наш случай: пользователь формирует намерение обменять активы. Аукцион выбирает для этого солвера. После исполнения намерения солвер и пользователь должны провести расчёт, то есть обменяться активами.
Процесс атомарного обмена
  1. Пользователь вносит актив A в прозрачное хранилище в блокчейне A.
  2. Солвер проверяет внесённую сумму и, если она совпадает с ожидаемой, вносит актив B в такое же прозрачное хранилище в блокчейне B.
  3. Пользователь (клиентский интерфейс) проверяет сумму, внесённую солвером, и, если она верна, открывает хранилище и забирает актив B в блокчейне B.
  4. Теперь солвер может забрать актив A из хранилища пользователя в блокчейне A — обмен завершён.
Это так называемый успешный сценарий, когда всё идёт как ожидалось. В следующем разделе описаны сценарии сбоев в этой системе и защитные механизмы Garden от них.

Сценарии и защитные механизмы

1. Активы A и B заблокированы, но актив B не получен

Сценарий сбоя 1
  • Штраф: к стейкерам применяется слэшинг в размере 1% от суммы намерения.
  • Решение для солвера: возврат актива B через 24 часа, а также изъятые SEED в качестве компенсации.
  • Решение для пользователя: возврат актива A через 48 часов.

2. Актив B не заблокирован

Сценарий сбоя 2
  • Штраф: к солверу и стейкерам применяется слэшинг в размере 0,5% от суммы намерения.
  • Решение для пользователя: возврат актива A через 48 часов, а также изъятые SEED в качестве компенсации.