Атомарні свопи – механізм для забезпечення цієї P2P-торгівлі криптоактивами безпосередньо через блокчейн. Як працюють атомарні свопи та яке майбутнє у цієї технології?

Атомарні свопи — це автоматичні контракти обміну криптоактивів між блокчейнами. Механізм смарт-контрактів повністю усуває необхідність у централізованих сторонніх організаціях (біржах чи обмінниках) під час угод та звільняють від ризику контрагента. Це один із небагатьох по-справжньому децентралізованих методів проведення угод щодо обміну криптоактивів.

Як працюють атомарні свопи

"Атомарний" (неподільний) - це термін для позначення процесів, які або виконуються повністю, або не виконуються зовсім. Іншими словами, атомарний своп має функції, які гарантують, що обидві сторони угоди виконають усі заздалегідь задані умови для завершення обміну. Виконання умов гарантується смарт-контрактами. У разі відмови однієї зі сторін або технічних проблем вся операція повністю скасовується.

В атомарних свопах використовуються смарт-контракти із блокуванням хешу та тимчасовою прив'язкою (HTLC). У цих контрактах застосовується механізм створення та порівняння відбитків даних – хеш-функція. Крім того, контракт встановлює обмеження за часом — транзакції скасовуються, якщо хоча б одна зі сторін не виконала умови угоди протягом певного періоду.

Наприклад, дві сторони можуть домовитися про встановлення двогодинного обмеження часу для атомарного свопу. У цьому сценарії контракт поверне депоновані монети їхнім початковим власникам, коли пройде дві години і не всі умови угоди будуть виконані. Смарт-контракт HTLC вимагає два криптографічні ключі:

  • Ключ блокування хеша (Hashlock key). Цей ключ гарантує, що угоду буде завершено лише тоді, коли обидві сторони подадуть криптографічні докази, що вони виконали умови транзакції.

  • Ключ тимчасової прив'язки (Timelock key). Це механізм безпеки, який допомагає учасникам угоди встановлювати крайній термін здійснення атомарного свопу. Механізм гарантує, що депоновані монети повернуться учасникам угоди, якщо своп не завершено з тієї чи іншої причини до закінчення останнього терміну.

Як виконуються атомарні свопи

Припустимо, що Користувач А та Користувач Б погодилися зробити атомарний своп для BTC та ETH. Користувач Б хоче обміняти свій 1 BTC на 15 ETH Користувача А.

Спочатку Користувачеві Б потрібно створити адресу контракту, на яку він відправить 1 BTC. Після того, як він здійснив транзакцію, контракт автоматично генерує спеціальний ключ, доступ до якого має лише Користувач Б. Цей ключ розблокує гроші, які користувач надіслав на смарт-контракт.

Контракт використовує цей ключ для створення хешованого подання або зашифрованої форми ключа. Потім Користувач Б надсилає хеш ключа Користувачеві А. Таким чином, Користувач А має доступ тільки до хешованої форми коду доступу, що використовується для блокування 1 BTC Користувача Б. Цей хеш служить підтвердженням того, що він користувач Б заблокував гроші в контракті, але Користувач А поки не може отримати доступ до них або вивести їх з контракту.

Після отримання хешованого ключа Користувач А використовує його для створення власної адреси контракту, на яку він вносить свої 15 ETH. Після того, як обидві сторони заблокували свої гроші в смарт-контракті, Користувач Б може вимагати отримання 15 ETH, оскільки має доступ до пароля, який розкриває ключ, який використовується Користувачем А для блокування монет у смарт-контракті.

У процесі розблокування адреси контракту Користувача А Користувач Б розкриває другому учаснику угоди свій пароль. Користувач А використовує його для отримання 1 BTC та завершення угоди. По суті, весь процес атомарного свопу зводиться до здатності обох сторін надати криптографічні докази своїх дій.

Користувач Б повинен був спочатку зашифрувати ключ, а потім відправити його Користувачеві А. Оскільки він мав оригінальний ключ, він може зажадати криптоактиви, які Користувач А заблокував у смарт-контракті за допомогою зашифрованого ключа. Однак як одна з умов розблокування криптоактивів Користувач Б повинен надати Користувачеві А вихідний ключ. Після цього користувач може отримати доступ до ключа і використовувати його для отримання 1 BTC.

Навіщо потрібні атомарні свопи

Атомарний своп — важливий механізм взаємодії блокчейнів, оскільки він усуває необхідність у посередниках, наприклад, біржах криптовалют, при операціях з криптоактивами. Завдяки цьому трейдери можуть здійснювати міжмережні транзакції, не покладаючись на інфраструктуру централізованих торгових платформ.

Оскільки посередники не беруть участь у атомарних свопах, транзакції проходять швидко, доступніші і виключають інциденти безпеки, пов'язані з біржами з урахуванням кастодиальних операцій. Користувачі зберігають контроль над своїми криптоактивами, тому що всі транзакції виконуються з особистих гаманців.

Крім того, міжмережева торгівля через атомарні свопи сприяє створенню функціонально сумісної криптовалютної екосистеми. Завдяки атомарним свопам простіше проводити транзакції у кількох блокчейнах. Крім того, атомарні свопи усувають ризик контрагента - угода відбувається або в повному обсязі, або не відбувається взагалі.

Розвиток атомарних свопів

Механізм атомарних свопів був вперше описаний розробником Серхіо Лернер (Sergio Lerner) у 2012 році. Ідея зацікавила співтовариство, але деякі процеси свопів не було конкретизовано. Через рік Тір Нолан (Tier Nolan) розробив більш надійну процедуру проведення атомарних свопів. Але тільки через чотири роки, коли команда Decred здійснила атомарний своп між Decred і Litecoin, механізм був вперше успішно перевірений у реальному блокчейні. Декілька днів потому засновник Litecoin Чарлі Лі (Charlie Lee) написав у Твіттері, що процес був успішно відтворений для свопу LTC і BTC.

Початковий дизайн атомарного свопу вимагав, щоб обидві сторони транзакції завантажували на пристрій повну версію блокчейнів криптовалют, які вони планували обмінювати. Через місяць після того, як Decred та Litecoin провели перші атомарні свопи, розробники проекту Komodo представили «полегшену версію» атомарних свопів, яка потребує лише відкриття спеціальних платіжних каналів. При цьому учасникам угоди не потрібно завантажувати блокчейни криптоактивів або чекати, доки валідатори підтвердять транзакції.

У 2017 році розробники Zcash продемонстрували робочу версію інструменту XCAT (cross-chain atomic trades – атомарні угоди між блокчейнами), за допомогою якого можна провести своп BTC на ZEC та назад. Через кілька місяців було проведено перший атомарний своп між Bitcoin Cash та Decred.

У 2019 році платформа Qtum провела атомарні свопи в основній мережі Біткоїна, а Blockstream запустила атомарні свопи на сайдчейні Liquid. Були й спроби створити торгові майданчики за допомогою атомарних свопів. У 2019 році було запущено децентралізовану біржу Sparkswap для біткоїну з підтримкою Lightning та атомарних свопів. Однак через рік майданчик закрився через малу кількість користувачів та низьку ліквідність.

Можливий розвиток індустрії DeFi, загальний курс співтовариства на децентралізацію, а також підтримка атомарних свопів найбільшими блокчейнами дадуть поштовх розвитку технології найближчими роками. Однак зараз атомарні свопи, як і раніше, залишаються зручною та безпечною, але рідкісною формою угоди, що усуває необхідність у контрагентах і дозволяє користувачам зберігати контроль над своїми криптоактивами.