CRYPTO PANDA
  • Domů
  • Články
  • Překlady
  • Kontakt
10 března, 2021 od Dejvid

Zaseknuté Tranzakcie v Bitcoinovom Mempoole

Zaseknuté Tranzakcie v Bitcoinovom Mempoole
10 března, 2021 od Dejvid

Zaseknuté Tranzakcie v Bitcoinovom Mempoole

Určite ste si niekedy všimli, že pri posielaní tranzakcie na Bitcoinovej sieti máte okrem destinačnej adresy, sumy, či poplatku sieti, aj pokročilé nastavenia a preto sa v tomto návode pozrieme na to, čo znamená replace by fee a ako to využiť, keď sa tranzakcia zasekne v mempoole.

Zaseknuté Tranzakcie v Bitcoinovom Mempoole
UI pre odosieľanie tranzakcie pomocou Ledger Live

Život Tranzakcie

Najskôr je potreba si vysvetliť aspoň základy, ako tranzakcie prebiehajú a akú v tom hrá rolu mempool. Potom čo zadáte destinačnú adresu, sumu, poplatok sieti, podpíšete tranzakciu pomocou súkromného kľúča a zašlete samotnú tranzakciu, tak sa začne šíriť po Bitconovej sieti, kde sa overí či je platná
a následne sa zapíše do mempoolu. Mempool je skratka pre memory pool
a jednoducho povedané, je to miesto, kde čakajú všetky nepotvrdené tranzakcie. Asi každých desať minút sa vyťaží nový blok, v ktorom sú potvrdené tranzakcie vybrané z mempoolu. Kedže každý blok je limitovaný veľkosťou 1MB, ťažiari si z mempoolu vyberú tranzakcie, ktoré ponúkajú najvyššie poplatky, teda odmeny za ich zaradenie do bloku.

Proces tranzakcií v Bitcoinovej sieti
Proces tranzakcií v Bitcoinovej sieti

Čo Znamená Replace By Fee?

Replace by fee sa dá preložiť ako nahradenie pomocou poplatku. Znamená to, že ak je tranzakcia zaslaná s možnosťou replace by fee (čo je vo väčšine prípadov nastavené ako predvolené) a ak sa tranzakcia zasekne, je možné ju nahradiť s vyšším poplatkom a tým pádom bude väčšia pravdepodobnosť, že sa zaradí do ďaľšieho bloku.

Bitcoinová tranzakcia opúšťa mempool ak je:

  • potvrdená, teda zaradená do bloku,
  • nahradená novou verziou pomocou replace by fee (viac v BIP 125),
  • invalidovaná, ak konfliktuje s ďaľšou tranzakciou, ktorá bola zaradená do bloku skôr (praktický príklad uvedený v sekcii ako zrušiť tranzakciu),
  • nahradená tranzakciami s vyšším poplatkom a už nie je dostatok miesta
    v mempoole, čo je pomerne neobvyklé alebo
  • vyprší lehota tranzakcie v mempoole, čo majú memory pooly pôvodne nastavené na dva týždne, ale toho by som sa moc nedržal, lebo keď počet pribúdajúcich tranzakcií klesne, mempooly sa eventuálne vyprázdnia a všetky tranzakcie sa potvrdia, aj s najmenším poplatkom jedného satoshi.

Počet tranzakcií v mempoole a ďaľšie štatistiky môžete sledovať na stránke mempool.space a pri posielaní tranzakcií, najme pri nastavovaní poplatkov sieti sa určite zíde pozrieť na predikcie poplatkov za tranzakcie, kde je pekne rozpísané koľko satoshi je momentálne potrebné aby sa tranzakcia potvrdila
v odhadovanom čase. Určite je dobré podotknúť, že poplatky sa môžu časom zvýšiť, aj potom čo ste svoju tranzakciu odoslali do siete a preto sa ďalej pozrieme na to, ako pretlačiť zaseknutú tranzakciu, ale aj ako nahradiť tranzakciu za kompletne inú, tým pádom ju zrušiť.

Riešenie

V prípade, že používate hardwerovú peňaženku, tak zrejme je od spoločnosti Ledger alebo Trezor, čo sú jedni z najznámejších výrobcov. Bohužiaľ, v čase písania tohto článku, rozhranie ani jednej z uvedených spoločností neumožnuje nahradenie tranzakcií, aj keď umožnujú povolenie replace by fee pri zasielaní. Ale nič nie je stratené, lebo môžme použiť rozhranie peňaženky Electrum, ktorú si môžme s hardwerovou peňaženkou spojiť bez zdieľania seedu. Dokonca samotní výrobcovia doporučujú použitie peňaženky Electrum ako alternatívne rozhranie a nemusíte sa obávať, lebo všetko bude veľmi dôsledne vysvetlené, aspoň to bude snahou tohto návodu.

Jeden z dôvodov prečo výrobcovia hardwerových peňaženiek túto funkciu nepodporujú, može byť, že majú to za nemorálne aby sa dokázala tranzakcia nahradiť po zaslaní a preto aj poukazujú na to, že by to mohol niekto veľmi ľahko zneužiť. Preto je pri obchode treba počkať na potvrdenú tranzakciu.

Nevlastníte Hardwerovú Peňaženku?

Pokiaľ držíte väčšie množstvo kryptomien a ešte nemáte hardwerovú peňaženku, tak by bolo na zváženie do jednej investovať, lebo pokiaľ držíte kryptomeny na burzách, tak nemáte prístup k súkromným kľúčom, takže priamo nevlastníte žiadne kryptomeny. V prípade hardwerovej alebo aj softwerovej peňaženky sa nemusíte báť vykradnutia burzy, nastávajúcich regulacií, či chybe pri zasielaní tranzakcie z burzy. Na druhú stranu, softwerové peňaženky tiež nie sú najbezpečnejšie, ale môžu postačiť ako dočasné riešenie pre menšie množstvo kryptomien.

Každopádne, francúzska spoločnosť Ledger ponúka zakladný model Nano S alebo premiový Nano X s podporou Bluetooth pre prístup cez mobilné zariadenia. V prípade, že chcete podporiť český trh, tak česka firma Trezor ponúka Model One alebo novší Model T s dotykovým displejom, ktorý može prísť používateľovi viac intuitívny.



Inštalácia Peňaženky Electrum

Inštalačné súbory môžete nájsť na oficiálnej stránke electrum.org, kde taktiež nájdete príslušné digitálne podpisy, ktoré môžeme použiť na to, aby sme overili, že stiahnuté súbory neboli na servery zamenené za škodlivé. Podobne ako u Bitcoinu, funguje to na princípe asymetrickej kryptografie.

Asymetrická kryptografia
Asymetrická kryptografia

Vývojár použije hašovaciu funkciu, aby vytvoril digitálny podpis, ktorý zašifruje svojím súkromným kľúčom a tým potvrdí, že podpis naozaj vytvoril vývojár a nie útočník. Príjemca použije vývojárov verejný kľúč na dešifrovanie podpisu a porovná ho s výsledkom hašovacej funkcie na stiahnutých súboroch.

Overenie digitálneho podpisu
Overenie digitálneho podpisu

Okrem inštalačných súborov a príslušného digitálneho podpisu, budeme ešte potrebovať verejný kľúč hlavného vývojára Thomasa Voegtlin, ktorý môžme nájsť na GitHube alebo na servery verejných kľúčov ako je napríklad MIT PGP Public Key Server, kde môžme vyhľadať celý kľúč na základe mena, emailovej adresy alebo odtlačku kľúča, čo je skrátená forma, ktorá identifikuje celý kľúč.

Následne, budeme potrebovat PGP program na overenie podpisu. Ak používate operačný systém Windows, tak program so skratkou Gpg4win je pomerne známy a slúži na šifrovanie súborov alebo emailov. Inštalačné súbory s detailnejším návodom môžete nájsť na oficiálnej stránke gpg4win.org. Okrem toho, že Gpg4win má verejný zdrojový kód, tak prichádza s mnohými nástrojmi, ale pre tento účel bude dôležité zaškrtnúť nástroj s názvom Kleopatra pri inštalácií.

Pre podrobnejší postup na overenie podpisu pre operačný systém Windows, odkazujem na návod priamo z oficiálnej stránky Electrum peňaženky, kde môžete nájsť aj návody pre ostatné operačné systémy.

Zjednodušený postup:

  • nainštalovať a spustiť Kleopatru (prípadne alternativný program),
  • importovať a overiť verejný kľúč vývojára Thomasa Voegtlin,
  • verifikovať digitálny podpis s inštalačnými súbormi od peňaženky Electrum,
  • skontrolovať, že inštalačné súbory boli verifikované pomocou digitálneho podpisu a importovaným verejným kľúčom od Thomasa Voegtlin a
  • nainštalovať samotnú peňaženku Electrum.

Nasledovný screenshot zobrazuje ako by mala vyzerať úspešná verifikácia inštaláčných súborov s pomocou nástroja s názvom Kleopatra.

Úspešná kontrola podpísaného súboru
Úspešná kontrola podpísaného súboru

Alternatívne, môžete zkompilovať zdrojový kód priamo z GitHub stránky pre Electrum, ale je to o niečo zložitejšie a preto to nie je pokryté v tomto návode.

Konfigurácia Peňaženky Electrum

Po následnom spustení aplikácie Electrum, bude potreba si spárovať harwerovú peňaženku alebo v prípade softwerovej peňaženky, bude treba zadať recovery seed pre sprístupnenie k zasielaní tranzakcií. Dokonca, je tu aj možnosť pre vytvorenie novej peňaženky s vygenerovaním nového seedu.

Čo sa týka hardwerových peňaženiek, tak treba zdôrazniť, že seed, tých dvanásť, či dvadsaťštyri slov, nesmieťe zdieľať, lebo slúžia ako prístup k Vašim kryptomenám, preto na nasledovnej strane si predvedieme, že hardwerové peňaženky sa dajú prepojiť aj bez toho a pri odosielaní tranzakcií bude potrebné fyzické potvrdenie na hardwerovej peňaženke.

Na úvodnej strane zadáte ľubovolný názov peňaženky, teda názov súboru, ktorý uchová konfiguráciu peňaženky a bude slúžiť ako prihlasovacie meno.

Úvodná strana aplikácie Electrum
Úvodná strana aplikácie Electrum
Výber typu peňaženky
Výber typu peňaženky
Sprístupnenie k peňaženke
Sprístupnenie k peňaženke

Opakujem, že pri hardwerových peňaženkách nikam nezadávame seed, tých dvanásť, či dvadsaťštyri slov, lebo slúžia ako prístup k Vašim kryptomenám. Inak povedané, prístup máme iba pomocou fyzickej interakcii s peňaženkou a Electrum slúži len ako rozhranie pre jednoduchšie narábanie. Seed môžete vedieť iba Vy, Vaša hardwerová peňaženka a prípadne ten, kto nájde Váš seed niekde zapisaný alebo vyrazený.

Voľba silného hesla pre prístup do peňaženke
Voľba silného hesla pre prístup do peňaženke

Nakoniec budete požiadaný zvoliť si heslo pre zašifrovanie súboru peňaženky, čo je extrémne dôležité v prípade, že chcete používať Electrum ako softwerovú peňaženku. Toto heslo bude potrebné pri konfirmacií tranzakcií.

Odporúčané Nastavenia

V hornej lište aplikácie kliknite na nástroje a následne na predvoľby. Vo všeobecných nastaveniach môžete nájsť voľbu jazyka a taktiež si zmeňte základnú jednotku z mBTC na BTC.

Všeobecné nastavenia
Všeobecné nastavenia

V záložke tranzakcie je potrebné skontrolovať, či možnosť minúť iba potvrdené mince nie je zaškrtnutá, inak by to mohlo prekážať v nasledovných krokoch.

Povolenie minúť mince z nepotvrdených tranzakcií
Povolenie minúť mince z nepotvrdených tranzakcií

Ako Nahradiť Tranzakciu Pomocou Vyššieho Poplatku?

V záložke história môžete vidieť všetky tranzakcie, aj tie nepotvrdené. Pravým kliknutím na nepotvrdenú tranzakciu dostanete nasledovný list možností.

História tranzakcií
História tranzakcií

Kliknutím na navýšiť poplatok sa zobrazí okno, v ktorom je potreba nastaviť vyšší poplatok, než je aktuálny. Potvrdenie tranzakcie vyžaduje heslo, prípadne fyzické potvrdenie na hardwerovej peňaženke. Zaškrtnutie možnosti konečná, zrušíte možnosť znovu navýšiť poplatok, teda môžnosť replace by fee.

Navýšiť poplatok
Navýšiť poplatok

Ako Zrušiť Tranzakciu?

Rovnako ako v predošlom prípade, pri nepotvrdenej tranzakcii máme možnosť navýšiť poplatok, ak sa tranzakcia zasekla v mempoole alebo ju môžme zrušiť pomocou vytvorenia novej tranzakcie s vyšším poplatkom, ktorá bude smerovať na adresu na našej peňaženke. Podotknem, že v predošlom prípade nasledovná možnosť nebola prístupná, lebo tranzakcia bola zaslaná práve na adresu v rovnakej peňaženke.

História tranzakcií
História tranzakcií
Zrušiť tranzakciu
Zrušiť tranzakciu

Ako Zrušiť Tranzakciu Bez Možnosti Replace By Fee?

V prípade, že tranzakcia bola zaslaná bez povolenia replace by fee, budeme musieť nahradiť tranzakciu manuálne.

História tranzakcií
História tranzakcií
Zobraziť detaily tranzakcie
Zobraziť detaily tranzakcie

Skopírujte si zvýraznenú adresu, z ktorej tranzakcia bola odoslaná a prejdite do záložky adresy, kde stlačte Ctrl + F a prilepte skopírovanú adresu.

Tranzakcia
Tranzakcia

Pravím kliknutím na adresu, zvoľte možnosť podrobnosti, aby ste otvorili históriu tranzakcií korenšpondujúce k danej adrese.

Záložka adries
Záložka adries

Zvoľte najnovšiu tranzakciu pred nepotvrdenou tranzakciou, ktorú chcete zrušiť a kliknite na zobraziť detaily. Tranzakcia sa otvorí v novom okne, kde zvolíme exportovanie do súboru.

História tranzakcií korenšpondujúcich k vybranej adrese
História tranzakcií korenšpondujúcich k vybranej adrese
Exportovať tranzakciu do súboru
Exportovať tranzakciu do súboru

Aby sme oklamali Electrum, budeme musieť na chvíľku odpojiť svoje zariadenie od internetu a rovnako ako na začiatku, vytvoríme si nový účet, ale s prístupom k tej istej peňaženke.

Importovať tranzakciu zo súboru
Importovať tranzakciu zo súboru

Kedže nemáme prístup k internetu, Electrum nemá ako načítať tranzakcie z Bitcoinovej siete a preto použijeme exportovanú tranzakciu, aby sme obnovili zostatok na zvolenej adrese.

Teraz si v záložke adresy zvolíme jednu z našich ďaľších adries, na ktorú chceme presmerovať tranzakciu. V tomto prípade bude potreba zaslať celý zostatok, inak by sa mohlo stať, že by ste mali dostatok na zaslanie aj tej tranzakcie, ktorú chceme prepísať, teda zrušiť.

Odoslať tranzakciu
Odoslať tranzakciu

Následne sa otvorí nové okno, kde zvolíme pokročilé nastavenia, aby sme mohli tranzakciu exportovať a použiť, keď obnovíme prístup k internetu.

Potvrdiť tranzakciu
Potvrdiť tranzakciu

V nasledovnom okne máme možnosť povoliť replace by fee a taktiež, je potrebné nastaviť vyšší poplatok, než je u tranzakcii, ktorú chceme prepísať, aby sa zaradila do bloku skôr.

Skontrolovať tranzakciu
Skontrolovať tranzakciu

Podpíšeme tranzakciu a kedže nemáme prístup k internetu, budeme ju musieť exportovať do súboru.

Podpísať tranzakciu
Podpísať tranzakciu

Obnovíme prístup k internetu a otvoríme si pôvodný účet, kde načítame upravenú tranzakciu.

Načítať tranzakciu zo súboru
Načítať tranzakciu zo súboru

Tranzakciu zverejníme, inak povedané, odošleme do Bitcoinovej siete, čo bude zrejme požadovať zvolené heslo k účtu a opetovné potvrdenie.

Odoslať a potvrdiť tranzakciu
Odoslať a potvrdiť tranzakciu

Čo Znamená Child Pays For Parent?

Child pays for parent sa dá preložiť ako dieťa zaplatí za rodiča. Jednoducho, je to metóda, kde používateľ zašle tranzakciu so zostatkom z nepotvrdenej tranzakcie a zadá vyšší poplatok, aby ťažiari museli najskôr potvrdiť predošlú tranzakciu, ktorá sa považuje za parent tranzakciu. Tento trik môžete použiť
v prípade, že sa tranzakcia prichádzajúca na Vašu adresu zasekne a Vy nemáte ako navýšiť poplatok na prichádzajúcej tranzakcii.

Záver

Bitcoin má limitované množstvo a preto by som nebral jeho uchovanie a  ani zasielanie na ľahkú váhu. Vždy si dva krát alebo najlepšie viac krát skontrolujte sumu, adresu a zvoľte dostatočný poplatok ako bolo zmienené na začiatku.

Pokiaľ ešte nevlastníte hardwerovú peňaženku, tak by som tú investíciu zvážil a zopakujem na záver, že seed sa nikomu nehovorí a zadáva sa jedine do hardwerovej peňaženky, ovšem to sa nedá uplatniť na softwerové peňaženky, ktoré uchovávajú seed v digitálnej podobe a preto sú zraniteľnejšie.

Ak máte otázky k návodu alebo iné dotazy, tak sa pripojte k nám na Discord alebo mrknite na ďaľšie články!

Zdroje:
https://www.ledger.com/trickery-is-not-a-vulnerability
https://bitcoin.stackexchange.com/questions/46152/how-do-transactions-leave-the-memory-pool
https://bitcoinops.org/en/topics/cpfp/
https://bitcoin.org/en/how-it-works

Předchozí článekJak danit kryptoměny v Česku a na Slovensku [2021]Jak danit kryptoměnyDalší článek Co znamená Proof of Work?Proof of Work

Napsat komentář Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Poslední články

Smart kontrakty a jejich využití17 dubna, 2021
Jak bezpečně používat kryptoměny10 dubna, 2021
Bitcoin a ekologie3 dubna, 2021
Co jsou stablecoiny a jak fungují?27 března, 2021
Co je to Proof of Stake a jak funguje?20 března, 2021
Co znamená Proof of Work?13 března, 2021
Zaseknuté Tranzakcie v Bitcoinovom Mempoole10 března, 2021
Jak danit kryptoměny v Česku a na Slovensku [2021]7 března, 2021
Co je EIP-1559? Jak se změní systém poplatků na Ethereum blockchainu?6 března, 2021
3 nejlepší burzy na nákup kryptoměn27 února, 2021

Překlady

Polkadot Lightpaper

Připoj se k nám!

Instagram
Discord

Doporučené burzy

Coinbase (10$ při nákupu nad 100$)
Binance (Nejpopulárnější burza)
Anycoin (Nejlepší česká burza)

Doporučené peněženky

Ledger nano S
Ledger nano X
Trezor One
Trezor Model T

DOPORUČENÉ BURZY

Coinbase (10$ při nákupu nad 100$)
Binance (Nejpopulárnější burza)
Anycoin (Nejlepší česká burza)

DOPORUČENÉ PĚNĚŽENKY

Ledger Nano S
Ledger Nano X
Trezor One
Trezor Model T

PŘEKLADY

Polkadot Lightpaper

PŘIPOJ SE K NÁM!

Instagram
Discord

CryptoPandaNews | 2021

Doporučené burzy

Coinbase (10$ při nákupu nad 100$)
Binance (Nejpopulárnější burza)
Anycoin (Nejlepší česká burza)

Doporučené peněženky

Ledger nano S
Ledger nano X
Trezor One
Trezor Model T

Překlady

Polkadot Lightpaper

Připoj se k nám!

Instagram
Discord