28 листопада 2020 р.

Переходьте на 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 дає можливість вивести біткойни з ескроу в гаманець продавця, автоматично підписуючи транзакцію своїм ключем.
  • Якщо диспут вирішується в сторону покупця, HodlHodl дає можливість вивести біткойни з ескроу в гаманець покупця, використовуючи його платіжний пароль і автоматично підписуючи транзакцію своїм ключем.

Якщо неможливо визначити хто правий, 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 публікує даний прес-реліз «як є» і представлена ​​інформація не може розглядатися в якості інвестиційної ради з боку редакції. Читач проводить самостійний аналіз і приймає рішення на свій страх і ризик.

</ P>