za
stresstest3

„Stress test” sieci Bitcoin – zmiana polityki CoinWallet.eu

2015-09-10
Techniczne
Nexo Earn Aplikacja

Zaplanowany test obciążenia sieci Bitcoin budzi wiele kontrowersji. Firma, która robi sobie w ten sposób reklamę (CoinWallet) zmieniła właśnie sposób jego przeprowadzania na bardziej “szkodliwy” dla sieci. 

 

 

Zaplanowany test obciążenia sieci Bitcoin budzi wiele kontrowersji. Firma, która robi sobie w ten sposób reklamę (CoinWallet) zmieniła właśnie sposób jego przeprowadzania na bardziej “szkodliwy” dla sieci.

 

Do testu były już przygotowane „odpowiednie” ilości adresów zawierających monety rozbite na bardzo wiele wejść o małej wartości (np. 0.00001 BTC czyli mniej niż grosz) z których firma miała realizować łączone transakcje. Tym razem jednak zdecydowano się na prowadzenie testu za pomocą samych użytkowników BTC. Na największym forum bitcointalk.org CoinWallet publikuje kolejne klucze prywatne do tych adresów, pozwalając tym samym użytkownikom na zabieranie z nich środków. Jako, że jest to wiele wejść o małej wartości, przesłanie całej zawartości danego adresu w jednej transakcji jest niemożliwe. To użytkownicy muszą znaleźć sposób jak zabrać monety z tych adresów tracąc jak najmniej po drodze.

 

Oczywiście, ponieważ klucze są udostępnione publicznie, każdy może wybrać „swoją” taktykę pobierania monet i w sieci pojawia się wiele transakcji wzajemnie się wykluczających. Mamy w ten sposób przeprowadzony zmasowany atak double-spend znacznie obciążający wszystkie pełne węzły Core oraz kopalnie, które muszą zdecydować które z transakcji pobrać do bloku a które odrzucić. W sieci krążyć więc będzie coraz więcej transakcji, z których wiele będzie „znikać” po każdym bloku, gdy zużyte będą kolejne wejścia z adresów.

 

Jest to spore wyzwanie dla samych użytkowników, ponieważ samo zaimportowanie takiego adresu obciążonego kilkoma setkami (a nawet tysiącami) dużych transakcji wejściowych (w bajtach) o znikomej wartości (w BTC) zajmuje sporo czasu. Następnie użytkownik musi wybrać ilość monet jakie chce przesłać i jaką prowizję zapłacić. Ponieważ powstaje duża transakcja o małej wartości mamy szansę na stworzenie transakcji niestandardowej, która nie będzie prawidłowo propagowana i nie zostanie dołączona do bloku.

 

Dodatkowo, część transakcji przychodzących na te adresy również jest jeszcze nie potwierdzona, powstają więc łańcuchy wzajemnie powiązanych transakcji. Może powstać na przykład sytuacja, gdzie transakcja wychodząca z adresu ma większą niż zwykle opłatę ale używa wejść, które nie są jeszcze zatwierdzone. W takiej sytuacji kopalnia chcąc przyjąć „dobrą” opłatę musi wcześniej dołączyć do bloku „słabo opłacalną” transakcję.

 

Ciężko przewidzieć, jak długo może potrwać czyszczenie tych adresów, nie wiemy też jak dużo CoinWallet ma ich w zanadrzu. Może się okazać, że użytkownicy zrobią więcej transakcji (i bardziej obciążą sieć) niż CoinWallet sam by wygenerował.

 

Przykładowo, zabranie 1mBTC (0.001BTC czyli około 90 groszy) z opłatą 0.1mBTC daje nam transakcję o 110 wejściach i łącznej wielkości około 20kB. Chcąc zabrać 0.01BTC mamy już transakcję 200kB która jest niestandardowa (standardowa transakcja to max 100kB) i nie zostanie dołączona do bloku. Jeśli zaś taka transakcja o bardzo małej wartości nie przekroczy 100kB, zostanie dołączona do bloku powiększając małym kosztem łańcuch bloków oraz zapychając bloki, które mogą pomieścić kilka takich transakcji.

 

 

 

 

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