za
XT

Bitcoin XT – szybsza propagacja bloków w sieci

2015-11-11
Techniczne
1,5% dla maluszka

BitcoinXT jest forkiem (wersją) Bitcoin Core którego główną różnicą jest implementacja zwiększenia maksymalnej wielkości bloku powyżej obecnego 1MB. Jednak XT posiada wiele innych usprawnień, ciągle pojawiają się też nowe.

 

 

BitcoinXT jest forkiem (wersją) Bitcoin Core którego główną różnicą jest implementacja zwiększenia maksymalnej wielkości bloku powyżej obecnego 1MB. Jednak XT posiada wiele innych usprawnień, ciągle pojawiają się też nowe.

 

XT ma również zakodowane przekazywanie transakcji podwójnego wydania (double-spend) które Core domyślnie blokuje – pomaga to m.in. tworzyć złożone rozproszone transakcje typu „anyone can pay”. (więcej w poprzednim artykule)

 

Tydzień temu pojawiła się również propozycja kolejnego usprawnienia: przesyłanie nowych bloków w sieci z użyciem nowego lekkiego protokołu (thin blocks – „cienkie” bloki). Obecnie zarówno Core jak i XT przesyła nowo znaleziony blok transmitując go w całości do węzła, który o niego poprosi. Nowy protokół zakłada przesłanie jedynie nagłówka oraz drzewa haszy transakcji zawartych w bloku.

 

Ponieważ każdy podłączony węzeł Core na bieżąco „zbiera” transakcje krążące w sieci, nowo powstały blok zazwyczaj zawiera transakcje które węzeł już posiada. W momencie znalezienia nowego bloku przesyłana jest więc między węzłami niepotrzebnie informacja, którą węzeł docelowy najprawdopodobniej już posiada. Nowy protokół pozwala węzłowi pobierającemu na samodzielną konstrukcję bloku z posiadanych przez niego informacji, i jedynie „dociągnięcie” z węzła wysyłającego brakujących mu transakcji.

 

Nowy protokół nie pomoże więc w pierwszej synchronizacji węzła Core (która wymaga pobrania wszystkich bloków) ale może zdecydowanie przyspieszyć propagację nowych bloków oraz ograniczyć ilość przesyłanych danych pomiędzy węzłami – ze względu na wysłanie znacznie mniejszej porcji informacji.

 

Węzeł z poprawką może w nowy sposób pobierać bloki ze „zwykłych” klientów. Jednak wysyłanie danych (nowych bloków) w nowy sposób jest możliwe tylko w przypadku połączenia pomiędzy nowymi klientami. Tak więc nowy klient będzie mógł odebrać nowo wykopany blok szybciej niż zwykłe, ale do zwykłych klientów nadal będzie go wysyłać w całości.

 

Różnice w pobieraniu nowych bloków są zauważalne przede wszystkim w węzłach, które mają niską przepustowość/duże opóźnienia w transmisji. W przypadku szybkiego połączenia (10Mbit+) różnice w prędkości będą trudne do zauważenia. Zauważalne będzie natomiast na pewno zużycie łącza (ilość przesyłanych danych), ponieważ zamiast całego 1MB do przesłania bloku potrzeba będzie typowo 7-10kB informacji (w zależności od ilości transakcji zawartych w bloku).

 

Wprowadzenie tej zmiany nie pociąga za sobą żadnych zmian w samym łańcuchu bloków (nie ma konieczności wywoływania hard ani soft forka), jest to tylko zmiana na poziomie komunikacji pomiędzy węzłami. Nie zmieni się również poziom bezpieczeństwa sieci. Niewątpliwie jest to zmiana która powinna docelowo znaleźć się w klientach Bitocin.

 

Developerzy Bitcoin Core mają trudny orzech do zgryzienia. Najbardziej optymalną na obecną chwilę opcją, było by zaimplementowanie wszystkich usprawnień z XT, łącznie z wielkością bloku do oryginalnego klienta Core. Jednak developerzy Core mają jeszcze czas aby przedstawić swoją koncepcję na rozwiązanie tego problemu (wielkość bloku). Ostatnio pojawiły się nowe propozycje BIP105 oraz ciekawa BIP106 jednak, żadna nie spotkała się z oficjalną akceptacją.

 

Fotografia na licencji Creative Commons: Flickr.com

 

 

Bitcoina i inne kryptowaluty kupisz w prosty i bezpieczny sposób na giełdzie zondacrypto.

Tagi

Newsletter Bitcoin.pl

Więcej niż bitcoin i kryptowaluty. Najważniejsze newsy i insiderskie informacje prosto na Twój email.

Dbamy o ochronę Twoich danych. Przeczytaj naszą Politykę Prywatności