Probleemi tuum
Topeltkulutamine – see on nagu oja, mis liigub tagasi oma algusesse, kustunud raha pärast võitleb igavene õnn.
Miks see teie kontot ähvardab
Kui teie rahakott ei suhtle korralikult plokiahelaga, võite korduda sama tehingu kolm korda: esialgne, kinnitamine, ja siis jälle kordus – iga kord erakorraline hoiatuskell.
Tehingu kordamise mehhanism
Siin on asi: krüptovõrgustik kasutab „nonce“i, uniikat numbrit, mis iga tehinguga liigub edasi; kui sama nonce kordub, loetakse tehing tagasi ja süsteem käivitab automaatsele tasakaalu taastamise. Pikk, kuid elutav selgitus: kui teie seade ajavööndi tõttu eksib või ühendus laguneb, võib server arvata, et eelmise tehingu lõpp ei jõua, ja taaskäivitab selle uuesti, võttes ära teie varad otse rakenduse teisele kasutajale.
Kuidas see juhtub
Võtmekettad, mis säilitavad private keys, on nagu vanad kartulid – aeg aegadel lagunevad. Kui teie nutitelefon või arvuti käivitub pärast ootamatut taaskäivitust, ei pruugi see viimasest plokist aru saada. Sellises olukorras saadab wallet sama andmepaketi kaks korda, üks kord ennetuses, teine kord tüsistuste lahendamiseks.
Üldlevinud vildid
Üks, kaks – lihtne viga: olete lisanud sama lepinguaadressi kahte kontot, et hajutada riske. Kahekorne sisselogimine kakselt eri brauserilt samaaegselt? Pöördume tagasi “race condition” lohkumise poole – see on kiiruseviga ja teie rahakott on võlgnevuses.
Praktilised lahendused
Järgnevalt: kasutage ainult usaldusväärseid tarkvarasid, mis kontrollivad nonce’i automaatselt. Vaadake, et kõik seadmed – mobiil, PC, tahvel – oleksid sünkroniseeritud ja ajaliselt täpsed, sest aja kõrvalejäikud on tihtipeale süüdlaseks.
Mitmekordse allkirja valik
Siin on deal: rakendage mitme allkirjaga tehingut, kus vähemalt kaks eraldi võti ja eraldi seade peavad kinnitama samasuguse summaga tehingut. See väldib ühe seadme viga kaheksandist laiskust.
Kontrolli kinnitused enne saatmist
Kasuta “optimistlik ülekannet” – ootad kinnituse enne, kui tehinguid edastad. See tähendab, et igale tehingule tuleb enne lõplikku kinnitamist pärida blockchaini node’ilt, et veenduda, et nonce on veel vaba. Kui see satub ‘in flight’, jäta see ootama.
Tehke regulaarsed seirangud
Jälgige oma konto tasakaalu otse node’ilt, mitte ainult wallet’i UI-st. Kasutage kolmanda osapoole bloki‑kõlvist, näiteks cryptobettingee.com, et näha, kas transaktio on lõplikult kaevandatud.
Viimane sõna
Vaadata, et iga tehingu „nonce“ on unikaalne, mis tähendab, et peaksime rakendama automaatset skripti, mis ennetab kaks korda sisestatud väärtuse, ja see on ainus kindel viis hoida oma krüptorahad turvalise käe all.