Bitcoin Minisketch

Uruchamianie pełnych klientów Bitcoin jest istotnym elementem zrównoważonej decentralizacji sieci i użyteczną reprezentacją zdrowej adaptacji sieci. Obsługa pełnych węzłów nie jest jednak wygodnym procesem dla zwykłych użytkowników, aby uzyskać dostęp do Bitcoin.

Pełne węzły muszą być zsynchronizowane z całym łańcuchem bloków Bitcoin (~ 200 GB) i łączyć się z wieloma peerami w celu przekazywania transakcji rozgłaszanych w sieci. Standardowe pełne węzły łączą się z 8 peerami, a przekaźniki transakcji zajmują ogromną część przepustowości wymaganej do zarządzania całym węzłem.

Bitcoin Minisketch

Gregory Maxwell, wiodący programista Bitcoin i współzałożyciel Blockstream, oszacował, że z grubsza odpowiadają przekaźniki transakcji 87 proc wymagań dotyczących pełnej przepustowości węzła.

Ponadto pełna synchronizacja węzłów może zająć kilka dni i wymagać podstawowej wiedzy technicznej na temat Bitcoin. Często uciążliwy proces uruchamiania pełnego węzła stanowi istotną barierę dla wdrożenia, która w dużej mierze uniemożliwia wielu głównym użytkownikom uruchomienie pełnego klienta.

Kilka zmian usprawniło proces uruchamiania i obsługi pełnego klienta, takiego jak Węzeł sprzętowy Casa i Pierre’a Rocharda wyrzutnia węzłów – co obejmuje kompatybilność LN z Zastrzelić i Dżul. Jednak zmniejszenie obciążenia operatorów pełnych węzłów jest rozważnym długoterminowym przedsięwzięciem i jest przedmiotem kilku ulepszeń Bitcoin, w tym MiniSketch.

MiniSketch to proponowana metoda „uzgadniania zestawów” zestawów mempool między węzłami w sieci, spearheaded Peter Wuille, Gregory Maxwell i Gleb Naumenko.

Synchronizacja między węzłami

Przed zanurzeniem się w MiniSketch należy zająć się procesem synchronizacji między węzłami i tłem uzgodnienia zestawu.

Uzgadnianie zbiorów to proces w informatyce, w którym zestawy danych ustalają (tj. Uzgadniają) różnice między ich zestawami danych, aby zbiegać się w precyzyjne kopie. Maxwell opisał ten proces w kawałek przez Bitcoin Magazine jako podobne do synchronizacji list kontaktów telefonicznych między dwiema osobami, które mają wiele takich samych kontaktów.

„Możesz wysłać im całą swoją listę, ale nie zmieści się ona na pocztówce i w każdym razie byłaby to marnotrawstwo, ponieważ znają już większość kontaktów… W rzeczywistości możliwe jest przekazanie całego zestawu kontaktów do wysyłając tylko tyle informacji, ile wynosi różnica między Twoimi listami, nawet nie mając pojęcia, jakie są rzeczywiste różnice ”.

Uzgadnianie różnic między zestawami danych różnych komputerów wymaga przepustowości, aby odnieść się do określonych rozbieżności między dwoma zestawami i zbiegać się w identycznej kopii. Algorytmy poprawiające uzgadnianie zestawów zapewniają wydajniejsze ścieżki do uzgadniania różnic między zestawami danych, co zmniejsza wymagania dotyczące przepustowości.

MiniSketch w Bitcoin to implementacja PinSketch Algorytm bezpiecznego szkicu oparty na BCH. BCH oznacza „Bose-Chaudhuri-Hocquenghem”I są to kody używane do cyklicznej korekcji błędów w programowaniu komputerów i stosowane w zastosowaniach, takich jak komunikacja satelitarna.

W Bitcoin, MiniSketch implementuje PinSketch w celu optymalizacji dystrybucji transakcji w sieci, umożliwiając pełnym klientom łączenie się z większą liczbą rówieśników przy zmniejszonych wymaganiach dotyczących przepustowości.

Zestawy danych uzgadniane w Bitcoin to transakcje odebrane i przekazane przez węzły równorzędne. Większość węzłów zawiera wiele takich samych transakcji, ale kolejność ich otrzymywania czasami powoduje rozbieżności, co opóźnia synchronizację danych między ich pulami pamięci i zwiększa wykorzystanie przepustowości.

Węzły w sieci Bitcoin transmitują transakcje za pośrednictwem protokołu plotek sieci, zwanego dyfuzją. Celem jest bardzo szybkie przekazywanie transakcji w sieci do większości węzłów. Prowadzi to do niespójności w kolejności transakcji w ramach mempools w porównaniu z ostatnio zsynchronizowanymi blokami.

Minisketch

MiniSketch został zaprojektowany w celu usprawnienia procesu uzgadniania zestawów poprzez przedstawienie bardziej wydajnego mechanizmu synchronizacji i przekazywania między nimi tylko niezbędnych danych, a nie całych zestawów danych.

Węzły marnują znaczną przepustowość, rozróżniając, które węzły muszą otrzymać dane transakcji, aby sieć była zsynchronizowana, gdy transakcje są odbierane przez górników z mempoolu. MiniSketch umożliwia węzłom odwoływanie się do danych za pomocą algorytmu opartego na tylko dane, które występują w jednym zestawie, ale nie w drugim.

Zwykle wymiana danych między węzłami koncentruje się na odwoływaniu się do całych zestawów danych mempool. MiniSketch pozwala na znacznie bardziej zwartą synchronizację (uzgadnianie) zestawów pamięci transakcji poprzez szkicowanie różnic między zestawami danych za pomocą „ustawionych sum kontrolnych”.

Zestaw sum kontrolnych ma z góry określoną pojemność i może być używany do szkicowania symetrycznej różnicy między dwoma zestawami danych. Na przykład, jeśli Alicja i Bob chcą uzgodnić swoje zestawy transakcji węzłów, mogą użyć MiniSketch do obliczenia szkicu elementów w ich zestawach danych.

Jedna ze stron, powiedzmy Bob, mierzy symetryczną różnicę między dwoma zestawami danych, co jest podobne do znajdowania dokładnej liczby różnic między różnymi typami sum danych. Jednak Bob stara się tylko odzyskać różne dane ze szkicu Alicji ze swojego szkicu. Następnie wysyła różnice do Alicji i oboje mogą uzgodnić zestawy transakcji znacznie wydajniej.

Według MiniSketch Github Plik ReadMe:

„To zawsze się powiedzie, gdy rozmiar różnicy (elementy, które ma Alicja, ale Bob nie zawiera elementów, które ma Bob, ale Alice nie) nie przekracza pojemności szkicu wysłanego przez Alice. Co ciekawe, działa to niezależnie od rzeczywistych rozmiarów zestawu – liczy się tylko różnica ”.

Według Maxwella w magazynie Bitcoin, MiniSketch może pozwolić na potencjalne zmniejszenie narzutu przekaźnika transakcji węzła o 40X, co wskazały ich symulacje.

Dwie główne zalety MiniSketch to:

  1. Redukcja przepustowości węzła.
  2. Zdolność węzłów do łączenia się z większą liczbą rówieśników.

Zmniejszenie przepustowości przy użyciu programu MiniSketch jest oczywiste i można je wykorzystać do wydajniejszej propagacji bloków w łącza satelitarne o niskiej przepustowości.

Zmniejszone obciążenie pasmem na węzeł umożliwiłoby również węzłom łączenie się z większą liczbą rówieśników niż zwykle – na przykład 16 zamiast 8. Inne zalety i zastosowania MiniSketch, jak wspomniano w repozytorium Github, to jego potencjalne połączenie z sieci dc do „kryptograficznej wielostronnej anonimowej komunikacji” i pomocy w wydobyciu klucza kryptograficznego z „rozmytych” danych biometrycznych.

Warto zauważyć, że MiniSketch jest również opcjonalny dla operatorów węzłów, ponieważ nie jest częścią konsensusu Bitcoin wymagającego aktualizacji węzłów do najnowszej podstawowej specyfikacji. Zamiast tego operatorzy mogliby zdecydować się na uruchomienie protokołu z innymi osobami w celu zwiększenia wydajności przepustowości.

Formalny BIP dla MiniSketch nie jest jeszcze dostępny, a przyszła propozycja może zostać zintegrowana z innym protokołem znanym jako „Odwracalne tabele wyszukiwania rozkwitu”W celu wzmocnienia propagacji blokowej. Opcjonalne istnienie MiniSketch czyni go również mniej podatnym na zaleganie z innymi formalnymi propozycjami zmiany konsensusu w stosunku do starszej kryptowaluty.

Ogólne zalety MiniSketch są atrakcyjne dla operatorów węzłów, ponieważ obniża barierę dla obsługi pełnego węzła i czyni go bardziej wydajnym. Więcej pełnych klientów Bitcoin oznacza solidniejszą decentralizację i zdrowszą sieć.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me