Bitcoin Core срещу Wasabi Wallet - Поверителност на мрежово ниво

Bitcoin Core, по-конкретно пълните възли се считат за върха на поверителността на мрежовото ниво в портфейлите на Bitcoin, до който никой друг тип портфейл не може да се доближи. Не е трудно да разберете защо: пълните възли изтеглят целия Blockchain и установяват балансите на портфейла си локално, така че няма нула вероятност някоя трета страна да разбере кои адреси са в портфейла ви и кои адреси не.
Сравнете това с други леки портфейли, които питат сървър за сървър за получаване на информация относно конкретни адреси или използват протокол за филтриране на BIP37 цъфтеж SPV портфейл, което вероятно е още по-лошо. И има Electrum, който изпраща вашите адреси до произволни сървъри на Electrum.

Визията за лек портфейл, който не изтича твърде много информация при създаването на UTXO на потребителя, е преследвал разработчиците на биткойни от векове.
Всъщност дори BIP37 започна като подобрение на личния живот, по-късно се оказа, че не е такъв.
Но имаше прилични опити: някои разработчици, като Йонас Шнели, екипът на Stratis и аз създадохме софтуер за портфейл, който изтегляше само блокове от създаването на потребителския портфейл.
Някои разработчици, като Николай Дориер се опитаха да закърпят BIP37 и някои други, като момчетата от Lightning Labs измислиха изцяло нова архитектура на светлинен портфейл: BIP157-158.
Хората от MoneroWorld искат да делегирате стартирането на вашия възел в облака.
Имаше и други, като Крис Белчър, който каза: „майната му“ и създаде EPS, който ви позволява да свържете вашия Electrum клиент към пълния си възел.
Най-накрая забелязах положителна тенденция наскоро компаниите, които продават кутии, които ще изпълнят пълен възел за вас извън кутията.

И след това, има Wasabi Wallet, който е клиент, който филтрира светлинен портфейл от страна на BIP157 и частично се интегрира и в пълния ви възел. Което ме довежда до темата на тази статия: Само преди няколко часа с Wasabi Wallet постигнахме най-добрата поверителност на мрежово ниво, която е възможна с днешния Bitcoin.

терминология

V. Стендове за проверка или валидиране. Използват се взаимозаменяемо, но почти съм сигурен, че едно от тях е правилно. Veridation?

FN, пълен възел, напълно Veridiating възел. Изтегля и потвърждава всички създадени досега биткойн блокове, но за нашите цели (поверителност) има значение само частта за изтегляне.
SPV възел, опростен възел за разширяване на плащанията. Само синхронизира веригата на заглавките (каквото и да е това) и може да потвърди, че имате транзакция, като приложите някаква магия на merkle. Нищо от това обаче няма значение за нас. Важното е да забележите, че SPV няма нищо общо с неприкосновеността на личния живот, това е наистина просто начин да се гарантира, че транзакциите са се случили.
По разширение пълен възел също няма нищо общо с поверителността. Той просто описва как възелът гарантира, че транзакциите са се случили. Той преобразува цялата blockchain, разбира се, за да направи това, трябва да изтегли цялата blockchain, което позволява извличането на UTXO в портфейла на местно ниво, което е най-частният начин за това. Чакайте, значи има ли нещо общо с личния живот?
Full-SPV, Full-Block SPV, Full Block Изтегляне на SPV възел. Изтегля всички блокове от създаването на портфейла и прави SPV проверка върху тях. Чакай, току-що удвоих думата V там? Да, разработчиците са това непоследователно. Надявам се също никой никога да не изгради портфейл с пълна SPV, който изтегля всички блокове, но прави централизирано валидиране, защото е невъзможно да се избере подходящ термин за това.

Объркани още? Добре. Сега, след като разбрахте нюансираната природа на темата, ще простите по-често за мен, като посрещам останалата част от този раздел с огромни надвишения:

Хибриден пълен възел. Е лек възел, докато пълният възел не се синхронизира. Искам Васаби да е такъв портфейл в бъдеще.
BIP37. Клиентът изпраща филтър за цъфтеж до пълни възли, пълни възли изпращат обратно данни, съответстващи на филтъра за разцвет.
Bloom Filter. Позволява ви да тествате дали даден елемент е в набор, без да разкривате самия набор.
Golomb-оризови филтри. Филтри с по-малък цъфтеж, използвани от BIP158.
Клиентско странично филтриране, Неутрино филтриране, BIP157, BIP158. Идеята, че клиентите не трябва да изпращат филтри до пълни възли, а по-скоро правят обратното: пълните възли създават филтри и вместо това ги изпращат до клиенти. От тук клиентите могат да изтеглят блокове от други източници. Това е прилично частен начин за установяване на състояние UTXO в портфейла.
Neutrino. Изпълнението на Lightning Lab на клиентския протокол за филтриране.
Каквото прави Васаби. Нашата реализация на протокола за филтриране от страна на клиента.

Мащабиране

Струва си да се отбележи, че поверителността на ниво мрежа е само половината от битката. Другата половина е поверителността на ниво блокчейн, която е извън обхвата на тази статия.

Освен това поверителността на ниво мрежа се състои от две подкатегории:

  1. Частно извличане на UTXO
  2. Частно излъчване на транзакции

Bitcoin Core

Частно извличане на UTXO

Bitcoin Core изтегля всички създадени блокове и установява балансите на портфейла ви локално.

Частно излъчване на транзакции

Bitcoin Core излъчва транзакции на други партньори в clearnet, нешифровани.
Други партньори не могат да разберат коя транзакция произхожда от конкретен възел, тъй като Core не само излъчва свои собствени транзакции, но и разпространява всяка друга транзакция, която попадне в неговата памет.
Някои документи обаче отбелязват, че това не е броня:

Разпространението на биткойн транзакции не крие източника на транзакция много добре, особено срещу подслушвател „супернод“, който образува голям брой изходящи връзки към достъпни възли в мрежата [1,2,3].

Докато на практика подозирам, че няма много значение, тази статия възнамерява да проучи детайлите, за да сравня Core с Wasabi, така че започвам да събирам съответните идентифицирани противници от тук нататък:

Идентифицирани противници

  • Злобен партньор
  • Supernode

Bitcoin Core + Tor

Можете да използвате Bitcoin Core с Tor, което решава гореспоменатия проблем. В този случай супернодът не може да проследи транзакциите до вашия IP адрес.

Ще разгледам всяко образувание, което може да счупи Tor, универсален противник, но обърнете внимание, това е неточно. Например повечето Tor атаки не са възможни, ако не са включени изходни възли. Това и други неща като конфигурируемостта на Core биха усложнили анализа, така че тук решавам да начертая линията.
Предполагам, че това образувание може да наруши маршрута на лука, а не самото криптиране на Tor.

Идентифицирани противници

  • Тор Breaker

Васаби портфейл

Частно излъчване на транзакции

Преди това Wasabi не поддържа своите P2P връзки над Tor. Тъй като Wasabi е неслушащ възел, излъчването на транзакции през други P2P възли през clearnet ще позволи на партньорът да свърже вашия IP адрес с транзакцията. Ето защо ние излъчвахме транзакциите си към нашия задния сървър през Tor.

Сега също започнахме да тунелизираме целия си P2P трафик през Tor:

  • Направихме го по начин, който се свързваме само с лукови възли, така че криптирането от край до край вече се налага между нас и нашите връстници. Всичко това, без да се включва изходен възел.
  • Свързваме се с всеки връстник чрез различен Tor поток.
  • Това ни даде възможност да заменим механизма си за излъчване на транзакции. Сега излъчваме транзакции само на един партньор над Tor и веднага след това прекъсваме връзката.

Частно извличане на UTXO

Накрая стигнахме до интересната част. Преди внедряването на P2P Tor Wasabi правеше следното:
Бекенд сървърът обслужва постоянна филтърна таблица за всички клиенти над Tor. От тези филтри клиентите могат да разберат кои блокове се интересуват и изтеглят тези блокове и някои фалшиво-положителни блокове от връстници. Един блок на партньор. Когато блокът беше придобит, партньорът беше изключен.
Имаше два въпроса с това.
Ами ако всички връстници, към които Wasabi беше свързан, бяха едно и също образувание за продължителен период от време? Тогава атакуващото образувание на Sybil ще знае всички блокове, от които се интересува клиент, от които може да се получи някаква информация. Възниква въпросът? Как да се уверите, че сте единственият партньор, с който клиентът се свързва за продължителен период от време?
Вторият въпрос е, ами ако вашият интернет доставчик ви шпионира за продължителен период от време? Това е по-правдоподобно. Всъщност оценката за поверителност на Wasabi в списъка на Bitcoin.org беше почти намалена, за да бъде същата като портфейла за хляб, защото това, разбира се, би било нелепо, тъй като Bread е портфейл BIP37. Това, което спести рейтинга, беше, че отбелязах, ако ISP е противник, тогава Bitcoin Core не би го провалил по по-ефектен начин, тъй като транзакциите се излъчват през clearnet и дори ако възелът слуша, единствената транзакция, която няма t влиза, но излиза само от портфейла, трябва да е този, който произхожда от възела.
Както и да е, Васаби прави това над Тор сега. Поради криптирането в крайна сметка на луковата мрежа, той веднага побеждава противника на доставчика на интернет услуги и прави още по-невъзможна вече невъзможната работа на противника на Sybil. Как Sybil за продължителен период от време, всички възли, които се свързват към Wasabi? Или дори само един възел? Клиентът се крие зад Тор. Не можете дори да свържете две връзки на клиента, тъй като клиентът се свързва с всички ваши Sybils чрез различен Tor поток.
Единственият противник, който евентуално би могъл да преодолее това, ще трябва да настрои хиляди пълни възли над лука, а също и да счупи самия Тор.

Идентифицирани противници

  • интернет доставчик
  • Tor Breaker Sybil Attacker с хиляди пълни възли над лука

Wasabi Wallet + Пълен възел

Частно извличане на UTXO

Ако имате слушащ пълен възел, работещ във фонов режим (не само Bitcoin Core, който и да е пълен възел), тогава Wasabi автоматично го взима и вместо да пита колеги за блокове, той иска блокове от вашия собствен възел. Използването на Wasabi по този начин води до същия модел на поверителност като Bitcoin Core по отношение на частното извличане на UTXO.

Поставяме всичко заедно

заключение

За да бъдат полезни, показателите за сигурност трябва да отразяват трудността на противника при преодоляването им. - ентропист

Тъй като срещу всички разумни противници, сравнение между Bitcoin Core и Wasabi Wallet в мрежата на поверителност няма смисъл, че може да смятате, че тази статия е загуба на време. Но много грешите. Тази статия със сигурност ще ми помогне да спечеля интернет аргументи. И в крайна сметка не е ли това всъщност има значение?