Press "Enter" to skip to content

Як зберегти анонімність биткоин-транзакцій? Приватність в мережі Bitcoin

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

Більш правильним визначенням биткоина буде — псевдонимность. Відправлення биткоин-транзакцій можна порівняти з написанням книги, де замість справжнього імені автора зазначений його псевдонім. Якщо цей псевдонім виявиться пов’язаний з цим автором, все, що він буде писати під цим ім’ям, буде асоціюватися тільки з ним.

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

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

Как сохранить анонимность биткоин-транзакций? Приватность в сети Bitcoin

Допомогти цьому — з різним ступенем ефективності — можуть технології, запропоновані розробниками биткоина. Нижче представлений адаптований переклад статті Аарона ван Вирдума в Bitcoin Magazine, присвячений найбільш значущим останнім проектів із захисту приватності та анонімності в мережі биткоина.

З самого моменту своєї появи биткоин ніколи не давав цієї приватності. І хоча white paper Сатоши Накамото і говорить про те, що приватність є метою протоколу, урядові структури, аналітичні компанії й інші зацікавлені сторони (давайте називати їх «шпигунами») володіють можливостями аналізувати публічний блокчейн і p2p-мережу, групуючи биткоин-адреси і пов’язуючи їх з IP-адресами або іншої ідентифікаційної інформацією.

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

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

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

Навігація по матеріалу:

  • 1 TumbleBit
  • 2 Chaumian CoinJoin і ZeroLink
  • 3 Підпису Шнорра
  • 4 STONEWALL
  • 5 Dandelion
  • 6 BIP-151
  • 7 Компактна фільтрація блоку на стороні клієнта
  • 8 Liquid та Confidential Transactions

TumbleBit

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

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

TumbleBit вимагає двох ончейн-транзакцій на учасника (одна для відкриття каналу, інша — для його закриття). Це рішення працює в не вимагає довіри середовищі, однак пов’язане з більш високими транзакційними комісіями.

TumbleBit вперше був запропонований в 2016 році науково-дослідної командою Бостонського університету, Університету Джорджа Мейсона і Університету штату Північна Кароліна під керівництвом Етану Хейлмана. Восени того ж року протокол був представлений на конференції Scaling Bitcoin Milan.

Справжнім поштовхом до розвитку TumbleBit стала імплементація ранньої версії протоколу [NTumbleBit], автором якої є розробник NBitcoin Ніколас Дориер. Пізніше технологію вдосконалили спеціалізується на питаннях приватності Адам Фичор та інші розробники, і в результаті вона була інтегрована в Breeze Wallet від команди ” Stratis.

Офіційний реліз Breeze Wallet відбувся близько місяця тому, і це означає, що TumbleBit тепер доступний будь-якому користувачеві, хоча рівень використання гаманця і, відповідно, самого інструменту для забезпечення анонімності, поки ще невисокий.

Chaumian CoinJoin і ZeroLink

Технологія CoinJoin була вперше запропонована розробником Bitcoin Core Грегорі Максвеллом ще в 2013 році. Суть прийому полягає в об’єднанні декількох транзакцій в одну велику транзакцію, за рахунок чого ховається, які саме біткоіни пересилаються з відправляють адрес (входи) на отримують адреси (виходи).

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

CoinJoin-транзакції доступні вже багато років, проте довгий час була присутня одна проблема: кому-то — Еліс, Бобу або Керол — необхідно цю транзакцію створити. Ця людина повинна знати, які саме старі адреси використовуються для відправки монет на нові адреси, інакше створити транзакцію буде неможливо. Якщо ця людина виявиться шпигуном, що часто не можна передбачити, всі зусилля стають безглуздими: шпигун може встановити належність монет.

Цю проблему, втім, можна вирішити, використовуючи прийом, який в тому ж 2013 році згадав Грегорі Максвелл. Він називається Chaumian CoinJoin (в честь схеми сліпий підписи, розробленої Девідом Чаумом).

При цьому методі Еліс, Боб і Керол підключаються до центрального Chaumian CoinJoin-сервера, оператором якого може виступати провайдер гаманця. Спершу вони надають всі свої відправляють адреси, а також отримують адреси, криптографічно підписані сервером. Після цього Еліс, Боб і Керол відключаються від сервера, щоб перепідключитися через приховане з’єднання (наприклад, Tor) і надати вже демаскированные адреси.

Задіявши технологію сліпих підписів Чаума, сервер може верифікувати, що ці демаскированные адреси відповідають замаскованим адресами, тобто підтвердити, що адреси дійсно належать Еліс, Бобу і Керол, а не атакуючому. При цьому сервер ще не знає, який з адрес кому належить.

Після своєї появи пропозицію Chaumian CoinJoin ще близько чотирьох років припадало пилом на полиці. Проте близько року тому під час роботи над TumbleBit для Breeze Wallet Адам Фичор відкрив цю пропозицію заново і вирішив зайнятися його імплементацією.

Зокрема, цей метод був вбудований в фреймворк ZeroLink, який також розробив Адам Фичор, і тепер імплементований у орієнтований на приватність користувачів гаманець Wasabi Wallet, який нещодавно вийшов в бета-режимі. Розробники Samourai Wallet тим часом анонсували мобільний імплементацію ZeroLink під назвою Whirlpool. Крім того, роботу над імплементацією ZeroLink веде команда ще одного нового гаманця під назвою Bob Wallet.

Підписи Шнорра

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

Підписи Шнорра, технологія, яку розробник Bitcoin Core і Blockstream Пітер Велле нещодавно представив у вигляді офіційної пропозиції по поліпшенню биткоина, можуть ці переваги дати.

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

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

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

Крім того, математичні властивості підписів Шнорра будуть сприяти розвитку таких рішень в стилі смарт-контрактів, як scriptless scripts, Taproot і Graftroot. Примітно, що ці рішення будуть відображатися в блокчейне як звичайні биткоин-транзакції. Це дасть можливість створювати, наприклад, ф’ючерсні ринки, децентралізовані біржі або страхові контракти, де шпигуни будуть бачити тільки звичайні на вигляд транзакції.

За оптимістичними прогнозами підпису Шнорра будуть доступні в 2019 році.

STONEWALL

Ще одна пов’язана з CoinJoin і спрямована на забезпечення приватності технологія під назвою STONEWALL була представлена розробниками Samourai Wallet у травні 2018 року. Суть методу полягає в тому, що, не використовуючи CoinJoin, він створює враження, що це насправді відбувається.

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

Ідея STONEWALL-транзакцій полягає в тому, щоб перешкодити шпигунам, коли вони роблять якісь висновки при аналізі блокчейна биткоина. Якщо шпигуни не можуть достовірно визначити, чи мають вони справу з CoinJoin-транзакціями чи ні, будь-який висновок, який ґрунтується на цих даних, виявляється марним.

Samourai Wallet також готує реліз 2-wallet STONEWALL — справжніх CoinJoin-транзакцій між двома користувачами, які довіряють один одному в питаннях приватності. Як очікується, це відбудеться протягом найближчого місяця-двох.

Dandelion

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

Рішення під назвою Dandelion було запропоновано командою дослідників з Університету Карнегі-Меллона, Університету Іллінойсу і Массачусетського технологічного інституту (MIT). Професор Університету Карнегі-Меллон Джулія Фанті презентувала його на недавній конференції Building on Bitcoin в Лісабоні.

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

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

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

BIP-151

BIP-151 — ще одне більш старе пропозицію щодо обмеження аналізу мережі биткоина від розробника Bitcoin Core Shift Йонаса Шнеллі. Певною мірою воно досить прямолінійне: метод дозволяє биткоин-нодам шифрувати проходить між ними трафік (транзакції і дані про блоках).

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

Тим не менш BIP-151 може бути основою для протидії декільком різновидам атак на анонімність, включаючи атаку посередника. Також використовується при цьому методі p2p-шифрування може виявитися корисним і при інших ситуаціях, наприклад, стає неможливим відстеження трафіку в мережі биткоина через ISP або відкриті wifi-мережі.

Після своєї появи BIP-151 кілька років залишалося в тіні, однак нещодавно Шнеллі знову повернувся до цієї пропозиції, переписавши його з метою подальшого обговорення та потенційного включення в кодову базу биткоина. Можливо, це відбудеться вже в наступному році.

Компактна фільтрація блоку на стороні клієнта

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

Багато легкі клієнти, які діляться з адресами рандомно нодой, використовують метод під назвою «Спрощена верифікація платежів» (Simplified Payment Verification — SPV). Для запиту потенційно релевантних для них транзакцій ці SPV-клієнти зазвичай використовують фільтр Блума.

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

Для вирішення цієї проблеми розробники Lightning Labs Олаолува Осунтокун і Алекс Аксельрод, а також розробник Coinbase Джим Поусен запропонували нове рішення під назвою «компактна фільтрація блоку на стороні клієнта».

Спочатку воно було задумано для Lightning-гаманця Neutrino від Lightning Labs, але також може бути використане і звичайними биткоин-гаманцями. Так, компактна фільтрація блоку на стороні клієнта вже інтегрована в бета-реліз Wasabi Wallet.

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

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

Liquid та Confidential Transactions

Liquid став першим комерційним сайдчейном, розробленим блокчейн-компанією Blockstream. Його головне завдання — забезпечити канали транзакцій між біржами та іншими биткоин-компаніями з високими обсягами (наприклад, брокерами), даючи їм можливість пересилати один одному биткоин та інші активи набагато швидше, ніж це дозволяє блокчейн биткоина. В майбутньому звичайні користувачі (в першу чергу трейдери) також повинні отримати доступ до сайдчейнам через спеціальні Liquid-гаманці.

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

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

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

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

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

Відзначимо, що в даний огляд не увійшли більш старі методи зразок stealth-адрес, де повна нода биткоина використовується в якості гаманця, CoinControl, JoinMarket та інших CoinJoin-рішень, Ricochet, PayNyms, Spinx в Lightning Network, Monero-swapping і централізованих сервісів мікшування.

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


Be First to Comment

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

*

code