Переходите на Hodl Hodl: Техническая сторона

Hodl Hodl продолжает серию образовательных постов, посвященную трейдерам, которые торгуют на других P2P площадках, но знакомы или не очень знакомы с Hodl Hodl (hodlhodl.com).

Этот материал из серии “Переходите на Hodl Hodl” объясняет внутренний процесс работы биржи,  как это выглядит с технической стороны, и почему Hodl Hodl не может получить доступ к вашим биткойнам и сбежать с ними.

Разберем все по порядку.

В этой статье мы в основном будем объяснять как работают контракты на Hodl Hodl, потому что multisig контракты до сих пор в новинку для многих Биткойн пользователей.

С Hodl Hodl у вас есть выбор: торговать в блокчейне Биткойна (сделки в on-chain) или в сети Lightning. Мы объясним, чем отличаются два типа контрактов и углубимся в оба вида контрактов.

Контракты в on-chain

Для on-chain контрактов мы предоставляем автоматизированное некастодиальное решение, которое позволяет бирже избегать хранения средств, а нашим клиентам торговать безопасно и анонимно.

Когда создается контракт, Hodl Hodl генерирует 2 из 3 multisig Биткойн адрес. Каждый адрес генерируется в формате SegWit (P2SH-P2WSH) и каждый может отправлять и получать средства напрямую с эскроу на адреса Bech32.

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

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

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

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

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

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

Начинается диспут: Hodl Hodl решает диспут:

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

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

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

  1. Клиент получает необработанную, неподписанную транзакцию и как только платежный пароль подтвержден, транзакция подписывается зашифрованным пользовательским ключом прямо в браузере пользователя.
  2. Полу-подписанная транзакция отправляется назад на сервер.
  3. Hodl Hodl подписывает транзакцию своим ключом на сервере и пропускает ее дальше.

Когда (и только если) контракт завершен успешно, Hodl Hodl также получает биржевую комиссию со сделки — мы просто добавляем дополнительный выход в транзакцию вывода и вычитаем комиссию из заблокированной в эскроу суммы.

Биржевой режим Lightning 

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

Мы запустили свою Lightning ноду используя LND (030bde3ee226b7cf456703811976e4241a929d11e5fc0549e9a1c6d10a8e23a738), через которую мы имеем свой Lighting кошелек. Мы также написали свою собственную библиотеку, которая позволяет автоматизировать и обезопасить процесс торгов.

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

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

Контракт успешно завершен: продавец просто выводить биткойны, оплачивая инвойс, предоставленный покупателем.

Начинается диспут: Hodl Hodl решает диспут:

  • Если диспут решается в сторону продавца, Hodl Hodl дает возможность вывести биткойны, оплатив инвойс выставленный продавцом.
  • Если диспут решается в сторону покупателя, Hodl Hodl дает возможность вывести биткойны из кошелька биржи в кошелек покупателя, оплатив инвойс выставленный покупателем.

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

Оплата инвойса это автоматизированный процесс, который управляется, используя нашу собственную библиотеку сети Lightning. Со стороны клиента все просто: пользователю нужно только нажать несколько кнопок на странице контракта.

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

BitNovosti.com публикует данный пресс-релиз «как есть» и представленная информация не может рассматриваться в качестве инвестиционного совета со стороны редакции. Читатель проводит самостоятельный анализ и принимает решение на свой страх и риск.

Источник: bitnovosti.com

Пoжaлyйcтa оцените и поделитесь новостью, мы старались для Вас:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Пока оценок нет)
Загрузка...

Нет комментариев

Добавить комментарий