Sieć Bitcoin zaczyna łapać zasłużony oddech, co jest wynikiem rozwoju technologicznego. Shapeshift, portal stanowiący ok. 2% sieci Bitcoin, poinformował o wprowadzeniu łączenia transakcji („transaction batching”). Nad podobnym rozwiązaniem cały czas pracuje giełda Coinbase, której team ostatnio zaczął implementację SegWit. W tym artykule postaram się wytłumaczyć na czym polega łączenie transakcji i jaki jest jego wpływ na ostatnią poprawę funkcjonowania sieci Bitcoin.
Trochę historii
Rozwój popularności kryptowalut definitywnie odbił się czkawką Bitcoinowi. Sieć przez długi czas nie wytrzymywała dodatkowego obciążenia, czego wynikiem były między innymi wysokie opłaty transakcyjne. Powstało bardzo dużo alternatywnych kryptowalut mających na celu wykorzystanie problemów Bitcoina. Powodem tej sytuacji były parametry blockchaina najpopularniejszej kryptowaluty. Przypomnijmy je:
- Rozmiar bloku: 1MB
- Czas wydobycia bloku: ok. 10min
Są to ograniczenia, które determinują przepustowość sieci czyli maksymalną ilość transakcji potwierdzonych w danym okresie. Jak możemy zauważyć na poniższych wykresach, maksymalny rozmiar bloku został osiągnięty w czwartym kwartale 2016 roku, co odpowiadało około 2000 transakcji na blok (dokładna wartość nie istnieje, gdyż zależy od rodzaju transakcji przeprowadzanych przez użytkowników). Od tego momentu zaczęły się realne problemy z wysokością opłat transakcyjnych.
W ostatnim okresie można zauważyć spadek ilości transakcji potwierdzonych w bloku. Szczyt wykresu wypada w chwili, kiedy Bitcoin osiągał nowe maksima cenowe. Można więc to tłumaczyć spadkiem popularności. W tym też okresie systematycznie zaczęły spadać opłaty transakcyjne, co jest naturalne, gdyż blockchain funkcjonował w granicach swoich możliwości. Hipoteza wydaje się logiczna.
Jest to jednak tylko jeden z czynników powodujących poprawne funkcjonowanie sieci Bitcoin. Kolejnym jest wspomniane w temacie „transaction batching”. Potwierdza to stosunek „output/transaction”, który od pewnego czasu cały czas rośnie.
Łączenie transakcji- idea
Przedsiębiorca chce wysłać pieniądze do 10 kontrahentów. Normalnie musi on wykonać 10 osobnych przelewów. Każdy przelew zawiera sporo informacji wspólnych takich jak nadawca, czy konto z którego pieniądze wychodzą. W związku z tym sporo informacji się powiela, nie wspominając już o czasie straconym na żmudne wykonywanie tej samej czynności.
Teraz wyobraźmy sobie, że ta sama osoba może wykonać 10 płatności w jednej transakcji. W taki sposób nie powiela ona danych, oszczędzając czas i miejsce. Płatności zostają wykonane w taki sam sposób, tylko sprawniej. W ogromnym skrócie tak właśnie wygląda idea „transaction batching”.
Wpływ „transaction batching” na wysokość opłat transakcyjnych
Na przykładzie transakcji wytłumaczę rzeczywiste oszczędności wynikające z wykorzystania tej techniki. Ten sam przedsiębiorca chcący wysłać BTC do 10 swoich dostawców. Zakładając, że korzystałby on tylko z jednego wyjścia, jedna transakcja zajęłaby 226 bajtów. Należy wykonać 10 takich transakcji co powoduje, że sumarycznie zajmują one w łańcuchu bloków 2260 bajtów.
Łącząc transakcje ta sama operacja zajęłaby w łańcuchu bloków 532 bajty. Jak możemy zauważyć, jest to ponad czterokrotna oszczędność miejsca. Uzyskany efekt jest taki sam, gdyż wszyscy kontrahenci otrzymali należne środki. Sposób osiągnięcia efektu jest jednak zdecydowanie wydajniejszy. Skutkiem ubocznym jest zmniejszenie opłat transakcyjnych z dwóch powodów:
- Wykonywanie transakcji o mniejszym sumarycznym rozmiarze (Twoja transakcja jest mniejsza)
- Zwiększenie przepustowości sieci
Dla przykładu pokażę porównanie opłat transakcyjnych, które pobierają różne giełdy. Radzę zwrócić uwagę na to, z jak niskich opłat korzystają użytkownicy serwisu ShapeShift, który ostatnio wprowadził tę innowację ( dane z dnia 22 lutego 2018r. )
Czy mogę skorzystać z „transaction batching”?
Tak, każdy może zoptymalizować swoje transakcje w taki sposób. Wysyłając transakcję w Electrum należy wpisać adresy i ilości BTC przedzielone przecinkiem, jak na obrazku poniżej.
Bez kategorii, Bitcoin, Blockchain, Kryptowaluty