za

Zwiększenie maksymalnej wielkości bloku – kolejne propozycje: BIP105, BIP106

2015-10-29
Techniczne

W środowisku Bitcoin nadal nie widać porozumienia, co do sposobu zwiększenia wielkości bloku. Jak już pisaliśmy wcześniej, zwiększenie wielkości ponad obecny 1MB wydaje się być konieczne i nieuniknione. Niestety, nawet sami developerzy Bitcoin nie są zgodni jak ten proces ma być przeprowadzony oraz jak ustalić wielkość bloku.

 

 

 

W środowisku Bitcoin nadal nie widać porozumienia, co do sposobu zwiększenia wielkości bloku. Jak już pisaliśmy wcześniej, zwiększenie wielkości ponad obecny 1MB wydaje się być konieczne i nieuniknione. Niestety, nawet sami developerzy Bitcoin nie są zgodni jak ten proces ma być przeprowadzony oraz jak ustalić wielkość bloku.

 

Pojawiły się kolejne „drafty” w propozycjach BIP o numerach 105 i 106 odnoszące się do zmiany wielkości bloku.

 

BIP105

 

BIP105 jest autorstwa BtcDrak. Propozycja zakłada 1MB „startową” wielkość bloku, a kolejne zwiększanie (lub zmniejszanie) wielkości bloku miałoby zależeć od głosowania kopalni.

 

Kopalnie umieszczałyby specjalny wpis w transakcji generacji bloku (jak BIP34) zawierający „żądaną” nową wielkość bloku. W przypadku głosowania na zwiększenie wielkości bloku, POW (proof of work, trudność) bloku musi być proporcjonalnie większa – np. jeżeli obecnie blok ma 1MB a głosujemy na 2MB (x2) to trudność tego bloku również jest 2x większa. Przy głosowaniu na zmniejszenie lub pozostawienie obecnej wielkości trudność nie zmieniałaby się.

 

Zmiana wielkości bloku następowałaby co 2016 bloków na wartość średnią ze wszystkich głosów zawartych w ostatnich 2016 blokach.

 

Pozostałyby jednak „twarde” limity w wysokości min 1MB i max 8MB wielkości bloku. Gdyby w przyszłości okazało się konieczne zwiększenie wielkości bloku do ponad 8MB, konieczny byłby kolejny hard-fork.

 

BIP106

 

Autorem BIP106 jest Upal Chakraborty. Zawiera on dwie wersje sposobu modyfikacji wielkości bloku, obie bazujące na danych zawartych w blokach transakcji.

 

Pierwsza wersja zakłada 2x zwiększenie wielkości bloku w przypadku, gdy średnie zapełnienie ostatnich bloków przekracza 90%, lub 2x zmniejszenie wielkości bloku gdy średnie zapełnienie jest mniejsze niż 50%. Zmiany wykonywane byłyby przy zmianie trudności a brane pod uwagę 2000 bloków po ostatniej zmianie trudności.

 

Druga wersja zakłada branie pod uwagę zebrane w transakcjach opłaty dla górników oraz przeprowadza bardziej płynną regulację zmiany wielkości bloku (proporcjonalnie do bieżącego zapełnienia). Zmiana nie byłaby wykonywana w przypadku, gdy nie wzrastały wpływy z opłat transakcyjnych (zwiększenie nie może być wykonywane gdy opłaty nie rosną, zmniejszenie może być przeprowadzone tylko gdy spadają).

Pseudokod opisujący działanie algorytmu:

 

 

ŁącznaWielkośćBloków1= Suma wielkości pierwszych 2008 bloków w 2 ostatnich zmianach trudności

ŁącznaWielkośćBloków2= Suma wielkości drugich 2008 bloków w 2 ostatnich zmianach trudności

ŁączneOpłaty1= Suma opłat transakcyjnych z pierwszych 2008 bloków w 2 ostatnich zmianach trudności

ŁączneOpłaty2= Suma opłat transakcyjnych z drugich 2008 bloków w 2 ostatnich zmianach trudności

Jeżeli ((( suma wielkości pierwszych 4016 bloków w 2 ostatnich zmianach trudności)/4016 > 50% MaxWielkośćBloku) ORAZ (ŁączneOpłaty2>ŁączneOpłaty1) ORAZ (ŁącznaWielkośćBloków2>ŁącznaWielkośćBloków1)) TO

MaxWielkośćBloku= ŁącznaWielkośćBloków2* MaxWielkośćBloku/ ŁącznaWielkośćBloków1

Inaczej Jeżeli(((suma wielkości pierwszych 4016 bloków w 2 ostatnich zmianach trudności)/4016<50% MaxWielkośćBloku) ORAZ (ŁaczneOpłaty2<ŁączneOpłaty1) ORAZ (ŁącznaWielkośćBloków2<ŁącznaWielkośćBloków1)) TO

MaxWielkośćBloku=ŁącznaWielkośćBloków2* MaxWielkośćBloku/ ŁącznaWielkośćBloków1. Inaczej pozostaw MaxWielkośćBloku

 

Żaden z BIP-ów zmieniających wielkość bloku nie doczekał się nadal powszechnej akceptacji i implementacji w kodzie Bitcoin Core.

 

Warto tu też wspomnieć o Bitcoin XT którego popularność z czasem maleje. Liczba nodów zgodnych z XT systematycznie spada a większość tych które pozostały (umieszczone na popularnych hostingach), są w rękach pewnej grupy ludzi. Ryzyko rozłamu Bitcoina wydaje się więc nieaktualne.

 

Na szczęście same prace nad zwiększeniem rozmiaru bloku wciąż trwają. Obecnie nawet wśród developerów Bitcoin Core nie mówi się już “czy” ale “jak” zwiększyć maksymalny rozmiar bloku a sam pośpiech nie jest ani wskazany ani na obecną chwilę wymagany, jednak ze względu na możliwość nagłego przyrostu użytkowników, zmiana wielkości bloku powinna zostać zaimplementowana w ciągu kilku najbliższych miesięcy.

 

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