Author

Topic: ㅤ (Read 209 times)

hero member
Activity: 517
Merit: 11957
August 12, 2020, 01:29:34 PM
#3
Atomex: Кросс-чейн атомарные свопы на практике

Автор: Baking Bad
Оригинал: Atomex: cross-chain atomic swaps on practice



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


Тернистый процесс развития начинает приносить свои первые плоды: Atomex наконец-то запущен в основной сети. Наша команда совершила увлекательное путешествие от чистого атомарного протокола обмена до полноценного приложения, и теперь мы можем сказать "Да, это работает!".
Мы хотим поблагодарить всех ранних тестировщиков за их отзывы, это очень важно для нас!


Идея создания

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

Если TCP/IP является протоколом, используемым для передачи информации в Интернете, то и для электронных денег и других классов активов блокчейн такой же. Тем не менее, все еще существует гэп между блокчейнами, который приводит к неудобному разделению ценностей.
Атомарный протокол обмена, который мы рассмотрим чуть подробнее, эффективно закрывает этот гэп доверительным образом, опираясь на по существу простую идею. Банки или другие доверенные третьи лица заменяются смарт контрактом, и это один из немногих случаев, когда это можно сделать только с доступными в блокчейне данными (без оракулов или других оффшорных провайдеров данных).


И тогда я сказал, что код-это закон


Основы атомарного свопа

Прежде чем перейти к практической части, давайте немного погрузимся в детали протокола. Допустим, Элис хочет купить ETH для XTZ, а Боб согласился заключить сделку. Есть два возможных исхода - либо транзакция состоится, либо будет отменена.

Стадия инициализации

1. Алиса лочит XTZ

Алиса генерирует случайную последовательность байтов - secret, вычисляет свой hash и посылает XTZ на специальный смарт контракт вместе с hash, значением lock_time_a и XTZ address_b Боба.
Эти XTZ могут быть выкуплены владельцем theaddress_b только в том случае, если он знает secret, и это должно быть сделано до lock_time_a, после этого, Алиса может получить эти средства обратно.

2. Боб лочит ETH

Когда транзакция Алисы подтверждается, Боб посылает свои ETH на специальный смарт контракт вместе с тем же hash, lock_time_b и ETH addreess_a Алисы.
Эти ETH могут быть выкуплены владельцем theaddress_a только в том случае, если он знает secret, и это должно быть сделано до lock_time_b, после этого, Боб может получить эти средства обратно.

Требование: lock_time_b < lock_time_a
Чтобы предотвратить случай, когда Алиса сначала возвращает деньги, а затем выкупает их у Боба.


Успешный выкуп


Упрощенная схема обмена XTZ/ETH (успешный пример)

1. Алиса выкупает ETH

Алиса посылает secret контракту в блокчейн Ethereum и получает взамен ETH Боба.
secret теперь раскрывается, и Боб может потратить залоченые XTZ.

2. Боб выкупает XTZ

Боб посылает secret контракту в блокчейн Tezos и получает взамен XTZ Алисы.


Случай возврата

Мы не будем рассматривать случаи, когда на этапе инициализации что-то идет не так (они довольно тривиальны), а рассмотрим случай, когда Алиса по какой-то причине не выкупает ETH Боба, то есть secret не раскрыт, а прошел lock_time_b.


Упрощенная схема обмена XTZ/ETH (пример возврата)

1. Боб возвращает ETH

Боб отправляет hash смарт контракту в блочейн Ethereum и получает свой ETH обратно.
Он не может потратить XTZ Алисы, так как secret не раскрыт.

2. Алиса возвращает XTZ

Алиса ждет lock_time_a, затем отправляет hash контракту в блокчейне Tezos и получает обратно свою XTZ.
Она не может потратить ETH Боба, потому что lock_time_b уже прошел.


Достаточно теории

Пришло время увидеть Atomex в действии! Мы начнем с мульти-криптовалютного сетапа с несколькими XTZ и ETH на нашем балансе. Что касается вышеприведенной схемы, мы - Боб, а наш контрагент - Алиса.

Создаём новую конверсию

Выбераем вкладку “Conversion” и устанавливаем сумму ETH, которую мы хотим обменять на XTZ. Проверьте условия сделки и нажмите “Convert”.


Шаг 0: Пользователь создаёт новую конверсию

В таблице появится новая конверсия со статусом “In Progress”.
Собственно, это все, что нам нужно для атомарного свопа через кошелек Atomex. Но давайте проследим за внутренним процессом, порожденным нашими действиями.


Заглянем под капот: Алиса лочит XTZ


Шаг1: Алиса лочит XTZ

Это транзакция, отправленная Алисой, эти заблокированные средства в конце концов будут нашими. Обратите внимание на поле hash, переданное через параметры.

Заглянем под капот: Боб(us) лочит ETH

Как только транзакция XTZ подтверждена, Боб отправляет ETH транзакцию. Мы видим, что она содержит тот же самый hash:


Шаг 2: Боб лочит ETH

Заглянем под капот: Алиса выкупает ETH

Еще одно обращение к контракту со стороны Алисы. Она получает наш ETH в обмен на secret, и Боб забирает его:


Шаг 3: Алиса выкупает ETH

Заглянем под капот: Боб(us) выкупает XTZ

Наконец, Боб разблокируетXTZ используя полученный secret:


Шаг 4: Боб выкупает XTZ

Статус нашей конверсии меняется на “Completed”, всё в порядке.


Примечания

Все внутренние действия, которые вы видели, выполняются кошельком Atomex в фоновом режиме, поэтому необходимо держать его в режиме онлайн до тех пор, пока не будет произведен обмен. В нашем примере конверсии XTZ/ETH, всё это занимает всего 8 минут, однако, это зависит от конкретного времени подтверждения блокчейном.
В настоящее время мы работаем над тем, чтобы сделать доступными различные типыордеров. Как только рынок свопов Atomex станет достаточно стабильным, можно будет размещать лимитные ордера через приложение Atomex.

copper member
Activity: 2
Merit: 0
September 06, 2020, 11:56:34 PM
#2
Пpи oбмeнe BTC нa USDT кoшeлeк пишeт чтo дocтyпнo 2 бтц. Этo ликoвиднocть дocтyпнaя в oбщeм или для oднoй тpaнзaкции.

To ecть ecли yм eня 6 бтц нa пpoдaжy cмoгy ли я cдeлaть 2+2+2 или пocлe пepвoгo oбмeнa ликвиднocть бyдeт иcтoщeнa?
hero member
Activity: 517
Merit: 11957
August 12, 2020, 07:07:44 AM
#1
Jump to: