Kordusmaksete tutvustus
Avaleht
Artiklid
Kordusmaksete tutvustus

Kordusmaksete tutvustus

Keskmine
Avaldatud Feb 17, 2020VĂ€rskendatud Jan 31, 2023
7m

Mis on kordusmakse?

Kordusmakse on digitaalses rahasĂŒsteemis potentsiaalne probleem, kus samad rahalised vahendid saadetakse korraga kahele saajale. Protokoll, mis ilma adekvaatsete vastumeetmeteta probleemi ei lahenda, on pĂ”himĂ”tteliselt ohtlik – kasutajad ei saa kuidagi kontrollida, et saadud raha pole juba mujal Ă€ra kulutatud.

Digitaalse raha puhul on ĂŒlimalt oluline tagada, et konkreetseid ĂŒhikuid ei saaks kopeerida. Kogu sĂŒsteemi saaks kahjustada, kui Alice saaks 10 ĂŒhikut, kopeeriks ja kleebiks neid 10 korda ning saaks endale 100 ĂŒhikut. Sarnaselt ei saa selline skeem toimida, kui on vĂ”imalik saata samad 10 ĂŒhikut nii Bobile kui ka Carolile. Seega digitaalraha toimimiseks peavad olema mehhanismid, mis seda kĂ€itumist takistavad.


Kuidas saab kordusmakset vÀltida?

Tsentraliseeritud lÀhenemine

Tsentraliseeritud lahendust on tunduvalt lihtsam rakendada kui detsentraliseeritud alternatiive. Tavaliselt kuulub sinna ĂŒks jĂ€relevaataja, kes haldab sĂŒsteemi ning kontrollib ĂŒksuste kĂ€ibelelaskmist ja jaotust. Hea nĂ€ide kordusmakse probleemi tsentraliseeritud lahendusest on David Chaumi eCash. 

Pank vĂ”ib kasutajatele sularaha jĂ€ljendava digitaalse vara vĂ€ljastamiseks (vĂ”imalik anonĂŒĂŒmne ja vĂ”rdĂ”iguslik vahetus) kasutada pimedaid allkirju – nagu kirjeldas krĂŒptograaf David Chaum oma 1982. aasta kirjutises MittejĂ€lgitavate maksete pimedad allkirjad.

Sellisel juhul, kui kasutaja (nimetagem teda Daniks) soovib saada 100 dollari eest digitaalset raha, peab ta sellest kĂ”igepealt panka teavitama. Eeldusel, et tema konto saldo on positiivne, genereerib ta juhusliku arvu (vĂ”i mitu, vĂ€iksemate nimivÀÀrtuste puhul). Oletame, et ta loob viis numbrit, millest igaĂŒhe vÀÀrtuseks omistatakse 20 dollarit. Et pank ei saaks konkreetseid ĂŒhikuid jĂ€lgida, hĂ€gustab Dan juhuslikud arvud, lisades igaĂŒhele neist pimeda teguri .

SeejĂ€rel annab ta need andmed ĂŒle pangale, kes debiteerib tema kontolt 100 dollarit ja allkirjastab sĂ”numid, mis kinnitavad, et kĂ”ik viis teabeĂŒhikut on lunastatavad 20 dollari eest. Dan saab nĂŒĂŒd panga vĂ€ljastatud raha kulutada. Ta lĂ€heb Erini restorani ja ostab eine, mis maksab 40 dollarit. 

Dan saab iga digitaalse raha "kupĂŒĂŒriga" seotud juhusliku arvu avaldamiseks eemaldada pimeda teguri, mis toimib iga ĂŒhiku kordumatu identifikaatorina (sarnaselt seerianumbriga). Ta avaldab neist kaks Erinile, kes peab need kohe pangas lunastama, et Dan ei kulutaks neid teise kaupmehe juures. Pank kontrollib allkirjade kehtivust ja kui kĂ”ik nĂ€ib Ă”ige olevat, krediteerib Erini kontole 40 dollarit.

Kasutatud kupĂŒĂŒrid on nĂŒĂŒd sisuliselt pĂ”letatud ja kui Erin soovib oma uut saldot samamoodi kulutada, tuleb neid veel vĂ€ljastada.

Chaumian eCashi seadistus vĂ”ib olla kasulik privaatsete ĂŒlekannete puhul. Kuid selle vastupidavus kukub lĂ€bi, sest pank on ebaĂ”nnestumise kese. VĂ€lja antud rahatĂ€ht pole iseenesest midagi vÀÀrt, kuna selle vÀÀrtus tuleneb ĂŒksnes panga valmisolekust see dollariteks vahetada. Kliendid on panga meelevallas ja selle toimimiseks peavad lootma panga heale tahtele. See on just see probleem, mida krĂŒptoraha soovib lahendada.


Detsentraliseeritud lÀhenemine

Veelgi keerulisem on tagada, et kordusmakse ei toimuks ökosĂŒsteemis, kus puudub jĂ€relevaataja. Sama vĂ”imsad osalejad peavad kooskĂ”lastama reeglite kogumi, mis hoiavad Ă€ra pettuseid ja motiveerivad kĂ”iki kasutajaid ausalt tegutsema.

Suurim Bitcoini valges raamatus vÀljapakutud uuendus oli lahendus kordusmaksete probleemile. Ehkki sellele ei viidatud, pakkus Satoshi vÀlja andmestruktuuri, mida praegu tuntakse kui plokiahelat.

Plokiahel on tegelikult lihtsalt andmebaas, millel on mĂ”ned ainulaadsed omadused. VĂ”rgus osalejad (nimetatakse sĂ”lmedeks) kasutavad spetsiaalset tarkvara, mis vĂ”imaldab neil sĂŒnkroonida oma andmebaasi koopia teistega. Tulemuseks on see, et kogu vĂ”rk saab auditeerida tehingute ajalugu, mis pĂ€rinevad geneesiblokist. Kui plokiahel on avalikult nĂ€htav, on petturlikke tegevusi, nĂ€iteks kordusmakset ĂŒritavaid tehinguid lihtne tuvastada ja Ă€ra hoida.

Kui kasutaja edastab tehingu, ei lisata seda kohe plokiahelasse – esmalt tuleb see kaevandamise kaudu plokki kaasata. SeetĂ”ttu peaks saaja tehingut kehtivaks pidama alles pĂ€rast selle ploki ahelasse lisamist. Vastasel juhul vĂ”ivad nad raha kaotada, kuna saatja vĂ”ib samasi mĂŒnte mujal kulutada. 

Peale tehingu kinnitamist ei saa mĂŒntidega kordumakset teha, kuna omandiĂ”igus mÀÀratakse uuele kasutajale ja kogu vĂ”rk saab seda kontrollida. Just sel pĂ”hjusel soovitavad paljud enne makse kehtivaks tunnistamist oodata mitut kinnitust. Iga jĂ€rgmine plokk suurendab drastiliselt ahela muutmiseks vĂ”i ĂŒmberkirjutamiseks vajalikku jĂ”upingutust (vĂ”ib juhtuda 51% rĂŒnnaku ajal).

Vaatame uuesti restorani stsenaariumi. Dan lÀheb tagasi restorani ja mÀrkab seekord aknal 'Bitcoin Accepted Here' kleebist. Talle meeldis söök eelmisel korral, nii et tellib selle uuesti. See maksab talle 0,005 BTC-d. 

Erin saadab talle avaliku aadressi, millele ta peab raha saatma. Dan esitab tehingu, mis on sisuliselt allkirjastatud sĂ”num, milles öeldakse, et Dani valduses olnud 0,005 BTC on nĂŒĂŒd Erini kĂ€es. Üksikasjadesse laskumata vĂ”ib igaĂŒks, kellele esitatakse Dani allkirjastatud tehing, kontrollida, et mĂŒndid olid tema omanduses ja seega oli tal Ă”igus neid saata.

Nagu mainitud, kehtib tehing ainult siis, kui see sisaldub kinnitatavas plokis. Kinnitamata tehingute vastuvĂ”tmine sarnaneb eelmises nĂ€ites toodud 40-dollarilise eCashi vastuvĂ”tmisega, ilma seda kohe pangast sularahana vĂ€lja vĂ”tmata – see vĂ”imaldab saatjal kulutada seda mujal. SeetĂ”ttu on soovitatav, et Erin ootaks enne Dani makse vastuvĂ”tmist vĂ€hemalt kuute blokeerimiskinnitust (umbes ĂŒks tund).


Bitcoini kordusmakse

Bitcoin on hoolikalt vĂ€lja töötatud, et vĂ€ltida kordusmakse rĂŒnnakuid, vĂ€hemalt siis, kui protokolli kasutatakse ootuspĂ€raselt. See tĂ€hendab, et kui ĂŒksikisikud ootavad plokis tehingute kinnitamist, ei ole saatjal lihtne seda tagasi vĂ”tta. Selleks peaksid nad plokiahela â€žĂŒmber pöörama“, mis nĂ”uab ebarealistlikku rĂ€sivĂ”imsust.

Siiski on kĂ€putĂ€is kordusmaksete rĂŒnnakuid, mis on suunatud osapooltele, kes aktsepteerivad kinnitamata tehinguid. NĂ€iteks vĂ€ikese vÀÀrtusega ostude puhul ei pruugi kaupmees tahta oodata, kuni tehingud plokki kaasatakse. TĂ”enĂ€oliselt ei saa hĂ”ivatud kiirtoidurestoran endale ootamist lubada, kui vĂ”rk igat ostu töötleb. Seega, kui ettevĂ”te lubab „kiirmakseid“, avab ta end kordusmaksete vĂ”imalusele. Keegi vĂ”ib tellida burgeri, maksta selle eest ja saata kohe samad rahalised vahendid enda aadressile. KĂ”rgema teenustasu korral kinnitatakse tĂ”enĂ€oliselt see uus tehing esimesena, mis muudab eelmise kehtetuks.

Kordusmaksete tegemiseks on kolm populaarset meetodit:

  • 51% rĂŒnnakud: kui ĂŒks ĂŒksus vĂ”i organisatsioon suudab kontrollida rĂ€simÀÀrast 50% vĂ”i rohkem, siis see vĂ”imaldab neil vĂ€listada vĂ”i muuta tehingute jĂ€rjestust. Selline rĂŒnnak on Bitcoini suhtes vĂ€ga ebatĂ”enĂ€oline, kuid seda on juhtunud teistes vĂ”rkudes.

  • VĂ”istlusrĂŒnnakud: kaks vastandlikku tehingut edastatakse jĂ€rjest, kasutades samu vahendeid, kuid ainult ĂŒks tehing kinnitatakse. RĂŒndaja eesmĂ€rk on muuta makse kehtetuks, kinnitades ainult talle kasuliku tehingu (nt saates samad rahalised vahendid enda kontrollitavale aadressile). VĂ”istlusrĂŒnnakute puhul on vaja, et saaja aktsepteeriks maksena kinnitamata tehingut.

  • Finney rĂŒnnakud: rĂŒndaja kaevandab eelnevalt plokki ĂŒhe tehingu ilma seda kohe vĂ”rku edastamata. Selle asemel kulutab ta samu mĂŒnte mĂ”ne teise tehinguga ja alles seejĂ€rel edastab oma varem kaevandatud ploki, mis vĂ”ib makse kehtetuks muuta. Finney rĂŒnnakute puhul peab toimuma teatud sĂŒndmuste jada ja need sĂ”ltuvad ka sellest, kas saaja nĂ”ustub kinnitamata tehingutega.

Nagu nÀeme, vÀhendab kaupmees, kes ootab ploki kinnitust, mÀrkimisvÀÀrselt riske sattuda kordusmksete ohvriks.


LÔppmÀrkused

Kordusmakse vĂ”imaldab kasutajal rahalise kasu saamiseks elektroonilist sularahasĂŒsteemi manipuleerida, kasutades samu vahendeid rohkem kui ĂŒks kord. Traditsiooniliselt on selle probleemi adekvaatsete lahenduste puudumine takistanud antud valdkonna arengut.

Õnneks pakkus pimedate allkirjade kasutamine tsentraliseeritud finantsskeemide puhul huvitava lahenduse. Hiljem kutsus töötĂ”enduse mehhanismide ja plokiahela tehnoloogia loomine ellu Bitcoini kui vĂ”imsa detsentraliseeritud raha vormi, mis omakorda inspireeris tuhandeid teisi krĂŒptorahaprojekte.