Що таке JoinMarket

Що таке JoinMarket

Технологія CoinJoin може значно підвищити конфіденційність і приватність біткоїн-транзакцій. Але де знайти людей, які погодяться перемішати свої монети з вашими? Звісно на JoinMarket.

Транзакції в мережі Біткоїна публічні за своєю природою. Вони демонструють зв'язок вхідних (невитрачені utxo) і вихідних даних (нові невитрачені utxo) так, щоб кожен, хто має доступ до блокчейну (історія транзакцій), міг їх простежити. Проте, з огляду на те, що біткоїн-транзакції – не те ж саме, що і біткоїн-платежі, інтерпретація цих транзакцій і блокчейну є нетривіальним завданням.

Через те, що кожен охочий може переглянути зв'язки між вхідними та вихідними даними транзакцій, будь-хто може проаналізувати транзакції в спробі пов'язати кілька біткоїн-адрес із певним суб'єктом. Цей процес іноді називають кластеризацією (clustering).

Існують навіть компанії, що спеціалізуються на такому аналізі блокчейна Біткоїна. Наприклад, Chainalysis та Crystal.

Ці компанії стверджують, що метою подібної кластеризації є «виявлення шахрайства» або «розкриття злочинної діяльності». Утім існує вірогідність, що в якийсь момент вони помиляться під час визначення власника об'єкта, що призведе до неправомірного засудження, оскільки правоохоронні органи сліпо довіряють цим системам.

З іншого боку, зловмисники, які бажають ідентифікувати людей з метою шантажу або отримання викупу, самі можуть вдатися до кластеризації.

Потенційні зловмисники можуть навмисно ініціювати транзакції з метою обману компаній, що займаються аналізом ланцюжка. Це може призвести до помилок в ідентифікації користувачів, даючи змогу зловмисникам уникнути виявлення або перекласти провину на невинного (зрештою, хто буде шукати докази після арешту злочинця?).

Важливо звернути увагу на те, що користувач, чиї транзакції/utxo зазнали кластерингу, не буде про це знати. А слід, що залишає в блокчейні кожна транзакція, стерти неможливо.

На щастя, у 2013 році Грег Максвелл представив інноваційний метод заплутування ончейн-зв'язків між невитраченими транзакціями (utxo). Він назвав цей метод CoinJoin.

Короткий опис процесу CoinJoin

Основна ідея полягає в тому, що транзакція створюється з використанням вхідних даних, наданих кількома користувачами.

Транзакцію побудовано таким чином, що сторона, яка аналізує блокчейн, не зможе визначити, якому з користувачів належить той чи інший вихід.

Розглянемо такий приклад;

Еліс, Боб і Чарлі – три окремі користувачі мережі Біткоїна, які збираються змішати свої utxo за допомогою CoinJoin.

  • Ввід 1: 0.1 BTC utxo Еліс з біржі;
  • Ввід 2: 0.1 BTC utxo Боба від продажу бейсбольної картки онлайн;
  • Ввід 3: 0.1 BTC utxo Чарлі, який він хоче одного разу подарувати своїй маленькій донечці.

Довідкова інформація про причини використання CoinJoin кожним учасником:

  • Еліс не хоче, щоб біржа відстежувала її витрати;
  • Боб не хоче, щоб бейсбольний фанат бачив, скільки в нього біткоїнів;
  • Чарлі живе в деспотичній країні, де володіння біткоїном незаконне.

Транзакція CoinJoin приймає ці три введення і створює транзакцію, яка створює три нових виведення.

Що таке JoinMarket

Стороні, яка аналізує цю транзакцію, неможливо визначити, якому з користувачів належить те чи інше виведення.

Більш детальніше ознайомитися із процесом CoinJoin та його етапами можна у статті-огляді засновника проєкту bitcoin-only.com, 6102, оригінал якої можна знайти тут.

Що таке JoinMarket

JoinMarket — це реалізація CoinJoin, спрямована на покращення конфіденційності та взаємозамінності біткоїн-транзакцій.

Основний принцип роботи JoinMarket заснований на тому, що ринки є ефективним способом стимулювання користувачів до CoinJoin.

Вікіпедія вичерпно описує цей процес:

Процедура CoinJoin передбачає участь більш ніж одного користувача. Достатня кількість відповідних ресурсів (монет) має бути в певному місці в певний час. Ця проблема пов'язана не з програмним забезпеченням, вона не є технічною, це – економічна проблема. JoinMarket надає новий вид ринку, який найкращим чином розподіляє ці ресурси.

Модель JoinMarket ґрунтується на наданні можливості оплати CoinJoin-операцій. З одного боку – учасники CoinJoin, які мають низьку часову перевагу і збирають комісію з учасників, які бажають приєднатися до процесу. Їх називають маркет-мейкерами. З іншого боку – учасники CoinJoin з високою часовою перевагою, які готові заплатити за можливість миттєво взяти участь в операції. Цих учасників називають маркет-тейкери.

Простіше кажучи, JoinMarket дозволяє одним приватним особам платити іншим особам з метою змішування монет. Через те, що цей ринок є вільним, тут присутня конкуренція.

Використання CoinJoin робить систему некастодіальною, тому що приватні ключі ніколи не виходять з-під контролю користувача. Оскільки пропозиція утримуваних біткоїнів висока, а ризик втрати дуже малий, можна очікувати, що комісія за coinjoin також буде невеликою. Гаманець JoinMarket є ієрархічним детермінованим гаманцем, що дозволяє користувачам легко уникнути повторного використання адреси.

Останні версії також дозволяють відправляти та отримувати PayJoins, які є особливим видом CoinJoin, де дві залучені сторони платять один одному. Цей тип CoinJoin має інші (можливо, кращі) властивості конфіденційності.

Оскільки маркет-мейкери можуть заробляти комісійні за CoinJoin, довгострокові власники біткоїнів можуть використовувати JoinMarket як інвестиційний інструмент для отримання доходу від своїх біткоїнів.

Проєкт написаний на мові Python і вперше був випущений в основній мережі Біткоїна у 2015 році.

З деякими даними щодо обсягів можна ознайомитися за посиланням.

Як використовувати JoinMarket

Проблема з JoinMarket полягала в тому, що його було важко використовувати й налаштовувати, а користувальницький інтерфейс був не дуже простим, доки не з’явився Jam.

Що таке Jam

Jam – це безплатний проєкт з відкритим вихідним кодом, який надає вам інтерфейс для JoinMarket; Jam має на меті покращити фінансову конфіденційність, як вашу, так й інших користувачів, не покладаючись на довірену третю сторону для зберігання та управління вашими коштами. Додаток Jam був запущений у 2021 році волонтерами й все ще розробляється і підтримується на добровільних засадах. Як зазначалося вище, Jam є інтерфейсом для JoinMarket, програмного забезпечення для роботи з біткоїнами, орієнтованого на конфіденційність, яке використовує одноранговий ринок, щоб полегшити спільні транзакції.

Мета Jam – надати інтерфейс, який полегшує використання JoinMarket. Він забезпечує ліквідність і робить його легкодоступним, щоб більше біткоїнерів могли насолоджуватися конфіденційністю в мережі, якщо вони вирішать брати участь у цих спільних транзакціях.

Як почати використовувати Jam

Якщо ви хочете спробувати JoinMarket через Jam, програмне забезпечення досить легко встановити та налаштувати; Jam поставляється в комплекті з наступними повнофункціональними вузловими рішеннями:

  • Umbrel
  • Citadel
  • Raspiblitz

Якщо ви використовуєте одного з цих повнофункціональних операторів, просто перейдіть до їхнього магазину додатків, завантажте Jam та встановіть його на свій пристрій. Якщо Jam не підтримується вашою реалізацією вузла, ви можете звернутися до постачальника програмного забезпечення і попросити його додати його у свій магазин додатків. Крім того, якщо ви не використовуєте одну з цих реалізацій вузла, ви можете виконати встановлення вручну.

Після встановлення Jam створіть новий біткоїн-гаманець, використовуючи новий набір приватних ключів, збережіть свої ключі, назвіть гаманець, і основний інтерфейс повинен завантажитися.

Що таке JoinMarket
Головний екран програми Jam

Що можна робити з Jam

Після налаштування гаманця у вас буде новий біткоїн-гаманець, який ви зможете використовувати для відправлення та отримання біткоїнів у більш приватному режимі. Ви можете використовувати гаманець Jam як міст між вашим холодним сховищем при виведенні коштів з біржі KYC. Замість того, щоб передавати біткоїн-адресу, яку біржа може прив'язати до вас і відстежувати кошти, що надходять і виводяться з цієї адреси, тепер у вас є буферний гаманець.

Ви можете перемістити його у свій гаманець Jam, а потім CoinJoin в гаманець холодного зберігання, який захищає конфіденційність кінцевої адреси, де ви зберігаєте свої кошти. У деяких випадках ви можете заплатити трохи більше за комісію в ланцюжку, але це ціна, яку ви платите за те, щоб ваші монети не були відстежені.

Отримання біткоїнів за допомогою Jam

Коли ви отримуєте кошти на свій гаманець Jam, вони будуть розподілені на «банки», ці банки розділяють кошти на окремі контейнери, в яких зберігаються деякі з ваших сатів. Банки існують для того, щоб розділити ваші сати на кілька відер, які від'єднані один від одного, що сприяє конфіденційності. Щоб не ризикувати погіршенням конфіденційності, ви можете витрачати тільки з однієї банки за один раз.

Всього є п'ять скриньок, причому за замовчуванням для отримання коштів використовується скринька А.

Уявіть собі, що банки - це різні кишені у вашому гаманці або різні особистості. Ви можете використовувати гаманець Jam для того, щоб вносити кошти самостійно або отримувати їх від інших, а також змішувати кошти в цьому гаманці для подальшого використання.

Надсилайте біткоїни з Jam

Після того, як ваші банки з джемом наповняться сатоші, і ви будете готові перевести частину коштів на пристрій зберігання з повітряним зазором, ви можете використовувати вкладку «Надіслати», щоб переказати кошти комусь або на одну з банок. За замовчуванням при переказі Jam використовує спільні транзакції, що підвищує вашу конфіденційність і безпеку.

Ваші кошти будуть змішані з іншими користувачами в спільній транзакції, що підвищує конфіденційність вас та інших.

Як заробляти з Jam

Якщо у вас є біткоїн, який ви хочете використовувати для підтримки JoinMarket, ви можете запропонувати ліквідність ринку за певну плату. Ніякої довіри або опіки не потрібно – ви завжди повністю контролюєте свої кошти, оскільки ви використовуєте гарячий гаманець, де ви тримаєте ключі. Використовуйте вкладку «Заробляти», щоб заробляти сати (сатоші), пропонуючи ліквідність іншим учасникам ринку, які хочуть здійснювати комбіновані транзакції.

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

Ви можете вибрати, скільки ви хочете стягувати за свою пропозицію.

Наприклад, ви можете стягувати абсолютну або відносну плату:

  • Абсолютна плата (250 сатів)

Плата, яку ви будете стягувати з інших як абсолютну суму, виражену в сатах.

  • Відносна плата (0,03%)

Комісія, яку ви будете стягувати з інших у відсотках від суми транзакції.

Зверніть увагу, що ви берете участь і конкуруєте на відкритому ринку – немає ніякої гарантії, що інші учасники ринку приймуть вашу пропозицію. Вибір для спільної транзакції може зайняти деякий час, і вам доведеться конкурувати за винагороду, щоб збільшити свої шанси на отримання грошей.

Створіть облігацію вірності (Fidelity bond)

Облігація вірності – це довгостроковий депозит, який робить криптографічні ідентифікатори свідомо дорогими. Криптографічно блокуючи кошти в контракті з тайм-локом на певний термін, ви сигналізуєте про те, що є серйозним учасником ринку і збільшуєте шанси на те, що ваші пропозиції будуть прийняті.

Казначейське зобов'язання – це механізм, який гарантує, що учасники ринку діють чесно. Це механізм захисту від різного роду атак, пов'язаних зі створенням шахрайських облікових записів.

Ви можете створити облігацію вірності через екран «Заробіток» (Earn). Це передбачає наступні кроки:

  1. Встановити дату закінчення терміну дії (яка визначає тривалість облігації)
  2. Виберіть банку як джерело фінансування
  3. Виберіть UTXO, бажано з позначкою cj-out

Після цього вам буде запропоновано переглянути конфігурацію облігації. Якщо все виглядає правильно, ви можете створити облігацію вірності (fidelity bond), яка заблокує ваші кошти на встановлений термін.

Запланована чистка

Опція «Sweep» може бути використана для спустошення вашого гаманця за допомогою планувальника. Планувальник виконає серію спільних транзакцій з випадковими параметрами, які з часом відправлять ваші кошти на кілька адрес призначення. Виконайте кілька транзакцій з використанням випадкових сум і часових інтервалів, щоб підвищити конфіденційність за допомогою запланованих транзакцій, що проводяться як спільна транзакція.

Потім ви можете перемістити свої кошти в холодне сховище або використовувати їх для відкриття Lightning-каналів.

Підбиваючи підсумки

Якщо вас турбує прив'язка вашого біткоїна до вашої особи, ви вважаєте, що тактика конфіденційності монет занадто складна або ви просто шукаєте кращий спосіб керувати своїми коштами перед тим, як помістити їх у холодне сховище, тоді технологія CoinJoin – це чудовий варіант.

Якщо ви хочете додатково заробити на своїх біткоїнах, то можна розглянути JoinMarket. Він дозволяє одним приватним особам платити іншим особам за змішування монет.

Але JoinMarket має складний інтерфейс, і тут стати в пригоді може проєкт Jam. Він робить інтерфейс інтуїтивно зрозумілим.

Гаманці Jam також відмінно підходять для тих, хто має тенденцію ділитися публічними мережевими адресами для отримання чайових, пожертвувань або платежів і хоче заплутати, куди ці кошти йдуть після їх отримання.

Jam також може бути привабливим варіантом для бізнесу, який використовує біткоїн, оскільки всі транзакції, які ви можете приймати через адресу вашого BTCPay сервера, можуть бути переведені в Jam до того, як вам потрібно буде виплатити зарплату, оплатити рахунки або відправити гроші в холодне сховище.

Як запустити повну Біткоїн-ноду за допомогою Umbrel та Raspberry Pi Як запустити повну Біткоїн-ноду за допомогою Umbrel та Raspberry Pi Розгорнути повну біткоїн-ноду може будь-який користувач із доступом до комп'ютера та інтернету. Найпростішим рішенням залишається встановлення оригінальної ноди Bitcoin Core. Втім запустити ноду можна не лише на комп’ютері, а й на окремому фізичному пристрої. Ігор Королишин 19 січня 2023
Що таке BTCPay Server Що таке BTCPay Server Біткоїн – це не тільки можливість відновлення особистого суверенітету, це також створення циркулярної економіки, де продавці можуть мати справу безпосередньо з клієнтами без необхідності залучення третьої сторони. Щоб не платити зайві комісії, а обробляти платежі самому, у пригоді може стати BTCPay Server. Ігор Королишин 26 грудня 2022
Навіщо потрібен калькулятор прибутковості майнінгу Навіщо потрібен калькулятор прибутковості майнінгу В індустрії майнінгу працює велика кількість компаній, адже це досить прибутковий бізнес. Однак, якщо помилитися з обладнанням, ігнорувати курс BTC або використовувати дорогу електроенергію, будете працювати в «мінус». Щоб підвищити шанси на успіх, слід використовувати калькулятор майнінгу. Ілля Гольдберг 01 грудня 2022