za
fork

Kryzys w społeczności i konflikt deweloperów czyli Bitcoin Core vs Bitcoin XT

2015-08-18
Techniczne

Problem zwiększenia limitu wielkości bloków poruszany był już wiele razy w czasie ostatnich kilku miesięcy. Mimo wielu różnych propozycji do tej pory developerzy jak i sama społeczność nie doszli do konsensusu. Efektem braku porozumienia jest obecnie trwający kryzys zarówno wśród podzielonej społeczności jak i samych developerów oraz gorąca dyskusja na forach internetowych.

 

 

 

Problem zwiększenia limitu wielkości bloków poruszany był już wiele razy w czasie ostatnich kilku miesięcy. Mimo wielu różnych propozycji do tej pory developerzy jak i sama społeczność nie doszli do konsensusu. Efektem braku porozumienia jest obecnie trwający kryzys zarówno wśród podzielonej społeczności jak i samych developerów oraz gorąca dyskusja na forach internetowych.

 

Obecny kryzys jest niewątpliwie jednym z największych kryzysów w historii Bitcoina, dotyczy zarówno przyszłości samego projektu jak i jego fundamentalnych założeń.

 

Wraz z rosnącą popularnością Bitocina, ilość transakcji również rośnie zbliżając się do limitu. Jeśli Bitcoin ma być powszechnie używany a jego popularność dalej rosnąć, zwiększenie maksymalnej wielkości bloków jest konieczne.

 

Więcej na ten temat w poprzednim artykule na bitcoin.pl

 

Przypomnijmy jakie propozycje zmiany bloków pojawiły się do tej pory:

 

  • BIP100 – autor: Jeff Garzik – 1MB zostaje do stycznia 2016 roku, kopalnie głosują wielkość bloku, zmiana w góre lub w dół co 3 miesiące, maksymalna zmiana: x2 . Maksymalna wielkość bloku: 32MB.
  • BIP101 – autor: Gavin Andresen- hardfork do 8MB w styczniu 2016 po zaznaczeniu 750 z 1000 ostatnich bloków jako zgodne z BIP przez kopalnie, blok rośnie x2 co 2 lata aż do 8GB w 2036r.
  • BIP102 – autor: Jeff Garzik – wprowadzenie max 2MB w listopadzie. Ewentualne kolejne zmiany to kolejne hardforki.
  • BIP103 (nieoficjalny) – autor: Pieter Wuille – od stycznia 2016 blok rośnie co 3 miesiące o 4.4% (17,7% rocznie) do roku 2063.

 

Cały spór wynikł z powodu braku konsensusu właśnie co do zmiany maksymalnego rodzaju bloku.

 

Społeczność i developerzy podzielili się na dwa fronty: Bitcoin Core i Bitcoin XT

 

Dlaczego powstał Bitcoin XT?

 

Projekt alternatywnego klienta (fork Bitcoin Core) o nazwie Bitcoin XT zawierającego zmianę maksymalnego rozmiaru bloku stworzony został przez Gavina Andresena czołowego developera Bitcoin oraz Mikea Hearna (były pracownik Google). Bitcoin XT powstał z powodu braku konsensusu co do kwestii rozmiaru bloku (i nie tylko) i ma być sposobem na wymuszenie wprowadzenia tej zmiany (i nie tylko tej) wbrew woli jego przeciwników.

 

Gavin i Hearn nie są zadowoleni z obecnej formy i modelu współpracy z innymi developerami gdyż jak uważają hamuje on rozwój projektu. W dodatku zarzucają innym developerom podburzanie społeczności bitcoinowej przeciwko proponowanym przez nich zmianom.

 

Model ten rozpada się w chwili kiedy pojawiają się nawet niewielkie różnice poglądów i wizji ponieważ pozwala każdemu – w tym ludziom, którzy prawie nie przyczyniają do rozwoju projektu – zablokować wszelkie zmiany” – powiedział Hearn w wywiadzie dla CoinDesk

 

Gavin i Hearn chcą również zhermetyzować grupę odpowiedzialną za rozwój projektu i mającą decydujący wpływ na jego funkcję. Według nich zbyt duża liczba developerów rodzi spory i hamuje rozwój, dlatego za Bitcoinem powinien stać jeden opiekun który podejmuje decyzję i nadzoruje pracę innych developerów.

 

BitcoinXT – 2 fork or not 2 fork?

 

16 sierpnia fork bitcoin Core o nazwie BitcoinXT przyjął poprawkę Gavina Adresena (BIP101) do swojego kodu i tym samym odłączył się znacznie od głównego kodu Bitcoin Core.

 

Jak już pisaliśmy wcześniej, powstało kilka wersji zmian w kodzie Core wprowadzających zwiększenie maksymalnej wielkości bloku powyżej 1MB. Jednak żadna z propozycji nie została dołączona do głównego kodu Core, przez co zwiększenie wielkości bloku nie jest w żaden sposób zaplanowane czy zaakceptowane przez deweloperów Bitcoin.

 

Oznacza to, że kopalnie używające wersji XT od momentu włączenia zmiany przestaną być kompatybilne z pozostałymi klientami Core ze względu na produkowanie bloków większych, niż dopuszczalne w Core 1MB. Oczywiście włączenie tejże zmiany jest możliwe tylko, jeżeli kopanie zaakceptują zmieniony kod Core i będą wersji XT używać. Bowiem nawet wersja XT nie będzie tworzyć nowych, większych bloków, jeżeli większość kopalni nie będzie oznaczać swoich bloków jako zgodnych z tą zmianą. Może to nastąpić najwcześniej w styczniu 2016, ale tylko pod warunkiem że wcześniej 750 z 1000 kolejnych bloków (75% mocy sieci) będzie oznaczonych jako zgodnych ze zmienionym protokołem.

 

Wraz ze zbliżającym się terminem włączenia tej zmiany, jeżeli będą pojawiały się kolejne bloki z nią zgodne, główny kod Core również będzie musiał zostać zaktualizowany – większość sieci Bitcoin będzie „przejęta” przez nowy kod.

 

Oprócz kontrowersyjnej zmiany kod BitoinXT zawiera również kilka innych funkcji których nie ma oryginalny Core:

 

  • Przesyłanie transakcji double-spend. Wydaje się to nielogiczne, ale czasami przesłanie kolejnej transakcji „przykrywającej” wcześniejszą jest niezbędne. Transakcje takie są w interfejsie zaznaczane na czerwono, tak że osoba otrzymująca środki zagrożone podwójnym wydaniem są o tym fakcie informowane. Standardowy węzeł Core po prostu odrzuca kolejne niepotwierdzone transakcje z podwójnym wydaniem i nie informuje o tym fakcie użytkownika.
  • -Możliwość pobierania konkretnych danych UTXO (niewydane wyjścia). Daje to możliwość poprawnego działania aplikacji tworzących transakcje w kilku częściach/krokach, na przykład aplikacja croudfundingowa Lighthouse która używa transakcji częściowych „każdy może zapłacić” (SIGHASH_ANYONECANPAY) które są podpisywane przez wiele węzłów w sieci.
  • Zmiany w zakodowanych węzłach głównych DNS (DNS seed) – usunięto niedziałający i dodano nowe


Kod dostępny na https://github.com/bitcoinxt/bitcoinxt

 

 

Kto jest z kim?

 

Developerzy za Bitcoin XT: Gavin Andressen, Mike Hearn

 

Neutralni: Jeff Garzik

 

Przeciw: Dr Adam, Dr Nick Szabo , Gregory Maxwell , Dr Pieter Wuille , Wladimir J. van der Laan , Matt Corallo ,Peter Todd , Luke-Jr (Core Developer)

 

 

Konflikt Bitcoin Core VS Bitcoin XT

 

Z powodu między innymi braku konsensusu co do maksymalnej wielkości bloku utworzyły się dwa fronty: Bitcoin Core i Bitcoin XT.

 

Co ciekawe developerzy (a przynajmniej część ) z Bitcoin Core również nie wykluczają zmiany maksymalnego rozmiaru bloku lecz bardziej przychyli są nowemu BIP103 któremu zaś przeciwni są Gavin i Hearn. Problem nie jest tu więc sama potrzeba zmiany w protokole lecz brak porozumienia i wspólnego języka w tej i innych kwestach.

 

Przeciwnicy (społeczność) BitcoinXT uważają również, że jest to klon Bitcoina czyli zupełnie inna waluta ( altcoin ) a wszelkie poważne zmiany wymagające hardforka podważają sens jego istnienia i zaufanie. Według nich równie dobrze, można w ten sposób zwiększyć liczbę wszystkich Bitocinów które mają być w obiegu dewaluując wartość już tych wydobytych. Jednak Bitcoin jest nadal projektem w wersji Beta. Po 6 latach fazy testowej wiemy już, że potrzebuje zmian. Satoshi Nakamato nie mógł wszystkiego przewidzieć a pewne założenia zweryfikował czas.

 

Developerzy Bitcoin Core widzą jednak inne zagrożenie dotyczące centralizacji środowiska developerskiego proponowanego przez Gavina. Według nich rozwój Bitcoina musi opierać się na konsensusie i to jest jego fundamentalną wartością. Gavin zaś chce z konsensusu zrezygnować i stać się Bitcoinowym dyktatorem. Jednym słowem z bitcoinowej demokracji zrobić monarchię. Według Gavina ma to przyspieszyć dokonywanie ważnych zmian w protokole gdyż obecny model współpracy między developerami blokuje i zuboża jego rozwój.

 

Developerzy Bitcoin Core widzą w tym jednak wielkie zagrożenie dla przyszłości Bitcoina i możliwość jego późniejszej regulacji. Model proponowany przez Gavina i Haerna powoduje centralizację developerów która w połączeniu z centralizacją miningu (decydujące 75% mocy sieci) staję się niebezpieczna dla całego projektu. W tym miejscu ciężko się nie zgodzić. Nie trudno sobie wyobrazić sytuację kiedy przekupiony/zastraszony developer działa na niekorzyść idei Bitcoina.

 

Nie da się ukryć, że obie strony mają swoje racje. Brak porozumienia w środowisku developerów hamuje rozwój Bitcoina i opóźnia ważne zmiany w protokole. Jednak nie można tolerować zachowań takich jak Gavin gdyż są niebezpieczne dla przyszłości i wiarygodności projektu oraz są zaprzeczeniem idei Bitcoina opartej na konsensusie.

 

Brudne zagrywki developerów i zwoleników Bitcoin Core

 

Moderatorzy największych for bitcoinowych na reddicie i Bitcointalk przez ostatnie dni ostro i bezwzględnie cenzurują wszystkie posty na temat Bitcoina XT. Głównie to spowodowało największą burzę wśród społeczności i dodało przysłowiowej oliwy do ognia.

 

W dodatku developerzy Bitcoin Core a głównie Adam Back chcą sabotować przejście na przyszłe forki za pomocą zmian w kodzie (soft forka).

 

Społeczność Bitcoinowa zważyła też, że część developerów Bitcoin Core pracuje dla BlockStream który otrzymał niedawno 21mln funduszy. Rodzi się tu podejrzenie, że mogą oni działać na niekorzyść samego Bitcoina promując i rozwijając jego kosztem projekt BlockStream.

 

Wszystko to zraziło część społeczności do developerów Bitcoin Core na korzyść Bitcoin XT. Trzeba przyznać, że developerzy Bitcoin Core mimo iż są świetnymi specjalistami w swojej dziedzinie jednak mają problemy natury społecznej.

 

Co konflikt i Bitcoin XT oznacza dla przeciętnego użytkownika

 

W obecnej chwili już 10% wszystkich nodów jest zgodna z Bitcoin XT. Można to na bieżąco sprawdzać na stronie http://xtnodes.com/. Jeżeli chodzi o kopalnie to w tej chwili żadna nie zdecydowała się na wspieranie forka Bitcoin XT.

 

Czy niesie to za sobą jakieś komplikacje? W tej chwili nie, klient Bitcoin XT jest całkowicie kompatybilny z głównym łańcuchem bloków. Transakcje wysłane z portfela Bitcoin XT przejdą do Bitcoin Core i odwrotnie. W tej chwili nie ma powodu do żadnych obaw nawet jeśli procentowo nody Bitcoin XT przewyższą ilość nodów Bitcoin Core.

 

Sytuacja zmieni się nieco w 2016. Wtedy jeśli 75% kopalń uzna, że Bitcoin powinien przejść na nowy fork tak się stanie (devowie powinni zająć się problemem centralizacji miningu). W chwili gdy to się stanie transakcje wysłane z klientów Bitcoin Core do Bitcoin XT i odwrotnie przestaną być kompatybilne gdyż będą pracować na oddzielnych łańcuchach bloków. Ci co chcą dalej korzystać z Bitcoina a raczej Bitcoin XT będą zmuszeni do zmiany klienta.

 

Sytuacja może się skomplikować w chwili kiedy społeczność podzieli się i zostanie przy swoim wybranym forku nie uginając się pod presją zmiany klienta. Mielibyśmy wtedy 2 niekompatybilne ze sobą waluty Bitcoin Core oraz  Bitcoin XT. Rodzi się pytanie który będzie tym właściwym Bitcoinem…. Czy ten, który ma więcej zwolnników czy też z oryginalnym łańcuchem?

 

Ze strony Bitcoin.pl zachęcamy aby przy ocenie obydwu stron porzucić emocje i podejść do sprawy racjonalnie. Każda strona ma swoje racje które ciężko podważyć jednak są ze sobą sprzeczne. Miejmy nadzieję, że idea konsensusu jaka towarzyszyła powstaniu Bitcoina i którą chciał przesłać nam Satoshi Nakamoto zostanie jednak zachowana i obecny spór zostanie rozwiązany.

 

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