Wpis z mikrobloga

#bitcoin
Z mojego małego testu wynika, że istnieje możliwość przyspieszenia utkniętej przychodzącej transakcji przy użyciu niektórych portfeli (test przeprowadzony na Mycelium)

Mycelium pozwala wydać niepotwierdzone outputy - to daje nam okazję do pewnego tricku.

W sytuacji kiedy przez długi czas masz niepotwierdzoną transakcję przychodzącą wiszącą w twoim portfelu, wyślij wszystkie swoje BTC sam do siebie (na jeden ze swoich adresów) z użyciem opłaty priorytetowej. Powstanie ciąg dwóch niepotwierdzonych transakcji - aby zebrać opłaty z drugiej miner będzie zmuszony potwierdzić także pierwszą.

W moim teście pierwsza transakcja miała opłatę low-prio (10sat/baj)t - tego typu transakcje mogą przy obecnym backlogu stać całymi dniami. Druga transakcja wydająca outputy pierwszej wysłana została z opłatą priorytetową wynoszącą 135sat/bajt. W rezultacie obie transakcje osiadają w uśrednieniu ok 75sat/bajt co powinno zapewnić zamieszczenie w ciągu kilku bloków. Nie było tak różowo, ale i tak się udało: Obie transakcje zostały zamieszczone w tym samym bloku po 134minutach oczekiwania. Blok wykopany został przez F2Pool.

To oznacza, że przynajmniej jeden duży pool przeczesuje backlog w poszukiwaniu takiego scenariusza - efektywanie pozwalając na przeprowadzania podbijania opłat mechanizmem CPFP (Child Pays For Parent)

Zwracam tylko uwagę, że
a) Podbicie skrajnie dużej transakcji (kolega @Verybad dostał transakcje konsolidacyjną ponad 7000 bajtów) może być niedostateczne - blokując w rezultacie więcej monet
b) w ten sposób dodatkowo zwiększamy ogólną kolejkę transakcji do potwierdzenia ( ͡° ʖ̯ ͡°)

Tak czy siak to jest *jakieś* rozwiązanie w nagłych przypadkach
  • 9
@McGravier:
Dodam od siebie, że uważajcie na wielkość transakcji i fee jakie dała osoba płacąca u was w BTC. Szczególnie zachowajcie uwagę jak ktoś wam płaci za jakieś wirtualne przedmioty, bo niektórzy z was nie czekają na potwierdzenie transakcji i od razu wysyłają jakiś kod, giftcard, czy przedmioty w grze.

Jak transakcja ma duży "Rozmiar (bytes)", to i musi mieć odpowiednią opłatę ( ~ 0,0000003 BTC za 1 byte powinno być
@McGravier:

Powstanie ciąg dwóch niepotwierdzonych transakcji - aby zebrać opłaty z drugiej, miner będzie zmuszony potwierdzić także pierwszą.


Czyli mogę wysłać np. 9 osobom bitki z zerowym fee, a następnie jednej osobie z priorytetowym fee i przejdzie?
#cebuladeals
@Kliko: Po pierwsze - węzły nie przesyłają transakcji z zerowym fee - ochrona przed spamem/ddos
Po drugie, jeśli myslisz o double spend, to też nie przejdzie - węzły/minerzy w większości odmówią przekazania transakcji wydających te same outputy. Żeby trick zadziałał muszą to być transakcje sekwencyjne a nie równoległe
Po trzecie - jeśli wyślesz 9 osobom bitki z małym fee, do już użycie tricku jest po ich stronie - ty nie możesz
@McGravier: Blockchain rozwiązał to opłatami (fee) wystarczy ~0.0002BTC i w kilku minut jest zaakceptowana.
Tzn może nie rozwiązał - bo to i inne mają, ale 0.0002BTC to chyba nie jest kosmicznie dużo