Чому Біткоїн-гаманцям потрібні фільтри блоків

Чому Біткоїн-гаманцям потрібні фільтри блоків

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

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

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

У цій статті ми розглянемо, чому біткоїн-гаманцям потрібні фільтри блоків, скільки користувачів біткоїна використовують повні вузли, чому гаманці API, хоч і забезпечують хороший користувацький досвід, дозволяють знайти зв'язок між усіма вашими транзакціями, чому фільтри Блума не можуть забезпечити конфіденційність, а фільтри блоків є єдиним полегшеним рішенням для забезпечення конфіденційності – і, зрештою, як все це можна реалізувати з використанням зв'язку виключно через Tor, при цьому також захищаючи IP-адресу користувача.

Лише небагато користувачів запускають повні вузли

Запуск та використання Біткоїн-вузла – це найкраще рішення, оскільки ви є частиною мережі й вам не потрібні посередники для отримання та передачі даних транзакцій. Однак очевидно, що запуск повного вузла підходить не всім; існування і потреба в light-клієнтах (проста перевірка платежів (SPV)) була передбачена Сатоші в white paper Біткоїна.

Неможливо встановити, скільки користувачів використовують повний вузол, можна дізнатися лише кількість вузлів. За скромними оцінками, це число становить близько 16 000, згідно з сайтом Bitnodes.io. Більш точні оцінки, які враховують як вузли прослуховування, так і непрослуховувальні вузли, такі як інструмент підрахунку вузлів Люка Дашджара, вказують на те, що це число вище – близько 53 000.

Чому Біткоїн-гаманцям потрібні фільтри блоків

Також важливо знати історичний контекст кількості повних Біткоїн-вузлів. Відповідно до історії підрахунку Біткоїн-вузлів Люка Дашджара, можна зробити висновок, що використання вузлів ще не досягло свого піка. 13 січня 2018 їхня кількість досягла 205 000. Це було багато в чому пов'язано з тим фактом, що біткоїн досяг свого попереднього рекордного максимуму кількома тижнями раніше. У 2021 році кількість вузлів також зросла зі зростанням ціни, але досягла лише майже 90 000.

Чому Біткоїн-гаманцям потрібні фільтри блоків

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

Провайдери API-гаманців збирають ваші дані за замовчуванням

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

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

xpub6CUGRUonZSQ4TWtTMmzXdrXDtypWKiKrhko4egpiMZbpiaQL2jkwSB1icqYh2cfDfVxdx4df189oLKnC5fSwqPfgyP3hooxujYzAu3fDVmz

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

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

Тепер розглянемо альтернативний метод, який не залежить від одного сервера, – використання фільтрів Блума на light-гаманцях.

Чому фільтрів Блума не достатньо для забезпечення конфіденційності

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

Фільтри Блума – це ймовірнісні структури даних, які використовуються для перевірки того, чи є елемент членом набору. У контексті Біткоїна фільтри Блума створюються light-клієнтом і відправляються вузлам мережі, які перевіряють, чи існує збіг між адресою (елементом) та даними блокчейна (набором). Якщо збіг існує, дані транзакції надсилаються light-клієнту. Це ймовірнісний підхід, оскільки бувають хибні спрацьовування, але вони пізніше відкидаються легким клієнтом.

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

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

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

Біткоїн-гаманцю потрібні фільтри блоків для забезпечення конфіденційності

Ще у 2018 році реального розв'язання цієї проблеми не було, фільтрів блоків ще не існувало. На щастя, вони були представлені наступного року в BIP157 і 158, а тепер реалізовані в кількох гаманцях і Біткоїн-програмах, таких як Wasabi, Blixt, Breez, LND та LDK. Їх часто називають Neutrino. Далі ми розглянемо, як вони працюють і чому вони є вдалим рішенням для забезпечення конфіденційності в мережі.

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

Процес фільтрування блоків зазвичай включає три етапи. Спочатку користувач завантажує фільтри блоків, які представляють блокчейн, з вузла мережі у випадку Breez або сервера-координатора у випадку Wasabi. Потім light-клієнт перевіряє, чи відповідають адреси в межах пропуску фільтра блоків. Зрештою, якщо є збіг, завантажується відповідний блок.

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

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

Tor – остання частина розв'язання проблеми конфіденційності мережі

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

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

Наприклад, спільнота Tor запровадила рішення для забезпечення надійності зв'язку під назвою Conflux. Замість одного запиту, клієнти роблять два запити, використовуючи два різних канали Tor, щоб підвищити ймовірність швидкого завершення. Це, поряд з інноваціями у завантаженні гаманця для фільтрів блоків, таких як Turbosync у гаманці Wasabi, приведе нас до майбутнього, в якому користувачеві не доведеться вибирати між зручністю використання та конфіденційністю – він зможе насолоджуватися і тим, і тим.

Це гостьовий пост Густаво Флореса Ешаїса. Висловлені погляди є його власними і не обов’язково збігаються з точкою зору BTC Inc. або Bitcoin Magazine.

Біткоїн-освіта здатна змінити світ Біткоїн-освіта здатна змінити світ Менш ніж три роки тому Джон Деннехі, засновник Mi Primer Bitcoin, вирішив створити освітню програму з Біткоїна, щоб розширити можливості сальвадорців. Тепер ця платформа використовується не тільки для навчання десятків тисяч студентів у Сальвадорі, але і для дедалі більшої кількості учнів у всьому світі. Френк Корва 22 червня 2024
«Хороший біткоїнер»: продажність у ході передвиборчої кампанії «Хороший біткоїнер»: продажність у ході передвиборчої кампанії Біткоїнерам не слід бути ласими на передвиборчі обіцянки політиків. Більшість із них залишаються невиконаними після завершення виборів та початку каденції. L0la L33tz 22 червня 2024
Чи може Біткоїн бути продуктивним активом? Чи може Біткоїн бути продуктивним активом? Аналіз природи та ризиків різних продуктів на основі дохідності, створених на основі Біткоїна. Паскаль Хюглі 22 червня 2024