Атомарный своп (atomic swap) – это криптовалютная сделка, которая может быть выполнена мгновенно без необходимости стороннего обслуживания для облегчения обмена.
Это еще один этап в развитии децентрализованного обмена, попытка сделать торговлю более безопасной, эффективной и не доверительной.
«Так я не могу доверять атомарным свопам?» – воскликнет кто-нибудь.
Нет, это совсем не то, что мы имеем в виду, когда говорим «не доверительный» – как раз совсем наоборот.
По иронии судьбы, такой обмен заслуживает большего доверия, чем доверительный. Например, когда вы используете централизованную биржу, например, Binance, вы вовлекаете себя в доверительную транзакцию.
Если быть точным, то вы доверяете Binance свои средства. Вы отказываетесь от личных ключей в пользу сервиса, полагая, что его операторы не будут злоупотреблять ими, а вы в свою очередь получаете доступ к торговой платформе.
Например, Катя и Ваня хотят обменять валюту. У Кати есть 57 LTC, но она хочет получить 1 BTC. Оказывается, у Вани есть 1 BTC, и ему нужны 57 LTC, поэтому Катя и Ваня решают совершить сделку.
Но ни один из них не хочет первым отправлять средства другому из-за страха, что он может быть обманут. Они также не хотят пользоваться сервисом эскроу (еще один пример доверительного стороннего посредника), который выполнил бы для них сделку.
У них есть возможность использовать атомарные свопы. С их помощью Катя и Ваня могут осуществить транзакцию без необходимости прибегать к услугам третьей стороны по типу Binance или сервиса эскроу, им не нужно беспокоиться о том, что кто-то кого-то обманет.
Как работают атомарные свопы?
Атомарные свопы разработаны для двух разных валют. Это метод, с помощью которого вы можете напрямую торговать монетами, не используя биржи.
Как и некоторые транзакции Lightning Network, атомарный своп использует хешированный временный контракт (hashed timelock contract – HTLC), чтобы обе стороны были в равных условиях.
В этих контрактах используется система транзакций с мульти-подписями, в которой оба трейдера отвечают за успешность свопа.
Чтобы сделать это возможным, hashlock использует криптографический алгоритм, который позволяет пользователям получать доступ к средствам только после того, как обе стороны подписали свои транзакции, а timelock похож на страховой полис, который гарантирует, что оба пользователя получат деньги обратно, если сделка не совершится в определенные сроки.
На практике атомарный своп выглядит следующим образом:
Катя и Ваня открывают каналы оплаты друг для друга, чтобы обменять 57 LTC на 1 BTC. Инициатор транзакции должен создать адрес контракта. В этом примере Катя является инициатором, поэтому она и создает адрес контракта.
Адрес функционирует как сейф для денег. Создавая его, Катя вносит 57 LTC и создаёт значение (секретную строку данных, которая функционирует как ключ). По сути, хеш похож на замок, а значение – это ключ. Чтобы облегчить сделку, Катя отправляет хеш Ване.
Ваня получает хеш и создает с ним аналогичный адрес. Создавая свой собственный контракт, Ваня вносит 1 BTC в сейф (контрактный адрес), который имеет тот же ключ, что и у Кати.
Таким образом, для того, чтобы Катя забрала свой 1 BТС, ей нужно подписать транзакцию для адреса контракта Вани, а для того, чтобы Ваня взял 57 LTC, ему нужно подписать транзакцию для адреса Кати.
Чтобы сделать это, Катя подписывает адрес контракта Вани с помощью значения (ключа), которое было необходимо для создания хеша, используемого Ваней для своего контракта.
При этом Катя открывает сейф со своими средствами, а также отдаёт этот ключ Ване. Итак, теперь, когда у Вани есть ключ, он может подписать контракт Кати и получить свой 1 BTC.
Когда Катя создаёт адрес контракта, вносит деньги и создает значение для этого адреса, она посылает Ване хеш, якобы говоря: «Если вы хотите получить эти 57 LTC, вам нужно воспроизвести ключ хеша».
Затем Ваня создает свой собственный адрес контракта с этим хешем и якобы отвечает: «Хорошо, но я не могу применить ключ, пока вы его мне не отдадите, поэтому используйте его, чтобы разблокировать свой 1 BTC, а затем я смогу с его помощью разблокировать 57 LTC».
HTLC структурирует транзакцию таким образом, что обе стороны зависят друг от друга для обеспечения успеха свопа.
Если по какой-либо причине обмен не получится (например, сбой сети или одна сторона не завершит сделку), то timelock возвращает все средства своим законным владельцам – никакого вреда.
On-chain и off-chain атомарные свопы
Важно отметить, что атомарные свопы могут выполнять как внутрисетевые (on-chain), так и внесетевые (off-chain) функции.
On–chain атомарные свопы, как следует из названия, происходят на блокчейне любой валюты.
В настоящее время для того, чтобы эти свопы работали, обе валюты должны использовать один и тот же алгоритм хеширования и поддерживать HTLC. В сентябре 2017 года Litecoin и Decred провели успешный on-chain атомарный своп, первый в своем роде.
Off-chain атомарные свопы позволяют, как вы уже догадались, проводить обмен валют вне блокчейна. Это происходит на втором уровне узлов, и сейчас off-chain атомарные свопы являются расширением Bitcoin Lightning Network.
Bitcoin и Litecoin выполнили первый off-chain атомарный своп с использованием Lightning Network еще в ноябре 2017 года.
Почему нужны атомарные свопы
Атомарные свопы могут принести большую безопасность в атмосферу обмена, обремененную рисками, включая неправильное распределение финансирования и хакерские атаки. Также можно сказать о торговой функции, которая позволяет проводить сделки без необходимости обращаться к централизованному посреднику.
Сейчас атомарные свопы упрощают весь торговый процесс. Теоретически, они могут быть разработаны для обеспечения универсальных торговых пар криптовалют. Более того, атомарные свопы могут быть интегрированы в кошельки, позволяя вам торговать криптовалютами прямо с десктопного, мобильного или веб-кошелька – больше не нужно переводить деньги на биржу и обратно.