Зміст

  • Вхід

  • Що таке змішування монет?

  • CoinJoin недір?

  • Як працює CoinJoin?

  • Конфіденційність через заперечення

  • останні ідеї


Вхід

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

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

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


Що таке змішування монет?

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

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

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


CoinJoin недір?

Транзакції CoinJoin були вперше представлені розробником Bitcoin Грегорі Максвеллом у 2013 році. У своїй статті він коротко розповідає про те, як структуровані ці транзакції та як можна отримати вигоду від масштабного підвищення конфіденційності, не вносячи жодних змін у протокол.

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

Біткойн-транзакції складаються з входів і виходів. Коли користувач хоче виконати дію, він використовує свої UTXO як вхідні дані, визначає виходи та підписує вхідні дані. Важливо відзначити, що кожен вхід підписується незалежно, і користувачі можуть створювати кілька виходів (переходячи на різні адреси).


dört girdi ve iki çıktıya sahip örnek bir işlemin görseli


Коли ми досліджуємо транзакцію з чотирма входами (0,2 BTC кожен) і двома виходами (0,7 BTC і 0,09 BTC), ми можемо зробити деякі припущення. Перший полягає в тому, що здійснюється оплата – відправник відправляє одну з роздруківок людині, а здачу собі. Оскільки він використовує чотири входи, найвищий послідовний вихід, ймовірно, надходить до приймача. Відсутні 0,01 BTC у вихідних даних є комісією за транзакцію, сплаченою майнеру.

Також можливо, що відправник хоче створити великий UTXO з менших UTXO, тому він об’єднує менші записи разом, щоб досягти бажаної цифри 0,7 BTC.

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


Як працює CoinJoin?

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


örnek bir coinjoin'in görseli


Ось чотири користувача, які хочуть розірвати зв'язок між транзакціями. Вони координують між собою (або через координатора), щоб передавати вхідні та вихідні дані, які вони хочуть включити.

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

Процес слугує чорним ящиком для змішування монет. Старі UTXO необхідно знищити, щоб створити нові. Єдиним зв’язком між старим і новим UTXO є сама транзакція, але на даний момент неможливо розділити учасників. У найкращому випадку можна сказати, що один із входів був доданий учасником, і цей учасник може стати новим власником отриманого результату.

Але навіть це не є повною гарантією. Дивлячись на наведену вище транзакцію, чи можна зробити висновок, що є чотири учасники? Одна особа надсилає кошти на чотири власні адреси? Дві людини роблять дві різні покупки та надсилають 0,2 BTC на свої власні адреси? Четверо людей надсилають кошти новим людям чи собі? На ці запитання ми не можемо дати остаточної відповіді.


Конфіденційність через заперечення

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

У попередньому прикладі транзакція має набір анонімності 4, тобто власником результату може бути будь-який із чотирьох користувачів, залучених до транзакції. Чим більший набір анонімності, тим складніше зв’язати транзакцію та її первісного власника. На щастя, з останніми реалізаціями CoinJoin користувачі мають високий рівень заперечення, поєднуючи свої дані з десятками інших користувачів без необхідності довіри. Нещодавно була успішно завершена транзакція для 100 осіб.


останні ідеї

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

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