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

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

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