Co to jest protokół z mniszka lekarskiego? Kompletny przewodnik dla początkujących

Co to jest protokół z mniszka lekarskiego?

Bitcoin i inne kryptowaluty wykorzystują prywatność w obie poziom łańcucha bloków i warstwę sieciową. Publiczne łańcuchy bloków są trwałymi rejestrami transakcji cyfrowych, dlatego implementacje prywatności w łańcuchu bloków koncentrują się na ukrywaniu danych transakcji i anonimizacji tożsamości nadawców i odbiorców.

Kryptowaluty zorientowane na prywatność, takie jak Monero i Zcoin, zawierają funkcje anonimowości na poziomie łańcucha bloków, takie jak pierścienie CT i dowody o zerowej wiedzy, aby upewnić się, że transakcje nie mogą być śledzone. Jednak komunikacja sieciowa P2P / overlay odgrywa również istotną rolę w anonimizacji interakcji w sieci blockchain. Zarówno Monero, jak i Zcoin integrują funkcje prywatności warstwy sieci, takie jak Słup i I2P, ale te cechy wiążą się również z przedłużonym rozwojem i innymi wadami.

Plik Protokół z mniszka lekarskiego to rozwiązanie zapewniające anonimowość w warstwie sieciowej, które zostało pierwotnie zaproponowane w 2017 roku, aby poprawić prywatność sieci Bitcoin w sieci P2P. Odkryto następnie, że jego pierwotna propozycja zawierała różne wady co może z czasem doprowadzić do jego deanonimizacji ze względu na pewne idealistyczne założenia potencjalnych przeciwników.

Co to jest protokół z mniszka lekarskiego?

Ostatecznie ulepszona wersja protokołu z mniszka lekarskiego została zaproponowana w maju na początku tego roku pod nazwą Mniszek lekarski++. Dandelion ++ rozwiązuje problemy związane z oryginalnym protokołem i został już wdrożony przez zespół badawczy z pozytywną odpowiedzią zespołów programistów Bitcoin. Wydaje się, że Dandelion ++ zostanie dołączony do nadchodzącej wersji Bitcoin Core.

Co to jest mniszek lekarski++?

Dandelion ++ to lekkie i proste rozwiązanie warstwy sieciowej z formalnie gwarantowaną anonimowością, które można łatwo wdrożyć za pomocą istniejących kryptowalut. Wyraźnie ulepsza idealistyczne założenia oryginalnej propozycji Dandelion i różni się od większości protokołów anonimowości komunikacji rozgłoszeniowej w podejściu do celów użytkowania i metryk analizy.

Aby lepiej zrozumieć, jak działa Dandelion ++, należy skupić się na tym, jak transakcje są transmitowane w Bitcoin i jak działał oryginalny protokół Dandelion. W Bitcoin, gdy użytkownik transmituje transakcję z węzła, jest ona propagowana do węzłów połączonych z tym konkretnym węzłem, zwanych jego rówieśnikami. Komunikat transakcji jest następnie propagowany w reakcji łańcuchowej, w której każdy węzeł dalej rozprzestrzenia komunikat do węzłów, do których jest podłączony. Nazywa się to protokołem plotkarskim Bitcoin i jest sposobem, w jaki transakcje mogą bardzo szybko dotrzeć do większości węzłów w sieci.

Bitcoin implementuje teraz formę transmisji zwaną dyfuzją, w której każdy węzeł rozprowadza transakcje z wykładniczymi i niezależnymi opóźnieniami na swoich sąsiadów, aby złagodzić dezanonimizację adresu IP użytkownika. Chociaż dyfuzja jest skuteczna, ma niedawno w kilku badaniach udowodniono, że nie zapewniają odpowiedniej ochrony anonimowości.

Pochodzenie wiadomości transakcyjnej i jej adres IP (który nie jest zawarty w wiadomości transakcji Bitcoin) mogą być mapowane przez obserwatorów zewnętrznych, jeśli kontrolować wystarczającą liczbę węzłów lub użyj superwęzła, który jest połączony ze znaczną liczbą węzłów. Mogą efektywnie mapować adres początkowy, obserwując, które węzły widzą transakcję jako pierwsze. Dmuchawiec++ papier wyraźnie określa, w jaki sposób badanie, w którym zastosowano superwęzeł, rejestrowało przekazywany ruch wszystkich węzłów P2P i obserwowało wzorce transakcji rozchodzące się w czasie, aby ostatecznie wydedukować źródłowy adres IP. Łącząc adres IP z pseudonimem nadawcy, strona trzecia może deanonimizować użytkowników i łączyć dalsze transakcje, nawet jeśli do każdej transakcji używany jest nowy klucz publiczny.

Początkowo proponowano Dmuchawiec, aby złagodzić te luki, ale polegał na teoretycznych gwarancjach, które nie sprawdziły się w praktyce. Oryginalna propozycja Dandelion zawierała 3 wyidealizowane założenia:

  • Wszystkie węzły przestrzegają protokołu
  • Każdy węzeł generuje dokładnie jedną transakcję
  • Wszystkie węzły Bitcoin obsługują Dandelion

Te założenia najwyraźniej nie sprawdziły się w praktyce i dlatego Dandelion ++ starał się je rozwiązać. Oryginalny protokół Dandelion działa w 2 fazach:

  1. Faza macierzysta
  2. Faza puchu

Faza macierzysta to faza anonimowa, w której protokół ma na celu ograniczenie możliwości odwzorowania z powrotem na adres IP pierwotnego węzła. W fazie macierzystej, zamiast rozgłaszania transakcji przez węzeł do wszystkich swoich połączonych węzłów, przekazuje komunikat transakcji przez wykres prywatności do pojedynczego losowego uczestnika w oparciu o algorytm. Następnie ten węzeł przesyła wiadomość o transakcji tylko do innego pojedynczego peera, a wzorzec jest kontynuowany, aż ostatecznie (i losowo) jeden z węzłów wyśle ​​wiadomość w typowym formacie rozpowszechniania do reszty sieci.

Tutaj zaczyna się faza puchu. Gdy pojedynczy węzeł rozgłasza komunikat przy użyciu metody rozpowszechniania, komunikat o transakcji jest szybko propagowany do większości węzłów w sieci. Jednak znacznie trudniej jest prześledzić wstecz do pierwotnego węzła, ponieważ komunikat transakcji został przesłany do wielu pojedynczych węzłów przez wykres prywatności, zanim został propagowany w sposób, który pozwoliłby obserwatorowi zmapować go do pojedynczego węzła. Zamiast tego obserwator mógł jedynie odwzorować rozprzestrzenianie się transakcji z powrotem do kilku węzłów, w których wiadomość została przesłana w fazie macierzystej, myląc w ten sposób rzeczywistą tożsamość nadawcy. W efekcie jest to abstrakcyjnie podobne do tego, jak sygnatura pierścienia zaciemnia faktycznego sygnatariusza transakcji.

Źródło zdjęcia – prezentacja Giulii Fanti w Lizbonie

Zcoin blog stanowi doskonały przykład działania protokołu Dmuchawiec przy użyciu typowych plotek z liceum:

* FAZA TRZONU *

  • Kathy: „Pssst, podkochuję się w Nuwa. Proszę nikomu nie mówić ”
  • George: „OMG, czy wiesz, co powiedziała mi Kathy? Jest zakochana w Nuwa. Powiedziałem tylko, proszę, nikomu nie mów ”
  • Alice: „Betty, nie uwierzysz w to, co najlepszy przyjaciel Kathy, powiedział mi George, Kathy mocno się miażdży w Nuwa! Jesteś moim najlepszym przyjacielem, więc tylko ci powiedziałem, proszę, nie mów nikomu w porządku! ”

* POCZĄTEK FAZY FLUFF *

  • Blabbermouth Betty: „Och, wow gorące wieści… Mam dobre źródła, że ​​Kathy jest ogromnie zakochana w Nuwa… Proszę powiedz wszystkim, że to takie ekscytujące!”

Podstawowe problemy z oryginalnym protokołem Dandelion wynikają z niedoszacowania określonych typów przeciwników z powodu założeń o ograniczonej wiedzy. Dandelion ++ szczególnie koncentruje się na dokonywaniu subtelnych zmian w wyborach implementacyjnych Dandelion, takich jak topologia wykresu i mechanizmy przekazywania wiadomości.

W rezultacie te niewielkie zmiany w algorytmie wykładniczo zwiększają przestrzeń stanu problemu do analizy anonimowości. Dandelion ++ polega na zwiększaniu ilości informacji, których przeciwnicy muszą się nauczyć, aby zdeanonimizować użytkowników.

Dandelion ++ znacznie różni się od Dandelion w swojej fazie macierzystej, w której przekazuje transakcje przez splecione ścieżki zwane kablami, zanim rozpowszechni komunikat o transakcji do sieci. Kable mogą być pofragmentowane, ale jego intuicja dotycząca wyboru węzła do propagacji jest nadal ograniczona do lokalnego sąsiedztwa. Jest to ważna kwestia podczas porównywania rozwiązań anonimowości na poziomie sieci, takich jak Tor, który jest protokołem routingu cebulowego, w którym klienci potrzebują globalnych, aktualnych informacji o sieci, aby określić ścieżki transakcji.

Źródło zdjęcia – artykuł akademicki Dandelion ++

Zarówno Dandelion, jak i Dandelion ++ przebiegają w cyklach asynchronicznych. Każdy węzeł przyspiesza, gdy jego wewnętrzny zegar osiągnie określony próg. Dla każdego okresu Dandelion ++ działa w 4 podstawowych komponentach z niewielkimi optymalizacjami:

  1. Wykres anonimowości
  2. Przekazywanie transakcji (własne)
  3. Przekazywanie transakcji (przekaźnik)
  4. Mechanizm awaryjny

Wykres anonimowości wykorzystuje losowy 4-regularny wykres zamiast wykresu liniowego dla fazy anonimowości. Wybór przekaźników Dandelion ++ według węzłów jest niezależny od tego, czy ich sąsiedzi wychodzący obsługują Dandelion, czy nie++.

Przekazywanie transakcji (własne) polega na tym, że za każdym razem, gdy węzeł generuje własną transakcję, przekazuje ją dalej wzdłuż tej samej krawędzi wychodzącej na 4-regularnym grafie. Różni się to od jednego z problematycznych założeń w Dandelion, gdzie zakłada się, że węzły generują tylko jedną transakcję.

Przekazywanie transakcji (przekaźnik) jest momentem prawdopodobieństwa w fazie macierzystej, w którym węzeł otrzymuje transakcję macierzystą i albo decyduje się na jej przekazanie, albo rozproszenie jej do sieci. Wybór rozpowszechniania transakcji w sieci jest pseudolosowy. Ponadto węzeł jest albo rozpraszaczem, albo węzłem przekaźnikowym dla wszystkich przekazywanych transakcji.

Mechanizm Fail-Safe polega na tym, że dla każdej transakcji fazy macierzystej każdy węzeł śledzi, czy jest ponownie postrzegany jako transakcja fazy fluff. Jeśli nie, węzeł rozprasza transakcję.

Niewielkie poprawki w algorytmie na tych etapach znacznie utrudniają mapowanie adresów IP na podstawie obserwacji rozprzestrzeniania się komunikatów transakcyjnych. Artykuł Dandelion ++ kontynuuje identyfikację konkretnych ataków, które można wykorzystać przeciwko oryginalnemu protokołowi Dandelion, w tym atakom opartym na uczeniu się wykresów, atakom skrzyżowań, atakom konstrukcji grafów i atakom czarnej dziury. Z każdym wektorem ataku demonstrują, jak Dandelion ++ łagodzi je za pomocą analizy teoretycznej i symulacji.

Dandelion ++ nie zwiększa znacząco opóźnienia sieci, a jego praktyczna wykonalność została zademonstrowana w sieci głównej Bitcoina. Zapewnia lekkie i skuteczne narzędzie anonimowości w warstwie sieciowej, które ogranicza możliwość mapowania ataków w celu deanonimizacji użytkowników. Pomimo swoich zalet, Dandelion ++ nie chroni jawnie przed adwersarzami na poziomie ISP lub AS, którzy mogą wykorzystywać ataki routingu do deanonimizacji użytkowników.

Porównanie Dandelion ++ i Tor

Dandelion ++ ma kilka znaczących zalet w porównaniu z innymi implementacjami anonimowości w sieci, takimi jak Tor. Słup jest najbardziej widoczną warstwą nakładki sieciowej koncentrującą się na prywatności i wykorzystuje routing cebulowy, aby ukryć lokalizację geograficzną użytkowników i adresy IP.

Integracja Tora na poziomie stosu sieciowego systemów kryptowalut jest ogromnym wyzwaniem. Monero jest tego doskonałym przykładem, ponieważ implementacja I2P podobnego do Tor’a zajęła ponad cztery lata Kovri projekt do swojej sieci i nadal jest w toku. Wiele sieci kryptowalut nie ma czasu ani wiedzy technicznej, aby zintegrować tego typu funkcje.

Użytkownicy przekierowujący swoje transakcje przez Tor również nie są szczególnie wykonalni dla głównych użytkowników Bitcoin, którzy albo nie są świadomi braków prywatności w sieci, albo nie mają doświadczenia w prawidłowym kierowaniu transakcji przez Tor. Co więcej, Tor może być powolny z powodu ograniczonej przepustowości w porównaniu do Dandelion++.

To samo nauka który zidentyfikował pewne obawy związane z deanonimizacją rozpowszechniania w Bitcoin, podkreśla również ataki na węzły, w których kończą się odrzucaniem lub umieszczaniem na czarnej liście połączeń Tora. Może to również prowadzić do deanonimizacji transakcji i mapowania adresów IP użytkowników.

Wniosek

Dmuchawiec ++ to przydatne ulepszenie w stosunku do oryginalnego protokołu Dmuchawiec. Jego ostateczna integracja z nadchodzącą wersją Bitcoin Core wydaje się prawdopodobna i powinna zapewnić znaczną poprawę prywatności sieci Bitcoin P2P. Wektory ataku kryptowalut nadal ewoluują, podobnie jak ich rozwiązania. Dmuchawiec ++ to kolejny krok naprzód w ochronie użytkownika prywatność w Bitcoin.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map