za
bitpay send

BitPay przedstawia propozycję algorytmu regulującego wielkość bloku

2016-01-09
Techniczne
1,5% dla maluszka

Dyskusja o zwiększeniu wielkości bloku zatacza co raz szersze kręgi. Mamy coraz więcej powtarzających się głosów mówiących, że jednorazowe zwiększenie wielkości bloku to za mało. Sami developerzy nie mogą dojść do konsensusu który zadowolił by wszystkich i definitywnie rozwiązał problem. Ostatnio głos w tej sprawie zabrał CEO BitPay Stephen Pair.

 

 

Dyskusja o zwiększeniu wielkości bloku zatacza co raz szersze kręgi. Mamy coraz więcej powtarzających się głosów mówiących, że jednorazowe zwiększenie wielkości bloku to za mało. Sami developerzy nie mogą dojść do konsensusu który zadowolił by wszystkich i definitywnie rozwiązał problem. Ostatnio głos w tej sprawie zabrał CEO BitPay Stephen Pair.

 

Jego zdaniem istniejący „twardy” limit 1MB jest elementem powstrzymującym dalszy rozwój sieci Bitcoin. Gdyby któraś kopalnia tworzyła bloki większe zostałyby one odrzucone przez pozostałe węzły sieci jako niezgodnie z istniejącymi zasadami konsensusu, któremu muszą podlegać węzły. Limit ten uniemożliwia sieci dostosowanie się do zmieniających się warunków panujących na rynku, i przez to nie daje możliwości dalszego rozwoju sieci z którym wiąże się rosnąca ilość transakcji.

 

Proponowane jednorazowe zwiększenie maksymalnej wielkości bloku da tylko tymczasowy efekt, a jego wprowadzenie i tak wymusza sporo zmian w środowisku bitcoina. Ciągnąca się od dłuższego czasu debata nie wypływa pozytywnie na wizerunek Bitcoina, a jednorazowa zmiana wystarczy na kolejny rok czy dwa nadal nie rozwiązując problemu ostatecznie. Nie jesteśmy w stanie przewidzieć ruchów jakie wykona rynek w najbliższym czasie, i bardzo niedługo ta sama dyskusja może rozpocząć się od nowa.

 

Propozycja BIP101, która zwiększa wielkość bloku i później zwiększa go co pewien czas, nie ma większego poparcia wśród górników, jako zbyt agresywna. Jeżeli technologia nie nadąży za założeniami BIP101, górnicy nie będą w stanie określić jaki jest realny, praktyczny, limit wielkości bloku. BIP100 jest dużo lepszy dla górników, wymaga jednak od nich aktywnego głosowania nad kolejną zmianą. Sam pomysł, aby użyć bloku do głosowania (jak robi to BIP100) w temacie konsensusu jest bardzo dobry, w podobny sposób działa przecież regulacja trudności w sieci. Górnicy potrzebują prostego, lecz adaptatywnego, mechanizmu określania limitu wielkości bloku.

 

Wśród wszystkich metod które BitPay analizowało, najbardziej sensowną wydaje się być prosty limit adaptacyjny bazujący na medianie wielkości ostatnich bloków. Aby określić aktualną maksymalną wielkość bloku obliczamy medianę wielkości bloków za określony okres i mnożymy ją przez stałą wartość. Na przykład, można by użyć 2x medianę wielkości ostatnich 2016 bloków.

 

Podobne rozwiązanie stosowane jest w Etherum (które używa wykładniczej średniej kroczącej zamiast prostej mediany). Przedstawionych jest obecnie klika propozycji automatycznego obliczania limitu które są niepotrzebnie skomplikowane.

 

Oprócz górnego (twardego) ograniczenia można zastosować dodatkowe, niższe (miękkie) ograniczenie, które mógłby stosować górnik w celu ograniczenia wielkości bloku jaki chce wydobywać (obecnie domyślnie jest 750kb z 1MB). Limit ten powinien być łatwy w konfiguracji i pozwalałby górnikowi wpływać na przyszłą wartość limitu górnego.

 

Domyślna wartość „miękkiego” mnożnika powinna być rozsądnie dobrana pomiędzy 1 a wartością mnożnika „twardego” (np. 1.5). Jeżeli górnikowi zależałoby na zmniejszeniu wartości bloku brałby mnożnik mniejszy, a gdyby chciał „głosować” za podniesieniem limitu jeszcze wyżej – większy. Uproszczone wzory realizujące te obliczenia (n to ilość bloków z wielkości których obliczamy medianę):

 

limit = m * mediana(n)

soft_limit = sm * mediana(n)

 

Wartość „m” i „n” muszą być zawarte w regułach konsensusu, natomiast „sm” jest wartością konfigurowalną z sensowną wartością domyślną. Sposób obliczania wartości mediany (np. zaokrąglenia) oraz jak często obliczamy nową maksymalną wielkość (np. co blok lub co n bloków) również musi być zawarte w regułach konsensusu. Obecny limit 1MB stałby się dolną, minimalną wartością ograniczenia.

 

Wybór mediany zamiast zwykłej średniej nie pozwala górnikom na łatwe manipulowanie wielkością limitu przez zapychanie bloków własnymi transakcjami lub odwrotnie – produkowaniem „pustych” bloków, bez transakcji. Aby mieć wpływ na medianę, ponad 50% mocy sieci musiałoby współpracować w danym kierunku. Oczywiście, jeżeli ktoś kontroluje ponad 50% mocy to Bitcoin ma większe problemy niż ustalenie nowej maksymalnej wielkości bloku.

 

Przy zastosowaniu tej metody, przepustowość sieci Bitcoin może się dostosować do wymagań jej użytkowników, nadal pozostając związany obecnymi ograniczeniami skalowalności. Produkując większe bloki górnicy spodziewają się większej ilości osieroconych bloków („orphanów”). Przy wzroście ich liczby górnicy dostosowują wielkość produkowanych bloków do swoich możliwości i zaczynają dobierać transakcje jakie chcą dołączyć. Mogą też płacić użytkownikom za zwiększanie skalowalności (np. za stawianie nowych węzłów).

 

BitPay zapowiada, że będzie nad tym podejściem eksperymentować. Przeprowadzą symulacje na danych historycznych, jak wpływa mają różne wartości ustawień mnożników. Będą również analizować zachowanie algorytmu w warunkach brzegowych i z punktu widzenia teorii gier. Prace nad kodem można śledzić w ich repozytorium forka Bitcoin pod adresem https://github.com/bitpay/bitcoin Jeżeli ich obliczenia będą wskazywały, że jest to dobry kierunek rozwoju, będą przekonywać o tym innych (zwłaszcza górników).

 
 

 

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