Niepotwierdzone transakcje bitcoin to problem, który tak naprawdę wypłynął na szerokie wody w grudniu 2017 r., podczas szaleńczego rajdu kursu bitcoina. Z powodu przeciążonych giełd i ataków DDoS, ogromna liczba 200 000 transakcji Bitcoin pozostawała niepotwierdzona przez ponad dzień!
Okazuje się zatem, że niepotwierdzone transakcje bitcoin to spory problem, zwłaszcza dla początkujących adeptów kryptowalutowej sztuki. Co zatem za tym stoi, jak je rozumieć i jak sobie z nimi radzić?
Transakcje, które „ugrzęzły”
Bitcoin to kryptowaluta oparta na algorytmie Proof-of-Work (PoW). Wszystkie transakcje w sieci Bitcoin są przeprowadzane z pomocą górników.
Po naciśnięciu przycisku „Wyślij” w dowolnej aplikacji portfela transakcja przechodzi do puli pamięci (lub po prostu „mempool” przed zarejestrowaniem w publicznej księdze – tylko górnicy są w stanie to zrobić).
Jednak, aby dana płatność została pomyślnie przetworzona, musi zostać potwierdzona przez górnika, który otrzymuje nagrodę blokową za każde potwierdzenie. Jeden blok reprezentuje zestaw danych dotyczących transakcji, które są wybierane przez górników (lub „węzły”). Do czasu potwierdzenia, transakcja pozostaje w pamięci.
Tu jest haczyk – bloki zawierają tylko ograniczoną liczbę transakcji. Przepustowość transakcji w sieci Bitcoin pozostaje jedną z najbardziej kontrowersyjnych kwestii w przestrzeni kryptograficznej.
Do czasu wprowadzenia SegWit rozmiar bloku był ograniczony do 1 MB (limit ten został wprowadzony przez nikogo innego, jak Satoshi Nakamoto).
Odnośnie bloków o większych rozmiarach:
Nagrody blokowe to chleb powszedni górników kryptowaluty. Dlatego też, jeśli nie chcesz dawać opłaty transakcyjnej (lub Twoja opłata jest śmiesznie mała), nie oczekuj, że jakikolwiek górnik odbierze twoją transakcję w mgnieniu oka. Jest duża szansa, że nie zostanie ona w takim przypadku przetworzona w ogóle.
Zrozumieć mempool
Mempool możesz rozumieć jako „pulę pamięci”. Krótko mówiąc, jest to miejsce, w którym wszystkie niepotwierdzone transakcje pozostają w zawieszeniu. Pula łączy wszystkie komputery podłączone do sieci Bitcoin przy pomocy oprogramowania do kopania bitcoinów. Wszystkie płatności, które nie zostały jeszcze potwierdzone, są przechowywane w pamięci RAM danego urządzenia. Jeśli rozmiar pamięci zbliża się do zajmowania całej pojemności pamięci RAM, węzeł jest w stanie automatycznie odrzucać wszystkie oczekujące żądania z niższymi opłatami.
Warto zauważyć, że mempool nie jest kolejką – różne węzły mają swój własny zestaw transakcji, które mają zostać potwierdzone, i są wyraźnie zachęcane do wybierania transakcji, które mają najwyższe opłaty eksploatacyjne.
Im bardziej popularny staje się BTC, tym większy jest rozmiar pamięci. Czy lepszy sprzęt zrobi różnicę? Nie. Modus operandi sieci Bitcoin zakłada, że każdy blok jest wydobyty co dziesięć minut (lub około), a ten sam okres nie zmieniłby się, nawet gdyby każdy górnik miał szansę na wyposażenie się w super potężny sprzęt.
Aby uzyskać pełny wgląd w aktualny stan pamięci, wystarczy odwiedzić stronę internetową niemieckiego inżyniera oprogramowania Jochena Hoenicke. Wyświetla on tam wszystkie opłaty transakcyjne Bitcoin wraz z aktualnym rozmiarem pamięci.
Jaka opłata transakcyjna Bitcoin jest dostatecznie wysoka?
Najbardziej oczywistym sposobem, aby dostać się na szczyt mempool’a i potwierdzić przelew, jest uiszczenie wyższej opłaty. Podczas boomu Bitcoin w grudniu 2017, niektórzy użytkownicy musieliby zapłacić 40-procentową opłatę za wysłanie pojedynczej płatności. Zapoczątkowało to ogromną debatę w społeczności Bitcoinów, gdzie niektórzy górnicy strzelali butelkami szampana (ich przychody gwałtownie wzrosły wraz z opłatami), ale inni byli głęboko zaniepokojeni, że wysokie opłaty mogą odbić się na akceptacji Bitcoin w sklepach detalicznych lub internetowych.
Jak jednak upewnić się, że opłata jest wystarczająco wysoka, aby transakcja została potwierdzona? Nie zawsze rozsądne jest przyjęcie jakiejkolwiek opłaty, która jest automatycznie sugerowana przez oprogramowanie portfela.
Istnieje strona internetowa o nazwie bitcoinfees.earn.com, która pomoże Ci obliczyć opłaty mierzone w satoshi za jeden bajt (satoshis / byte).
Ciemnoniebieska linia wskazuje liczbę przelewów, które przeszły przez mempool. To wyraźnie pokazuje, ile pieniędzy ludzie zapłacili, aby przeprowadzić transfer środków z sukcesem. Wszystkie transakcje o wysokim priorytecie pojawiają się w zielonym obszarze. Ci, którzy chcą zaoszczędzić pieniądze, mogą decydować się na mniejsze opłaty. Ich transakcje mogą być przetwarzane stosunkowo szybko, jeśli będą mieli szczęście, a cała pamięć zostanie wyczyszczona w mgnieniu oka.
Po prawej stronie możesz zobaczyć opóźnienie w minutach, które pokazuje, jak długo musisz czekać na przetworzenie transakcji. Następnie, jeśli nie uiścisz żadnej opłat, płatność zajmie nieskończoną ilość czasu, aby zostać potwierdzoną (mówiąc prosto – nigdy nie zostanie potwierdzona). Jeśli widzisz etykietę „Potwierdzone”, oznacza to wyraźnie, że transakcja została pomyślnie przetworzona (i staje się nieodwracalna).
Ile potrzebujesz potwierdzeń?
W rzeczywistości zależy to od wielkości płatności. Oto tabela, która wyraźnie pokazuje, że:
Rozmiar transakcji | Ilość potwierdzeń |
< 1000$ | wystarczy jedno potwierdzenie transakcji |
1000$ – 10.000$ | Taki transfer zazwyczaj wymaga około trzech potwierdzeń |
10.000$ – 1.000.000$ | Transakcja, która jest tak duża, musi zostać potwierdzona co najmniej sześć razy, zanim środki zostaną zdeponowane w portfelu odbiorcy. |
> 1.000.000$ | 50-60 potwierdzeń |
Uwaga! Konkretna liczba potwierdzeń zależy również od wybranej przez Ciebie giełdy. Na przykład Coinbase, najpopularniejsza giełda fiat-to-krypto na świecie, wymaga trzech potwierdzeń przed dokonaniem płatności.
Do tego dochodzi bezpośredni związek między potwierdzeniami a wybranym zasobem cyfrowym. Póki co mówimy wyłącznie o Bitcoinie. Jeżeli chodzi o o Coinbase, wszystkie transakcje przeprowadzane w ETH, ETC, a także ostatnio dodane ZRX i USDC, wymagają 50 potwierdzeń.
Jak radzić sobie z transakcjami, które pozostają niepotwierdzone?
Przed podjęciem dalszych kroków należy sprawdzić, czy transakcja została potwierdzona, czy nie. Po pomyślnym wysłaniu bitcoinów do portfela odbiorcy zostanie wygenerowany identyfikator transakcji.
Wybierz dowolny explorer Blockchain (na przykład Blockchain.info), aby zobaczyć wszystkie istotne informacje dotyczące Twojej transakcji.
Jeśli twoja transakcja pozostaje w zawieszeniu przez dłuższy czas, istnieją trzy sposoby na znalezienie wyjścia z tej sytuacji:
- Kontynuuj oczekiwanie na potwierdzenie (może upłynąć tydzień, zanim transakcja zostanie potwierdzona).
- Alternatywnie możesz po prostu usiąść i poczekać, aż transakcja wygaśnie po tym, jak zostanie porzucona z mempoola.
- Wreszcie, można również zastąpić już istniejącą transakcję poprzez „Zastąp przez opłatę” (Replace-By-Fee).
Replace-By-Fee (RBF) to proces tworzenia tej samej transakcji z wyższą opłatą, jeśli poprzednia nie została potwierdzona. Warto zauważyć, że już Satoshi wpadł na ten pomysł. Zdecydował się na odłożenie wprowadzenia tej funkcjonalności, niemniej jednak powróciła ona w Bitcoin Core 0.12+.
Mimo to ta praktyka jest nieustannie blokowana przez społeczność BTC z powodu faktu, że rzekomo niszczy zaufanie do transakcji, które pozostają w pamięci.
Uwaga! Początkujący użytkownicy Bitcoin powinni powstrzymać się od anulowania w ten sposób niepotwierdzonych płatności Bitcoin!
Anulowanie niepotwierdzonej transakcji Bitcoin
Należy pamiętać, że wszystkie transakcje BTC są nieodwracalne (dlatego należy uważnie sprawdzić wszystkie informacje o transakcji). Mając to na uwadze, niemożliwe jest anulowanie transakcji Bitcoin, ponieważ nie ma jednego scentralizowanego organu, który nimi zarządza.
Nie zapominaj, że lwia część portfeli kryptowalut ma wbudowany mechanizm zapobiegający podwójnemu wydatkowaniu (double spending). W rzeczywistości BTC jest pierwszą cyfrową walutą, która zdołała rozwiązać problem podwójnych wydatków. Sieć Bitcoin zapobiega temu za pomocą technik kryptograficznych.
Jednak w przypadku niepotwierdzonych transferów istnieje luka dla tych, którzy chcieliby podwoić wydatki. Jasno pokazał to użytkownik Reddita, Peter Todda, który próbował udowodnić, że niepotwierdzone transakcje Bitcoin nie są bezpieczne z powodu pewnych różnic w oprogramowaniu do wydobywania.
Niepotwierdzone transakcje bitcoin | sytuacja się poprawia
W porównaniu z grudniem 2017 r., kiedy liczba niepotwierdzonych transakcji Bitcoin była nieproporcjonalnie duża, entuzjaści kryptografii nie muszą już dłużej zmagać się z nudnymi opóźnieniami. Podczas gdy rzeczywista liczba bitcoinów stale rośnie, sama sieć jest mniej zatkana przez stosunkowo małą liczbę niepotwierdzonych transakcji. W 2018 r. szczyt w sieci Bitcoin został zarejestrowany 8 grudnia, kiedy w sumie 133 tys. oczekujących płatności znajdowało się w mempool.
Zmniejszenie obciążenia sieci zbiegło się z wydaniem Bitcoin Core 0.17.0. Aktualizacja nie jest jednak związana z emisją niepotwierdzonych transakcji BTC, pomimo faktycznego ogłoszenia o pewnych zmianach dotyczących obsługi transakcji.
W ciągu ostatnich kilku miesięcy odnotowano jednak wzrost liczby niepotwierdzonych transakcji. Szczyt pojawił się w czerwcu 2019 r., kiedy Bitcoin osiągnął w tym wymiarze roczne szczyty, a następnie osiągnął 55 tys. Teraz sytuacja w dużej mierze się zmieniła, a średnia liczba transakcji nie przekracza 5 tys.
Jednym z rozwiązań zwiększających skalowalność Bitcoin jest Lightning Network (LN). LN, uruchomiony 26 grudnia 2017 r., już zyskał szerokie zastosowanie. Modus operandi LN polega na przeniesieniu Bitcoin off-chain, co ma rozwiązać powolność sieci Bitcoin – transakcja jest prowadzona na oddzielnym kanale, który jest tworzony przez dwie strony transakcji.
SegWit (segregated witness) stanowi rozwiązanie do odblokowania sieci Bitcoin. Jest to soft fork, który zaspokaja potrzeby entuzjastów Bitcoinów, którzy chcieli większego rozmiaru bloków. Wraz z rozmiarem bloku SegWit pozwoliło znacznie zwiększyć przepustowość sieci. Technologia została już przyjęta przez największe giełdy kryptowalut, takie jak Coinbase i Bitfinex.
Podsumowanie
Problem skalowalności nadal nawiedza Bitcoin. Niepotwierdzone transakcje bitcoin ilościowo pozostają w dość skromnej liczbie w porównaniu z okresem szczytów Bitcoina z 2017 roku. Trwa wielka debata o rozmiarze bloku. Niezależnie od tego, czy chodzi o protokół Lighting Network, SegWit, czy CPFP, oczywiste jest, że problem ten musi zostać rozwiązany, aby król krypto nie odsyłał użytkowników do altcoinów, które oferują niekiedy znacznie szybsze transakcje.