Коротко Об Атомных Свопах

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

Наслаждайся чтением!

Коротко Об Атомных Свопах

Атомные свопы: что это такое и с чем его едят? Атомные свопы — это серия транзакций на обоих блокчейнах, которые позволяют обменивать монеты без участия третьей стороны и доверия второму участнику обмена.

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

Не все блокчейны позволяют реализовать AtomicSwap. Есть два основных требования:

  • поддержка смарт-контрактов (генератор этой самой «начальной» транзакции);
  • используя ту же криптомагию (хэш-функцию).

Смарт-контракты? Нет, мы не слышали Смарт-контракты — это в широком смысле «негибкий» алгоритм, выполняющий действия при определённых условиях и ничего больше.

В нашем случае смарт-контракт можно рассматривать как большой черный ящик, в который заносятся адрес получателя, адрес отправителя, отправленная сумма, время хранения денег и присваивается уникальный идентификатор (хеш).

На выходе получается желаемая транзакция с условиями.

Хеш и его друзья Хэш-функция — еще один персонаж из сказки о высшей математике.

Преобразует поток входных данных в другое значение.

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

Преобразование хеша обратно в секретный ключ невозможно.

Когда все идет гладко Рассмотрим обмен информацией между Алисой (да-да, Алиса уже не та) и Бобом.

У Алисы есть Биткойн (btc), у Боба — Эфир (eth).

Оба персонажа имеют адреса в обоих блокчейнах.

Примечание.

Большие символы криптовалюты символизируют блокчейны.



Коротко Об Атомных Свопах

Алиса генерирует ключ (большое количество) и скромно никому его не раскрывает:

Коротко Об Атомных Свопах

На основе ключа он вычисляет хэш:

Коротко Об Атомных Свопах

Создает контракт с уникальным идентификатором, равным хешу:

Коротко Об Атомных Свопах

Высылает деньги за контракт. Теперь она не может потратить их определенное время (таймлок): Время истекло или таймлок Таймлок — время, через которое создатель контракта сможет вернуть деньги, если отправит транзакцию определенного типа (назовем ее «возврат»).

Эта транзакция не требует закрытого ключа.

Другой пользователь может вывести деньги на указанный в договоре адрес получателя (важно: не на свой), если отправит транзакцию другого типа (назовем ее redeem) с указанием секретного ключа.

В целом механизм оформления транзакций по контракту следующий:

  if (transaction_type == "refund" and sender == contract_creater and timelock < now()) {

send_to(creator_address);

} else if (transaction_type == "redeem" and hash(secret_key) == contract_id) {

send_to(receiver_address);

} 


Коротко Об Атомных Свопах

Алиса сообщает Бобу хэш.

Теперь он может провести аудит (проверить) все поля контракта: убедиться в правильности адресов, отправленной суммы, времени хранения денег на контракте (срок, в течение которого Алиса не сможет их вывести):

Коротко Об Атомных Свопах

Если все хорошо, Боб создает на втором блокчейне контракт, аналогичный контракту Алисина (с тем же идентификатором).

Меняется получатель и, возможно, сумма (если курс не 1 к 1).



Коротко Об Атомных Свопах

Алиса проверяет контракт:

Коротко Об Атомных Свопах

Если она утроится, она создаст транзакцию в Ethereum, которая потратит деньги на контракт Боба.

Единственный способ сделать это — предоставить ключ.

Теперь он известен:

Коротко Об Атомных Свопах

Алиса получает eth:

Коротко Об Атомных Свопах

Боб смотрит на ключ и создает транзакцию, которая тратит деньги на контракт Алисы, используя ее ключ:

Коротко Об Атомных Свопах

Успех! Волки сыты, овцы целы! Когда мир не идеален Однако иногда что-то может пойти не так.

Есть два места, где обмен может пойти не так.

Для этого существует механизм, позволяющий вернуть деньги законным владельцам.

Допустим, Алиса, как порядочная девушка, выслала деньги за контракт, но Боб после проверки передумал расставаться с трансляциями:

Коротко Об Атомных Свопах

Алиса ждет истечения срока блокировки, указанного в контракте (скажем, 48 часов), и возвращает биты крови:

Коротко Об Атомных Свопах

Другая история о непостоянной Алисе, которая не захотела продолжать атомный обмен после того, как Боб создал контракт. Альтернативный сценарий: Алиса потеряла свой ключ и не может этого сделать:

Коротко Об Атомных Свопах

Боб ждет времени блокировки денег (обычно оно меньше, чем у Алисы, чтобы Алиса не сняла деньги Боба в последнюю минуту, а затем вернула свои; скажем, 24 часа).

Алиса возвращает свои деньги после истечения срока ее блокировки.



Коротко Об Атомных Свопах

Заключение Атомарные биржи очень удобны для обмена «точка-точка», минуя биржи и посредников.

Участники обязаны платить только комиссию за отправку транзакций.

Подводя итог, в обмене между A и C на блокчейнах B1 и B2 можно выделить следующие этапы:

  1. инициализация контракта для B1 участником A;
  2. прослушивание контракта на Б1 участником С;
  3. инициализация контракта для B2 участником C;
  4. прослушивание контракта на Б2 участником А;
  5. предоставление ключа и вывод денег Б2 участником А;
  6. получение ключа от B2 участником C;
  7. вывод денег на В1 участником C.
Технология новая, но уже активно внедряется.

Возможно, в ближайшем будущем он сможет заменить централизованные биржи, идеологически чуждые блокчейну.

Теги: #блокчейн #Криптовалюты #Распределенные системы #смарт-контракты #просто о сложном

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2014-03-30 15:20:11
Баллов опыта: 605
Всего постов на сайте: 6
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.