Bitzuma

17 lutego 2021
Category: Jeśli Twój

Przez Rich Apodaca | Zaktualizowano 31 października 2017 r

Transakcja Bitcoin może nie zostać potwierdzona lub utknąć z wielu powodów. Zablokowane transakcje mogą zostać potwierdzone po kilku dniach, ale czasami czekanie nie wchodzi w grę. Na szczęście wiele zablokowanych transakcji można wyczyścić za pomocą przeglądarki internetowej. Ten artykuł pokazuje, jak to zrobić.

Przegląd
  • Uwaga
  • Kiedy używać tej metodyDlaczego transakcje utknęły w miejscuDziecko płaci rodzicowiUtwórz zablokowaną transakcjęWyczyść zablokowaną transakcjęGotchasBezpieczniejsza alternatywaWnioskiUwaga!Opisana tutaj procedura nie powinna być stosowana przez początkujących, którzy próbują wyczyścić zablokowaną transakcję o znacznej wartości. Może to prowadzić do utraty pieniędzy.

    W tym artykule opisano praktyczną technikę tworzenia i rozliczania zablokowanej transakcji, ale użycie tej techniki wymaga praktyki i zrozumienia. Aby jak najlepiej z tego skorzystać, rozważ podążanie za napisanym artykułem i przeznacz tylko niewielką kwotę.

    Jeśli jakikolwiek krok opisuje koncepcję, która nie ma sensu, znajdź sposób, aby ją zrozumieć. Zostaw komentarz na dole artykułu. Zapytaj kompetentnego przyjaciela. Opublikuj pytanie do BitcoinBeginners, Bitcoin Subreddit lub Bitcoin Stack Exchange. Cokolwiek się stanie, upewnij się, że rozumiesz na wysokim poziomie procedurę opisaną tutaj, zanim użyjesz jej do rozliczenia transakcji o wysokiej wartości.

    W celach demonstracyjnych ten przewodnik instruuje, jak wprowadzić klucz prywatny do aktywnego formularza internetowego. Osoba atakująca może przechwycić te informacje i ukraść fundusze. Zasadniczo klucze prywatne powinny być obsługiwane tylko w bezpiecznym środowisku komputerowym. Jednak biorąc pod uwagę niewielkie kwoty pieniędzy zaangażowane w to demo, ryzyko jest niewielkie. Opis bezpieczniejszej alternatywy pojawia się przed wnioskami do tego postu.

    Kiedy używać tej metodyMożesz wyczyścić zablokowaną transakcję metodą opisaną tutaj, gdy kontrolujesz jedno lub więcej jej danych wyjściowych. Jeśli nie kontrolujesz przynajmniej jednego wyjścia, sieć nie pozwoli na wykonanie niezbędnych czynności.

    Na szczęście w wielu sytuacjach będziesz sterować przynajmniej jednym wyjściem. Jeśli jesteś odbiorcą, to z definicji będziesz kontrolował przynajmniej jedno wyjście. Jednak nawet płatnik kontroluje jedno wyjście w wielu transakcjach ze względu na konieczność pobrania reszty.

    Jeśli Twój portfel obsługuje płatności dla dzieci za rodziców (CPFP), opisana tutaj metoda może być mniej wygodna i bezpieczna. Podobnie, jeśli Twój portfel obsługuje wymianę przez opłatę (RBF) i oznaczyłeś zablokowaną transakcję jako wymienną, to opisane tutaj podejście będzie prawdopodobnie droższe i mniej bezpieczne niż wpychanie opłaty przez portfel.

    Innymi słowy, użyj tej metody, gdy transakcja utknęła, masz co najmniej jedno wyjście, zastąpienie przez opłatę nie wchodzi w grę, a portfel nie obsługuje płatności dziecka za rodzica.

    Dlaczego transakcje utknęły w miejscuNajczęstszym powodem zablokowania transakcji jest to, że wiąże się ona z zbyt niską opłatą.

    Opłaty transakcyjne Bitcoin mogą być trudne do zrozumienia, ponieważ dotyczą wielu koncepcji. Ważną liczbą, o której należy pamiętać, jest gęstość opłat za transakcję . Gęstość opłat ( d ) oblicza się, dzieląc opłatę transakcyjną ( f , w satoshi) przez jej rozmiar ( s , w bajtach):

    We wczesnych latach istnienia Bitcoina opłaty stanowiły znikomy ułamek dochodów górników. Dziś jest zupełnie inaczej. Opłaty stanowią coraz większą część całkowitego przychodu, więc górnicy starają się optymalizować opłaty, które pobierają z każdego bloku.

    Oczekujące transakcje są wybierane poprzez sortowanie ich w odwrotnej kolejności według gęstości opłat. Najwyższa transakcja jest usuwana z listy i dodawana do bloku kandydata. Ten krok jest powtarzany aż do zapełnienia bloku. W tym momencie wszelkie pozostałe transakcje będą musiały poczekać, aż następny blok stanie się kandydatem do włączenia.

    Większość bloków jest dziś całkowicie zapełniona, co oznacza, że ​​niektóre lub nawet większość transakcji pozostanie w tyle. W pierwszym przybliżeniu górnicy nie biorą pod uwagę obecnego czasu oczekiwania transakcji. Oznacza to, że nowsze transakcje mogą zostać przeniesione na początek wiersza, jeśli mają wyższą gęstość opłat niż Twoja.

    Dziecko-płaci-rodzicowiTechnika, której użyjemy do wyczyszczenia zablokowanej transakcji, jest znana jako płaci dziecko za rodzica (CPFP). Przypomnijmy, że Bitcoin to elektroniczny system gotówkowy, w którym użytkownicy wymieniają wartość, przenosząc własność cyfrowych tokenów. W zależności od kontekstu tokeny te nazywane są „monetami lub „wyjściami. Transakcja pośredniczy w transferze, który pozostanie niekompletny tak długo, jak długo transakcja utknie.

    Na szczęście górnik weźmie pod uwagę nie tylko opłaty za oczekującą transakcję, ale także opłaty ponoszone przez dzieci.

    Dziecko-płaci-rodzicowi. Alicja płaci Bobowi za pomocą transakcji z niewystarczającą opłatą (po lewej). Bob rozlicza transakcję z dzieckiem, które płaci zarówno za siebie, jak i za swojego rodzica (po prawej). Powyższy diagram jest częścią języka wizualnego.

    Na przykład wyobraź sobie, że Alicja płaci Bobowi 5 mBTC za pomocą opłaty w wysokości 0,125 mBTC (12500 satoshi). Rozmiar transakcji wynosi 250 bajtów, co daje gęstość opłat 50 satoshi / bajt. Gęstość opłat rynkowych, określona przez estimatefee.com, wynosi 150 satoshi / bajt. Przychodząca transakcja Boba utknęła, ponieważ opłata Alicji wynosi 1/3 opłaty rynkowej w konkurencji.

    Bob może wyczyścić transakcję, wydając jeden z jej wyników na transakcję, która płaci nie tylko za siebie (dziecko), ale także za oryginał (rodzic).

    Wyobraź sobie, że transakcja potomna Boba, podobnie jak transakcja rodzica, ma rozmiar 250 bajtów. Całkowity rozmiar rodzica i dziecka wynosi zatem 500 bajtów. Całkowitą opłatę, jaką musi zapłacić transakcja podrzędna, można znaleźć za pomocą następującego równania:

    gdzie f c to opłata do zapłacenia przez dziecko, d to aktualna gęstość opłat rynkowych, b to długość obu transakcji w bajtach, a f p to opłata już uiszczona przez jednostkę dominującą.

    Gęstość opłat rynkowych ( d ) wynosi 150 satoshi / bajt. Łączny rozmiar obu transakcji ( b ) wynosi 500 bajtów. Opłata za pierwotną transakcję Alicji ( f p ) wynosi 12 500 satoshi. Dlatego opłata, jaką musi ponieść transakcja potomna Boba, wynosi 62 500 satoshi (150 satoshi / bajt × 500 bajtów – 12 500 satoshi), czyli 0,625 mBTC. Bob publikuje tę transakcję, powodując, że zarówno ona, jak i jej rodzic zostaną potwierdzone w następnym bloku.

    Utwórz zablokowaną transakcjęNajlepszym momentem, aby dowiedzieć się, jak wyczyścić zablokowaną transakcję, jest zanim stanie się to krytyczne. W tej sekcji opisano, jak umieścić transakcję o niskiej wartości w zawieszeniu, aby można ją było później wyczyścić. Użytkownicy zainteresowani tylko rozliczeniem zablokowanej transakcji powinni mimo to przeczytać tę sekcję, ponieważ omawia ona narzędzie, które będzie używane do wyczyszczenia zablokowanej transakcji.

    Zablokowane transakcje najłatwiej jest utworzyć w okresach dużego wolumenu transakcji. Jednym ze sposobów ustalenia, czy ten warunek jest spełniony, jest użycie narzędzia do monitorowania opłat, takiego jak estimatefee.com.

    estimatefee.com. Aby utworzyć zablokowaną transakcję, staraj się uzyskać gęstość opłat, która daje czas potwierdzenia wynoszący 144 bloki (24 godziny) lub więcej.

    Zacznij od stworzenia trzech portfeli papierowych. Pierwsza będzie służyć jako źródło, a druga będzie służyć jako miejsce docelowe dla transakcji nadrzędnej z niekonkurencyjną gęstością opłat. Trzeci będzie służył jako miejsce docelowe dla transakcji podrzędnej, która opłaca się dla siebie i swojego rodzica. Można to zrobić, otwierając kartę przeglądarki i ładując Bitaddress. Kliknij kartę Portfel papierowy i wygeneruj trzy niezaszyfrowane adresy bez grafiki.

    Trzy portfele. Adres depozytu (u góry) otrzyma pierwszą wpłatę z opłatą rynkową. Drugi adres (środkowy) otrzyma płatność od pierwszego, ale z niekonkurencyjną opłatą (np. 1 satoshi / bajt). Trzeci adres (na dole) otrzyma monetę, korzystając z opłaty, która pokrywa sam siebie i zablokowaną transakcję nadrzędną.

    Najpierw przekieruj płatność 0,002 ฿ do pierwszego portfela, korzystając z konkurencyjnej opłaty. Poczekaj na co najmniej jedno potwierdzenie.

    Następnie utwórz zablokowaną transakcję, płacąc drugi portfel od pierwszego za pomocą narzędzia Coinb.in opartego na przeglądarce. Przejdź do witryny, a następnie wybierz opcję Transakcja z menu Nowy. W pierwszym polu adresu wklej adres pierwszego portfela, a następnie kliknij Załaduj. W drugim polu adresu wklej adres drugiego portfela. Dostosuj kwotę, aby uzyskać opłatę w wysokości 386 satoshi (0,00199614). Twoja podpisana transakcja będzie miała rozmiar około 193 bajtów. Dlatego Twoja opłata odpowiada gęstości około 2 satoshi / bajt.

    Utwórz zablokowaną transakcję. Pierwszy adres portfela płaci za drugi niekonkurencyjną opłatą w wysokości dwóch satoshi / bajtów.

    Kliknij Prześlij, gdy będziesz gotowy. Coinbin przedstawi Twoją niepodpisaną transakcję w postaci zakodowanej szesnastkowo. Skopiuj tekst do schowka.

    Nieprzetworzone bajty transakcji. Niepodpisana transakcja w formacie szesnastkowym, dostarczona przez Coinbin. Wybierz i skopiuj tekst do schowka systemowego.

    Najpierw zweryfikuj swoją transakcję. Przewiń do góry strony Coinbin i kliknij kartę Weryfikuj. Wklej zawartość schowka do pola tekstowego i kliknij Prześlij. Coinbin pokaże szczegóły transakcji. Zwróć szczególną uwagę na sekcję Wyjścia. Upewnij się, że adres jest zgodny z adresem Twojego portfela „Sprawdź rodzica, a kwota odpowiada planowanej płatności.

    Podpisz transakcję. Po otrzymaniu klucza prywatnego i niepodpisanej transakcji Coinbin ją podpisze. Skopiuj podpisaną transakcję.

    Gdy jesteś zadowolony z niepodpisanej transakcji, podpisz ją. Przewiń do góry strony Coinbin i kliknij kartę Podpisz. Wklej nieprzetworzoną transakcję w dolnym polu tekstowym. Następnie skopiuj i wklej klucz prywatny z adresu depozytu portfela w górnym polu tekstowym. Kliknij Prześlij. Coinbin wygeneruje podpisaną transakcję w nowym polu tekstowym. Skopiuj tekst do schowka systemowego.

    Na koniec opublikuj podpisaną transakcję. U góry strony Coinbin kliknij kartę Transmisja. Wklej podpisaną transakcję w polu tekstowym i kliknij Prześlij. Coinbin wyświetli identyfikator transakcji („txid), za pomocą którego możesz śledzić status transakcji.

    Tradeblock. Przydatny eksplorator bloków, który zgłasza gęstość opłat w polu Opłata / rozmiar.

    Użyj eksploratora bloków, takiego jak Tradeblock, aby udowodnić, że transakcja utknęła („Niepotwierdzona). Wklej swój identyfikator transakcji w polu tekstowym u góry strony. Tradeblock jest szczególnie przydatny, ponieważ pokazuje gęstość opłat pod nagłówkiem „Opłata / rozmiar w satoshi / bajt. Twoja transakcja powinna mieć gęstość opłat bliską 2 satoshi / bajt. Jeśli wszystko poszło zgodnie z planem, Twoja transakcja pozostanie niepotwierdzona przez wiele godzin.

    Wyczyść zablokowaną transakcjęUżyj Coinbin, aby utworzyć transakcję podrzędną, wydając swoją niepotwierdzoną zablokowaną płatność. Procedura jest prawie identyczna z opisaną powyżej w przypadku tworzenia zablokowanej transakcji nadrzędnej. Z menu Nowy wybierz Transakcja. Wprowadź adres zawierający zablokowaną płatność w pierwszym polu tekstowym, a następnie kliknij Załaduj. Mimo że Twoja transakcja nie została potwierdzona, Coinbin powinien wyświetlić wartość oczekującej płatności. W drugim polu tekstowym wprowadź adres, którego będziesz używać do otrzymywania niezatrzymanej płatności.

    Wybierz kwotę płatności, która pozostawia opłatę wystarczająco wysoką, aby zapłacić zarówno za bieżącą transakcję, jak i za jej zablokowanego rodzica. Użyj wzoru przedstawionego powyżej, aby Cię poprowadzić:

    Na przykład, jeśli obie transakcje zawierają jedno wejście i jedno wyjście, ich łączny rozmiar ( b ) będzie wynosił około 382 bajtów (2 × 193 bajty). Twoja transakcja z rodzicem zapłaciła już 382 satoshi ( f p ). Jeśli gęstość opłat rynkowych wynosi obecnie 141 satoshi / bajt, będziesz musiał zapłacić 53 480 satoshi, czyli 0,53480 mBTC.

    Transakcja dotycząca dziecka. Ta transakcja wiąże się z opłatą wystarczająco wysoką, aby zapłacić za siebie i swojego rodzica.

    Wybierz kwotę płatności, która pozostawia odpowiednią opłatę, a następnie kliknij Prześlij. Możesz otrzymać ostrzeżenie o wysokiej opłacie. Kliknij „OK, rozumiem!, Aby kontynuować. Coinbin wygeneruje niepodpisaną transakcję zakodowaną w formacie szesnastkowym. Skopiuj go do schowka systemowego.

    Następnie zweryfikuj swoją transakcję. U góry strony Coinbin wybierz opcję Weryfikuj. Wklej niepodpisaną transakcję w polu tekstowym.

    Po zweryfikowaniu adresu i kwoty płatności podpisz transakcję. Kliknij kartę Podpisz. Wklej niepodpisaną transakcję w dolnym polu tekstowym. W górnym polu tekstowym wklej klucz prywatny kontrolujący adres portfela Stuck Parent. Upewnij się, że używasz prawidłowego klucza prywatnego; użycie niewłaściwego klucza prywatnego nie wygeneruje błędu na tym etapie, ale raczej podczas próby opublikowania transakcji. Kliknij Prześlij, aby podpisać transakcję. Skopiuj tekst z pola „Podpisana transakcja

    Na koniec opublikuj swoją transakcję. Kliknij kartę Transmisja u góry Coinbin. Wklej podpisaną transakcję w polu tekstowym. Kliknij Prześlij. Coinbin odpowie, wyświetlając Twoją nową transakcję („txid).

    Użyj eksploratora bloków, aby monitorować potwierdzenie dziecka i rodzica. Jeśli wszystko poszło dobrze, oba powinny potwierdzić w ciągu następnego bloku lub dwóch.

    GotchasPowyższa procedura została przetestowana i działa zgodnie z opisem. Należy jednak pamiętać, że gęstość opłat będzie się zmieniać w czasie – czasami dość gwałtownie. Zgłoszone tutaj opłaty mogą być nieaktualne, gdy transakcja utknie. Gęstość opłat może nawet ulec zmianie w czasie czytania tego posta. Upewnij się, że transakcja z dzieckiem wiąże się z odpowiednio wysoką opłatą, w przeciwnym razie też utknie.

    Węzły mają ograniczone możliwości przechowywania oczekujących transakcji. Gdy nie ma już miejsca, transakcje są eksmitowane w odwrotnej kolejności według gęstości opłat. W związku z tym transakcja nadrzędna z bardzo niską opłatą może być niedostępna podczas próby opublikowania transakcji podrzędnej. Jeśli tak się stanie, oprócz opublikowania dziecka, będziesz musiał ponownie opublikować transakcję rodzica.

    Bezpieczniejsza alternatywaPowyższa procedura ujawnia klucze prywatne na komputerze podłączonym do sieci. Aby uniknąć tej niebezpiecznej praktyki, można zastosować alternatywną procedurę podpisywania. Jest identyczny z oryginałem, z tym wyjątkiem, że krok podpisywania jest wykonywany na komputerze offline.

    Rozpocznij od utworzenia kopii offline Coinbin. Pobierz pakiet offline, klikając łącze „pobierz na dole strony o Coinbin. Zapisz plik archiwum na godnym zaufania nośniku wymiennym.

    Aby uruchomić Coinbin w trybie offline, uruchom sesję offline, taką jak Tails. Otwórz swój wymienny nośnik i wypakuj archiwum Coinbin. Coinbin można uruchomić w trybie offline, klikając plik o nazwie index.html w folderze coinbin-master.

    Korzystając z tej konfiguracji, transakcje można tworzyć online, zapisywać na nośniku wymiennym, podpisywać offline, a następnie publikować online. Aby zminimalizować ryzyko uzyskania złośliwej kopii Coinbin, która przekierowuje płatności, transakcje mogą być niezależnie analizowane i weryfikowane za pomocą eksploratora bloków. Na przykład Blockchain i Blockcypher mogą dekodować i sprawdzać transakcję przed publikacją.

    WnioskiRozliczenie zablokowanej transakcji nie jest trudne, biorąc pod uwagę odpowiednie narzędzia i pewną praktykę. W tym artykule pokazano, jak korzystać z procedury wymagającej jedynie przeglądarki sieci Web. Podsumowując, CPFP można wykorzystać do wyczyszczenia zablokowanej transakcji Bitcoin, stosując następującą procedurę:

    We use cookies to provide you with the best possible experience. By continuing, we will assume that you agree to our cookie policy