Wielu użytkowników systemu staje przed koniecznością anulowania transakcji na blockchainie, ponieważ coraz częściej transakcje zawieszają się, a środki są obciążane z portfela. Ale czy takie anulowanie można zrobić? A jeśli tak, to w jaki sposób?
Technologia Blockchain została zaprojektowana w taki sposób, aby wszelkie operacje i transakcje, jeśli zostały już przeprowadzone, nie mogły zostać anulowane. Jeśli jednak transakcja nie otrzyma potwierdzenia, „zawiesi się” w systemie na kilka dni bezskutecznie. I w takim przypadku z portfela zostaną pobrane bitcoiny. A biorąc pod uwagę ich przebieg, problem okazuje się poważny.
Jest jednak wyjście. A opiera się na tym, że transakcje nie zamrażają się tak po prostu – w każdym przypadku jest powód: coś, co nie pasowało do systemu blockchain. Jeśli potrafisz to rozgryźć, będziesz w stanie rozwiązać problem transakcji, która utknęła w systemie.
Najczęstszą przyczyną zablokowanych transakcji jest:
- przeciążenie samego systemu blockchain;
- tworzenie tzw. mempooli - kolejek do realizacji transakcji.
Faktem jest, że popularność bitcoina jako dość drogiej kryptowaluty rośnie coraz bardziej, co przyciąga do systemu wielu nowych użytkowników. Wielu z nich decyduje się na różne operacje, nie rozumiejąc do końca ich struktury, przez co są zdezorientowani. A system blockchain jednoznacznie odbiera działania takich użytkowników – jako niewystarczające i ostro reaguje: przeciążenie i zamrożenie. Oczywiście transakcja w tym przypadku nie przechodzi, a także się zawiesza.
Jeśli chodzi o mempoole, powstają z kilku powodów:
- bardzo duża liczba użytkowników chce zawrzeć transakcję, ale wypełniane przez nich bloki po prostu nie mogą być jednocześnie fizycznie włączone do systemu - pojawia się mempool;
- przelewy z wysoką prowizją są pierwsze i rzadziej narażają się na ryzyko kolejki, a jeśli użytkownik ustawił niską prowizję lub w ogóle jej nie wskazał, mempool (i to na długi czas) jest mu udostępniany.
Co więcej, w tym drugim przypadku nie można nawet zagwarantować, że ta transakcja w ogóle się uda, ponieważ zostanie ona wysłana na rynek prowizyjny, a górnicy mogą nie zwracać na to uwagi - transakcja po prostu zawiśnie w ich mempoolu, dopóki nie znajdą nowy blok.
Co więc można zrobić, aby rozwiązać problem zarówno w pierwszym, jak i drugim przypadku? Spróbuj „przesunąć” transakcję dalej lub anulować ją, jeśli nadal jest to możliwe. Istnieje kilka opcji działania:
- Możesz spróbować użyć doublespend - opcji podwójnego wydatkowania, która zapewni ruch transakcji, czyli możliwość „przeforsowania się” poprzez podwyższenie prowizji, jeśli początkowo była za niska. Jest to możliwe, ponieważ kontrahenci sprawdzają aktywa na swoich rachunkach tylko w jednym określonym momencie. Oznacza to, że jeśli transakcja jest zamrożona, możesz wysłać kolejną z podwyższoną prowizją. Obie transakcje zakończą się niepowodzeniem, nie musisz się tym martwić.
- Korzystanie z CPFP to mechanizm, który pozwala utworzyć transakcję z jednym wejściem (musi to być koniecznie wyjście transakcji problemowej - na przykład ta sama zmiana) i wysłać bitcoiny do siebie.
- Używanie specjalnych akceleratorów do transakcji, z których może korzystać zarówno odbiorca, jak i nadawca.
Jednak żadna z tych metod nie daje absolutnej gwarancji, że transakcja zostanie anulowana lub przeforsowana. I żadna metoda w tym przypadku nie da takich gwarancji, bo jak już wspomniano, system blockchain jest zaprojektowany w taki sposób, aby nie przewidywał anulowania transakcji. Jeśli zostały już potwierdzone (zawarte w bloku), żadna metoda nie pomoże, ale jeśli utkną przed potwierdzeniem, możesz spróbować.
A musimy pamiętać, że niepotwierdzona transakcja nie może być sama anulowana. W takim przypadku możliwa jest jedynie zmiana wyświetlacza w portfelu użytkownika.