za
stop-spam1

Stress Test sieci Bitcoin zakończony – wnioski

2015-06-23
Techniczne
European Halving Party 2024

Zapowiadany przez CoinWallet.eu, “stress test” sieci Bitcoin rozpoczął się wczoraj (22.06.2015) o 16:00 czasu polskiego. Nie wszystko jednak poszło zgodnie z planem.

 

 

Zapowiadany przez CoinWallet.eu, “stress test” sieci Bitcoin rozpoczął się wczoraj (22.06.2015) o 16:00 czasu polskiego. Nie wszystko jednak poszło zgodnie z planem.

 

Jak podaje CoinWallet.eu, test został nieoczekiwanie przerwany o godzinie 19:00. Powodem było zawieszenie się serwerów z demonem BitconD. Jak twierdzą przedstawiciele firmy, po zrestartowaniu serwerów nie udało się już wygenerować zaplanowanej ilości transakcji, jednak test przeprowadzany był dalej. Zakończył się około 3:00 w nocy czasu polskiego.

 

Jednak przez przynajmniej 3 godziny test działał prawidłowo zgodnie z założeniami. Jakie wnioski możemy wyciągnąć z tych 3 godzin ?

 

Spodziewanej przez niektórych tragedii nie było. W czasie testu między 16:00 a 19:00 wysłaliśmy kilkanaście testowych transakcji po 0.0001BTC i z takim samą standardową prowizją. Transakcje najczęściej potwierdzane były w drugim bloku, niektóre już po pierwszym, zdarzyło się też raz, że transakcja potwierdzona została dopiero po trzech blokach. Właściwie, ktoś kto nie wiedział o teście mógł nawet tego nie zauważyć. Transakcje z niską prowizją lub niskim priorytetem mogły zaś potwierdzać się po 5-6 bloku.

 

Obserwowaliśmy też stan sieci oraz liczbę i rozmiar transakcji które czekają w kolejce na potwierdzenie. Transakcje te możemy na bieżąco śledzić np. na blockchain.info

 

Dlaczego transakcje czekają w kolejce i czy jest to normalne ?  Jak wiemy blok w którym zawierane są transakcje wpada średnio co 10 minut. Może się zdarzyć też, że odstęp między blokami dojdzie do godziny i dłużej. Wszystkie nowe transakcje czekają na nowy blok (aby zostały w nim zawarte) czyli w kolejce i jest to standardowa procedura. Średnio w normalnych warunkach w takiej kolejce przebywa około 1000-3000 transakcji które zajmują około 0.4 – 2 MB.

 

Jak sytuacja przedstawiała się w czasie testu ?

 

Do godziny 19:00 czyli w trakcie tej części testu który przebiegał rzekomo prawidłowo ilość transakcji oscylowała w granicach średnio 3000-8000 transakcji o wielkości 4-6MB. Liczba ta zależała od szczęścia i częstotliwości z jaką wpadały następujące bloki.

 

W czasie testu mieliśmy też jeden bardzo długi blok trwający 54 minuty. Ilość transakcji w kolejce doszła prawie do 9000 o rozmiarze 6MB. Kolejne 2 “szybkie bloki” rozładowały kolejkę do 2800 transakcji, czyli szło dość sprawnie. Nie zaobserwowaliśmy stałego i ciągłego odkładania się transakcji w kolejce.

 

Podczas drugiej i jak podaje CoinWallet niepełnej części testu, wielkość niepotwierdzanych transakcji wyniosła maksymalnie 15MB, Zamiast spodziewanych 200MB.

 

Kolejny test zapowiedziany jest w przyszłym tygodniu.

 

Czy test coś udowodnił ?

 

Tak, ale coś o czym powszechnie już wiadomo było od dawna. Sieć Bicoina jest podatna na Spam-ataki jednak są one kosztowne a ich czas działania jest chwilowy co sprawia, że są nieopłacalne. 20BTC przewidziane na ten test to za mało aby sparaliżować sieć. Chcąc to zrobić porządnie, należało by dać jeszcze większą niż CoinWallet prowizję tak aby mieć pewność, że transakcje służące do ataku będą miały większy priorytet niż standardowe transakcje większości użytkowników i będą uwzględniane w pierwszej kolejności przez kopalnie. Należało by też wydłużyć czas ataku aby doprowadzić do odłożenia się w kolejce jak największej ilości transakcji powodując odczuwalną irytację większej ilości użytkowników. Nie każdy użytkownik Bitcoina wykonuje przecież transakcje każdego dnia. Podczas takiego ataku, sami użytkownicy też mogą z nim walczyć ustawiając większą prowizję za przelew. Gdyby każdy użytkownik zwiększył prowizję x3, atak aby miał sens stałby się 3x bardziej kosztowny.

 

Test udowodnił też, że potrzebujemy większego bloku a najlepiej bloku zmiennego który dostosowałby się do aktualnych potrzeb. Ale o tym też wiadomo już od dawna i nad tym pracują developerzy. Warto też wspomnieć, że podniesienie rozmiaru bloku do 8MB zwiększyło by koszt i tak drogiego już spam-ataku 8 razy a na tego typu test mało kto mógłby sobie już pozwolić.

 

Czy są jakieś korzyści tego testu ?

 

Tak. Wielu użytkowników dzięki zainteresowaniu jaki wzbudził ten test miało okazję dowiedzieć się jak działa w praktyce sieć Bitcoina, że każda transakcja ma swój rozmiar w łańcuchu bloków, dlaczego potrzebne są prowizje, jak i po co transakcje trafiają do kolejki itd. Niewątpliwie dla wielu ten test miał charakter edukacyjny.

 

Dzięki testowi mogliśmy się też przekonać jak wiele kopalń zamiast pełnego 1MB generuje bloki po 731kB a należą do nich: Bitfury, GHash.IO, KnCMiner, BW.com, Slush, BTCChina Pool.

 

Najwięcej kontrowersji budzi zaś F2Pool który podczas gdy kilka tysięcy transakcji czekało w kolejce wypuścił kilka bloków po 1 transakcji – która zresztą zawiera nagrodę za znalezienie bloku. Tego typu praktyki gdy kopalnia filtruje transakcje lub zaniża wielkość bloku są znane od dawna, jednak test zwrócił na to uwagę wielu ludzi.

 

Przechwytywanie8

 

Przy okazji był to też sprawdzian dla najbardziej popularnego serwisu ze statystykami blockchaina – https://blockchain.info.  Większa niż zwykle ilość monitorowanych transakcji oraz duży ruch sprawił,  że serwis bardzo często był niedostępny lub nie działał prawidłowo.

 

Podsumowując test niczego nowego nie odkrył ani nic nowego nie udowodnił. Jednak nie był też całkiem bezużyteczny. Skłonił społeczność do rozmów zarówno jeśli chodzi o problem spamowanie sieci dla celów reklamowych lub w celu ataku, potrzebę zwiększenia bloku jak i praktyki nieuczciwych kopalń.

 

 

 

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