Что такое атомарные свопы / транзакции «Atomic Swaps»

583
Просмотры

Атомные свопы, или трейдинг между блокчейнами — это технология смарт-контрактов с криптографическими подписями, которая позволяет двум сторонам обмениваться различными криптовалютами и токенами без риска невыполнения обязательств. То есть, монеты с разных блокчейнов можно обменять между собой не прибегая к услугам биржи и гаранта. В этом типе обмена ни одна из сторон не может скрыться с деньгами другой стороны до завершения сделки, и это обеспечивается криптографией. Эта относительно новая технология ставит своей целью преобразовать взаимодействие людей и компаний на рынках.

Из информатики взято определение атомарных транзакций, потому что торговля происходит цельно/неделимо, в отличие от той, которую мы имеем на централизованных биржах или обменниках.

Технология

Берем классических Алису и Боба. У Алисы есть 10 ETH, а ей нужно 3050 SNT. Ей пришлось бы пойти на биржу, ввести депозит, выставить ордер, получить монеты (заплатить комиссию) и вывести их обратно (также с комиссией).

Но с атомарными транзакциями в ситуации, когда у Боба есть 3050 SNT и он не прочь обменять их на 10 ETH, ребята смогут совершить сделку. Чтобы избежать мошенничества, когда принимающая сторона получила монеты, но не отправила свои, свопы используют хэш-контракты временной блокировки (HTLC). Эти контракты гарантируют, что процесс атомарного свопа полностью безопасен с точки зрения потери денег при торговле с недобросовестным продавцом. HTLC требуют, чтобы получатель платежа одобрил получение транзакции до определенного срока, создав криптографическое подтверждение. В противном случае он теряет право на требование платежа, средства вернутся обратно отправителю. До этого момента деньги замораживаются.

Используется nLockTime — это параметр транзакции, который задает минимальное время, до истечения которого транзакция не может быть принята в блок.

Когда транзакции проходят на разных блокчейнах, например, BTC и LTC,  отправители должны направить транзакцию в свой блокчейн (тот, на котором есть монета). В этот момент создается секретный код (номер) и его хэш. С его же помощью монеты как бы «выкупаются» с другого блокчейна. Фактически, не монеты переходят с блокчейна на блокчейн, а равная ценность.

В основе лежат принципы криптографии, связанные с подписями.

Алгоритм

  • Алиса (она выступает организатором, поэтому все основные операции производит она) выбирает случайное число X.
  • Алиса создает запись№1 (по типу смарт-контакта): перевести BTC на публичный адрес Боба, при условии, что хэш от Х известен Бобу и транзакция подписана Алисой и Бобом.
  • Алиса создает запись№2: перевести BTC на свой адрес и заблокировать на 48 часов, если будет ее подпись.
  • Алиса отправляет эту запись Бобу.
  • Боб подписывает ее и возвращает Алисе.
  • Алиса передает свою первую запись в сеть.
  • Боб создает запись№3: перевести альткоины на публичный адрес Алисы, если Х для хэша от Х известен и подписан Алисой или подписаны Алисой и Бобом.
  • Боб создает запись№4: перевести альткоины на публичный адрес Боба и заморозить на 24 часа, с подписью Боба.
  • Боб отправляет запись№4 Алисе.
  • Алиса подписывает и отправляет Бобу.
  • Запись №3 отправляеся в сеть.
  • А получает Запись№3, передавая Х (случайный номер).
  • Б получает Запись№1, используя тот же Х.

Вот это и есть атомарная транзакция (с таймаутом). Если процесс остановлен, ее можно отменить.

Требования

Есть некоторые фундаментальные требования для криптовалюты, чтобы она смогла успешно поддерживать атомарные свопы. Одним из таких требований является внедрение сети Lightning.

Если контракт HTLC можно рассматривать как связывание двух блокчейнов, сеть Lightning — сопряжение платежных каналов. То есть, чтобы Алиса и Боб совершили сделку друг с другом, они должны быть связаны еще и через каналы оплаты.

Кроме того, для совершения транзакции между двумя разными блокчейнами необходимо, чтобы обе цепи могли использовать одну и ту же криптографическую хеш-функцию, например, SHA-256 у BTC и LTC. Это необходимо для того, чтобы контракт правильно функционировал, когда генерируется хеш секретного номера.

Также оба блокчейна должны поддерживать контракты на временную блокировку средств.

Состояние разработки

Атомарные свопы проводились между монетами:

  • Litecoin,
  • Bitcoin,
  • Vertcoin,
  • Decred.

Пока сеть не запущена, для всех этих свопов требуется настроить локальный сервер. Это значит, чтобы обычный пользователь выполнял свопинг между валютами, нужно загрузить полный блокчейн каждой криптовалюты.

Решение — общий сервер для атомарных свопов. Команда Komodo, которая сейчас строит свою  децентрализованную биржу, успешно завершила атомарный своп с использованием сервера Electrum. Это позволяет взаимодействовать, не загружая блокчейн полностью.

Также команда Altcoin.io тестирует атомарные свопы ETH / BTC. Сам проект строит  децентрализованную биржу на технологии свопинга.

Применение

Сама технология может вытеснить криптовалютные биржи и обменники, когда они используются именно для получения других монет, а не игры на курсах. Атомарные свопы открывают совершенно новый способ взглянуть на криптографию. Эта технология может использоваться, когда двум сторонам приходится обменивать очень большие или наоборот очень скромные суммы.

Представьте, что вам необходимо обменять 1000 BTC на 50 000 LTC. Использовать биржу, которая теоретически подвержена взлому, безрассудно.

В этом случае, используя технологию атомного свопа, можно напрямую провести крупную сделку. Кроме того, можно быть на 100% уверены, что даже если сделка не состоится, вы не потеряете 1000 BTC.

CryptoFox телеграм канал @crypto_fox
Подписывайтесь на наш канал