Mange brugere af systemet står over for behovet for at annullere en transaktion på blockchain, da oftere og oftere fryser transaktioner, og midler debiteres fra tegnebogen. Men kan en sådan annullering ske? Og i bekræftende fald, hvordan?
Blockchain-teknologien er designet på en sådan måde, at operationer og transaktioner, hvis de allerede er udført, ikke kan annulleres. Men hvis transaktionen ikke har modtaget bekræftelse, vil den "hænge" i systemet i flere dage til ingen nytte. Og i et sådant tilfælde debiteres bitcoins fra tegnebogen. Og i betragtning af deres kurs viser problemet sig at være alvorligt.
Der er dog en vej ud. Og det er baseret på det faktum, at transaktioner ikke fryser bare sådan - i hvert tilfælde er der en grund: noget der ikke passer til blockchain-systemet. Hvis du kan finde ud af det, vil du være i stand til at løse problemet med en transaktion, der sidder fast i systemet.
Den mest almindelige årsag til faste transaktioner er følgende:
- overbelastning af selve blockchain-systemet
- dannelsen af såkaldte mempools - køer til udførelse af transaktioner.
Faktum er, at populariteten af bitcoin som en temmelig dyr kryptokurrency vokser mere og mere, hvilket tiltrækker mange nye brugere til systemet. Mange af dem beslutter forskellige operationer uden virkelig at forstå deres struktur, og som et resultat bliver de forvirrede. Og blockchain-systemet opfatter sådanne brugers handlinger utvetydigt - som utilstrækkelige og reagerer skarpt: overbelastning og frysning. Naturligvis går transaktionen i dette tilfælde ikke igennem og hænger også.
Hvad angår mempools, opstår de af flere grunde:
- et meget stort antal brugere ønsker at lave en aftale, men de blokke, de udfylder, kan simpelthen ikke fysisk medtages i systemet på samme tid - en mempool vises;
- overførsler med høj kommission er de første og er mindre tilbøjelige til at risikere en kø, og hvis brugeren har indstillet en lav kommission eller slet ikke har angivet det, får mempoolen (og i lang tid) til ham.
Desuden kan man i sidstnævnte tilfælde ikke engang garantere, at denne transaktion overhovedet gennemføres, da den vil blive sendt til kommissionsmarkedet, og minearbejdere muligvis ikke er opmærksomme på den - transaktionen vil simpelthen hænge i deres mempool, indtil de finder en ny blok.
Så hvad kan der gøres for at løse problemet i både første og anden sag? Prøv enten at "skubbe" transaktionen videre eller annullere den, hvis det stadig er muligt. Der er flere muligheder for handling:
- Du kan prøve at bruge dobbeltudgift - indstillingen dobbelt udgift, som sikrer, at transaktionen bevæger sig, dvs. muligheden for at "skubbe igennem" ved at øge provisionen, hvis den oprindeligt var for lav. Dette er muligt, fordi modparter kun kontrollerer aktiver på deres konti i et bestemt øjeblik. Dette betyder, at hvis transaktionen er frossen, kan du sende en anden med en forhøjelse af provisionen. Begge transaktioner mislykkes, ingen grund til at bekymre sig om det.
- Brug af CPFP er en mekanisme, der giver dig mulighed for at oprette en transaktion med et input (det skal nødvendigvis være output fra en problemtransaktion - for eksempel den samme ændring) og sende bitcoins til dig selv.
- Brug af specielle acceleratorer til transaktioner, der kan bruges af både modtageren og afsenderen.
Men ingen af disse metoder giver en absolut garanti for, at transaktionen stadig vil blive annulleret eller skubbet igennem. Og ingen metode i dette tilfælde vil give sådanne garantier, fordi blockchain-systemet, som allerede nævnt, er designet på en sådan måde, at det ikke giver mulighed for annullering af transaktioner. Hvis de allerede er bekræftet (inkluderet i blokken), kan ingen metode hjælpe, men hvis de sidder fast før bekræftelse, kan du prøve.
Og vi skal huske, at en ikke-bekræftet transaktion ikke kan annulleres af sig selv. I dette tilfælde er det kun muligt at ændre displayet i brugerens tegnebog.