Перевод Свопы XMR-BTC – это успех! (продолжение следует)

Тема в разделе "Статьи", создана пользователем Mr. Pickles, 17 июл 2021.

  1. Mr. Pickles

    Команда форума Модератор Редактор

    Регистрация:
    11 сен 2017
    Сообщения:
    938
    Симпатии:
    244
    1.png

    Реализация возможности проведения атомных свопов XMR-BTC является одним из самых ценных проектов, над которыми нам довелось работать. В этом посте мы кратко расскажем о том, как всё начиналось, что ждёт нас в самой последней версии и что планируется в будущем!

    Немного истории

    В июне 2020 года мы предложили реализовать возможность проведения атомных свопов в Monero. В основу проекта лёг протокол h4sh3d, который изначально был представлен на 36C3.

    После этого прошёл почти год, и теперь, оглядываясь назад, мы можем утверждать, что это была очень удачная идея!

    6 октября 2020 года после успешного завершения работы над доказательством концепции свопов XMR-BTC Лукас опубликовал первый пост, в котором разъяснялась суть таких свопов. Суть протокола, которая была изложена в этом посте, по сей день остаётся той же.

    Мы хотели создать инструмент, который позволял бы людям торговать парой XMR/BTC. Несмотря на то, что это звучало довольно просто, мы всё же поставил перед собой ряд задач:
    1. Проведение сделок не должно предполагать доверия, а следовательно, нам требовалось разработать протокол проведения атомных свопов.

    2. Проведение сделок должно предполагать процесс покупки и продажи.

    3. Проведение сделок должно предполагать сопоставление принимающей и инициирующей сторон.
    Что мы имеем на этот момент

    В последней версии протокола (0.8.0) наш инструмент уже является завершённой функцией! В этой версии также появилась так давно ожидаемая функция автоматического обнаружения инициирующей сделку стороны.

    Достаточно ввести простую команду:
    Код:
    swap --testnet list-sellers --rendezvous-point /dnsaddr/rendezvous.coblox.tech/p2p/12D3KooWQUt9DkNZxEn2R5ymJzWj15MpG6mTW84kyd8vDaRZi46o
    А работает всё следующим образом: CLI подсоединяется к «точке встречи», которая конфигурируется при помощи --rendezvous-point. В данном случае задействуется протокол встречи libp2p. Несмотря на то, что протокол был разработан совсем недавно, его вполне достаточно, чтобы у нас получилась рабочая версия механизма обнаружения инициирующей стороны. Как только CLI подсоединяется к точке встречи, он запрашивает регистрационные данные для предварительно заданного пространства имён. Провайдер ASB может конфигурировать свою копию демона, чтобы регистрационные данные публиковались автоматически при запуске.

    Нами был создан простой демон, который может работать как точка встречи: https://github.com/comit-network/rendezvous-server. В примере выше инструмент подсоединяется к копии этого демона, который мы сами используем в целях тестирования. Пользователи могут протестировать свои настройки, воспользовавшись этой точкой встречи.

    Создать точку встречи предельно просто!
    1. Скачайте последнюю версию.

    2. Запустите её в соответствии с инструкциями.

    3. Убедитесь в том, что ваш порт доступен, если вы используете NAT.

    4. Готово!
    Теперь другие пользователи могут воспользоваться вашей точкой встречи, чтобы зарегистрировать свою копию ASB и чтобы другие пользователи CLI смогли найти её!

    Хотя, минуточку. Мы сказали, что наш инструмент является завершённой функцией? К сожалению, это не совсем так.

    Мы бы действительно хотели, чтобы пользователь имел возможность покупать и продавать, но это блокируется при построении цепочек транзакций / этапом предварительного подписания в Monero. В этом посте вы найдёте больше информации по данному вопросу.

    Если кратко, то по большей части мы добились того, что хотели:

    Рабочий инструмент позволяет пользователям осуществлять торговлю парой XMR/BTC без каких-либо доверенных настроек.

    Что дальше?

    Мы по-прежнему очень хотим реализовать возможность продажи XMR за BTC. Мы надеемся, что эта функция будет реализована, когда построение цепочек транзакций станет возможным в Monero.

    Кроме того, у нас уже есть некоторые идеи, как это можно было бы реализовать поверх или при помощи нашего инструмента:
    • Полное совершение свопов в браузере. Rust — замечательный язык с точки зрения реализации в WASM. Если компилировать всё в WASM, то свопы можно будет проводить прямо в браузере без скачивания. В данном случае основным препятствием является наша зависимость от monero-wallet-rpc, который мы в данный момент прозрачно запускаем в фоновом режиме. Это нужно заменить либо на что-то вроде monero-javascript, либо на вариант реализации кошелька Monero, полностью написанный на Rust. Едва ли оба подхода можно будет реализовать за выходные, но оба они выполнимы для тех, кто знаком с Rust.
    • Использование GUI вместо CLI при совершении свопа. На данный момент для совершения свопов можно использовать только CLI. Несмотря на то, что этого достаточно для опытных пользователей, а также для того, чтобы продемонстрировать, что всё действительно работает, соответствующий GUI был бы гораздо удобнее с точки зрения рядового пользователя. К счастью, CLI совершенно не интерактивен. Если кто-нибудь решит построить GUI, то мы бы рекомендовали запустить CLI в фоновом режиме и обрабатывать файлы регистрации, получаемые в stderr. Решительный разработчик даже мог бы написать GUI на Rust и интегрировать его на уровне библиотек.
    • Мобильное приложение. Наша команда не очень опытна в написании мобильных приложений, и это вовсе не было одной из наших целей. Нам только известно, что Rust совместим с Android, равно как и с iOS, поэтому должен быть способ написать приложение для мобильного телефона!
    Этот список далеко не полный, и мы бы хотели, чтобы и другие взялись за развитие предложенных идей. Пока что мы не станем делать этого сами, но мы будем очень рады принять участие в их обсуждении и рассмотрении пул-реквестов.

    Спасибо сообществу за уже внесённый вклад:
    • в разработку документации (#609, #614, #533);

    • в разработку сканера QR-кода для CLI для внесения Bitcoin (#547);

    • в разработку WebSocket-соединения с конфигурируемой скоростью передачи для ASB (#585).
    Если вы хотите связаться с нами, заходите на наши каналы: #comit-monero:matrix.org.

    Приятного вам проведения свопов!

    ---

    Источник: XMR-BTC swaps: A great success (to be continued)

    Перевод:
    Mr. Pickles (@v1docq47)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima)
     
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.