
Атомарные свопы без жаргона
Технические
Перемещение криптовалюты между двумя разными блокчейнами обычно означает, что приходится доверять чему-то посередине. Биржа держит ваши монеты, или мост блокирует их и выдаёт вам обёрнутую версию. В любом случае на промежуток от нескольких секунд до нескольких часов вашими средствами управляет третья сторона, будь то централизованный кастодиан, набор валидаторов или мультисиг. А тот, кто может двигать ваши средства в этом промежутке, может их и заморозить, и потерять.
Атомарные свопы убирают этот промежуток. Они позволяют двум людям торговать криптовалютой между двумя сетями без кастодиана, без обёрнутого токена и без единого момента, когда средствами управляет одна из сторон или посредник. В этом материале разбирается, что это такое, как они работают изнутри, где они по-прежнему не дотягивают и почему эта модель важнее, чем может показаться.
Что такое атомарный своп?
Атомарный своп — это прямая сделка между двумя разными криптовалютами, часто в двух разных блокчейнах, которая происходит без какого-либо доверенного посредника. Ключевое здесь — слово «атомарный». Сделка либо полностью завершается для обеих сторон, либо не происходит вовсе. Промежуточного состояния, когда один получает деньги, а другой не получает ничего, не существует.
Свойство «всё или ничего» обеспечивается кодом, а не компанией. Вы и ваш контрагент обмениваетесь нативными активами по принципу p2p, и правила свопа делают невозможным обман одной стороной другой.
Как работают атомарные свопы?
Механика звучит сложно, но идея проста. Обе стороны блокируют свои средства в контрактах, которые можно разблокировать только одним общим секретом. Раскрытие этого секрета при получении одной стороны автоматически раскрывает его и для другой стороны. Поэтому в тот момент, когда вы забираете свою половину сделки, ваш контрагент может забрать свою. Ни один из вас не может схватить средства и сбежать.
Вот вся последовательность в действии в Garden:

Средства лежат в замке, который открывается только двумя способами. Либо сделка завершается через секрет, либо истекает таймер, и всё возвращается туда, откуда пришло. В этом весь трюк.
Роль HTLCs в атомарных свопах
У замка, который делает всю эту работу, есть название. Это Hash Time-Locked Contract, или HTLC. HTLC — это просто контракт с двумя возможными выходами и ничем больше.

Хешлок — первый выход. Тот, кто может предъявить секрет, совпадающий с сохранённым хешем, получает средства. Таймлок — второй выход. Если никто не предъявит секрет до установленного срока, средства возвращаются отправителю. Эти два выхода — вся модель безопасности. У контракта нет возможности отправить ваши средства куда-либо ещё.
Именно эта часть делает атомарные свопы не требующими доверия; у нас есть подробный разбор их эволюции, если вы хотите глубже разобраться в том, как работают HTLCs.
Атомарные свопы ончейн и офчейн
Атомарные свопы бывают двух видов, и разница в том, где живут замки.
Ончейн-атомарные свопы размещают HTLCs прямо в задействованных блокчейнах. Это тот кросс-чейн-случай, который большинство людей имеет в виду, говоря «атомарный своп». Вы обмениваете нативный актив в одной сети на нативный актив в другой, и оба замка записываются в своих сетях. Это самая распространённая схема, и именно она обеспечивает кросс-чейн-свопы Bitcoin в Garden.
Офчейн-атомарные свопы вместо этого работают внутри платёжных каналов, таких, какие использует Lightning Network. Применяется та же логика хешлока и таймлока, но своп исполняется внутри канала, а не в базовой сети. Допустим, у вас есть Bitcoin в канале Lightning и вы хотите Litecoin, а у кого-то с другой стороны потребность противоположная. Вместо того чтобы каждому из вас размещать замки в базовых сетях Bitcoin и Litecoin и ждать подтверждений, своп проходит через ваши платёжные каналы с тем же трюком с секретом и таймлоком. Ничего не попадает в базовую сеть, пока канал не закроется, поэтому своп завершается за секунды и стоит почти ничего. Загвоздка в том, что вам обоим нужны открытые, пополненные каналы с ликвидностью на нужных сторонах, поэтому это подходит для мелких, частых свопов гораздо лучше, чем для разового крупного перемещения.
Атомарные свопы против мостов и обёрнутых токенов
Именно здесь модель оправдывает себя. Обычный способ переместить Bitcoin в другую сеть — это мост, работающий по схеме «заблокировать и выпустить». Вы отправляете свои BTC на мост, он блокирует монету и выпускает вам обёрнутую версию вроде WBTC на другой стороне. Этот обёрнутый токен — долговая расписка. Он стоит что-то только до тех пор, пока мост действительно держит настоящие BTC и остаётся честным.
Атомарные свопы полностью обходятся без долговой расписки. Вы отдаёте нативный актив и получаете нативный актив. Ничего не оборачивается, и ничего не блокируется в куче, которую может опустошить злоумышленник.

Это устраняет две точки отказа, кастодиальное хранение и оборачивание.
Преимущества атомарных свопов
- Самостоятельное хранение
- Нет риска контрагента
- Нет обёрнутого токена
- Нет проскальзывания
Ограничения атомарных свопов
- Своп ждёт подтверждений блоков, поэтому он медленнее мгновенной сделки.
- Своп происходит только тогда, когда кто-то берёт противоположную сторону. В классическом варианте искать этого человека приходилось вам самим, хотя сети солверов теперь делают это автоматически; ликвидность и запасы солвера остаются ограничением.
- Хешлоки и таймлоки нужны в каждой сети, поэтому набор поддерживаемых активов уже, чем у системы, которая просто выпускает обёртки.
- Создаётся бесплатный опцион, тот, кто держит секрет, может уйти, если цена движется против него посреди свопа, ведь его средства просто возвращаются.
Раньше большинство из этого было непреодолимым. Сети солверов во многом решили проблемы ликвидности и контрагента, а штрафы притупляют бесплатный опцион. Остаётся в основном период ожидания, и это честная цена исполнения в реальных сетях вместо того, чтобы доверять исполнение кому-то другому.
Что можно делать с атомарными свопами сегодня?
Ранние инструменты были грубыми: приходилось самому искать контрагента, и обоим нужно было оставаться онлайн и нянчиться со свопом. Это изменилось. Современные протоколы задают более простой вопрос, что вы хотите, и позволяют сети солверов соревноваться за его исполнение. CoW Swap популяризировал эту модель интентов и солверов для торговли внутри одной сети, а Garden применяет тот же опыт в один клик поверх настоящего атомарного исполнения на HTLCs для кросс-чейн-перемещений. Вы получаете котировку, подтверждаете, и готово. Никакой охоты за контрагентом, никакого сидения перед экраном, никаких обёрнутых токенов, прилетающих в ваш кошелёк, а гарантии, не требующие доверия, остаются в силе, пока работа перекладывается на солверов.
Проще всего понять это, сделав своп. Вот настоящие атомарные свопы, которые вы можете сделать прямо сейчас:
- Перевести BTC в WBTC через мост
- Перевести BTC в USDT на Ethereum через мост
- Перевести BTC в SOL через мост
Часто задаваемые вопросы
Безопасны ли атомарные свопы?
Исполнение обеспечивается криптографией, а не доверием. Либо обе стороны свопа завершаются, либо обе возвращают средства через таймлок. Ни одна третья сторона не держит ваши средства ни в какой момент, поэтому основные риски, бьющие по биржам и мостам, кастодиальное хранение и обеспечение обёрнутого токена, здесь неприменимы. Оставшиеся риски практические, такие как ожидание подтверждений и поиск ликвидности.
Должны ли обе стороны быть онлайн во время свопа?
В изначальной одноранговой схеме да, и это была настоящая морока. Обоим приходилось оставаться активными, чтобы раскрыть секрет и забрать средства в пределах окон таймлока. Современные протоколы решают это с помощью сетей солверов. Солвер берёт на себя роль контрагента и обрабатывает свою сторону автоматически, поэтому вы подписываете один раз, и система доводит своп до конца. Вам не приходится сидеть и смотреть в экран.
В чём заключается проблема «бесплатного опциона» в атомарных свопах?
Поскольку держатель секрета может просто дать свопу истечь и получить возврат, у него фактически есть бесплатный опцион. Если цена движется в его пользу во время таймлока, он завершает своп, а если против него, он уходит без каких-либо затрат. При длинном таймлоке такой опцион имеет реальную ценность, и это несправедливо по отношению к контрагенту. Протоколы противодействуют этому комиссиями, залогами или штрафами, из-за которых бросить своп дороже, чем довести его до конца, что убирает большую часть стимула этим злоупотреблять.
Может ли атомарный своп стать жертвой фронтраннинга или сэндвич-атаки, как обычная сделка на DEX?
Курс фиксируется в момент, когда обе стороны блокируют свои средства, поэтому нет цены «в полёте», которой бот мог бы манипулировать так, как он делал бы это на AMM. Это убирает классическую сэндвич-атаку. Секрет действительно становится публичным ончейн, когда первая сторона забирает средства, но к этому моменту таймлоки уже защищают обе стороны, поэтому знание секрета никому не позволяет украсть одну из ног сделки.
Обратите внимание: термин «атомарные свопы» используется вольно. Множество протоколов рекламируют атомарные свопы, но при этом всё равно проводят ваши средства через пул или хранилище, контролируемое валидаторами, посреди свопа. Они атомарны, сделка либо завершается, либо полностью возвращается, но в промежутке ваши деньги держит кто-то другой, так что они не некастодиальны. В этой статье описывается, как атомарные свопы работают в Garden, построенные на HTLCs, где ваши средства остаются под защитой криптографии, доступ к которой есть только у вас и вашего контрагента (солвера). Если вы сравниваете варианты, не останавливайтесь на слове «атомарный». Проверьте, кто держит ваши средства, пока своп исполняется.
Last updated