Kas ir dubulti izdevumi?
Dubultie tēriņi ir potenciāla problēma digitālās naudas sistēmā, kurā vieni un tie paši līdzekļi tiek nosūtīti diviem adresātiem vienlaikus. Ja nav atbilstošu pretpasākumu, protokols, kas nerisina problēmu, būtībā ir lemts neveiksmei. Lietotājiem nav iespējas pārbaudīt, vai saņemtie līdzekļi jau nav iztērēti citur.
Runājot par digitālo naudu, ir svarīgi nodrošināt, lai konkrētas vienības nevarētu dublēt. Visa sistēma tiktu apdraudēta, ja Alise varētu saņemt 10 vienības, nokopēt un ielīmēt tās 10 reizes un iegūt 100 vienības. Tāpat šāda sistēma nevar darboties, ja tā var Bobam un Kerolai vienlaikus nosūtīt tās pašas 10 vienības. Lai digitālā nauda darbotos, ir jābūt mehānismiem, lai novērstu šo uzvedību.
Kā izvairīties no dubultiem tēriņiem?
Centralizēta pieeja
Centralizēto pieeju ir daudz vieglāk īstenot nekā decentralizētas alternatīvas. Tas parasti ietver uzraugu, kas pārvalda sistēmu un kontrolē vienību izdošanu un izplatīšanu. Labs piemērs centralizētam dubulto izdevumu problēmas risinājumam ir David Chaum eCash.
Lai izsniegtu lietotājiem digitālu līdzekli, kas atdarina naudu (kas var tikt izmantots anonīmiem, vienādranga apmaiņām), banka var izmantot aklos parakstus, kā to aprakstījis kriptogrāfs Deivids Čovs savā 1982. gada dokumentā Blind Signatures for Untraceable Payments .
Šādā kontekstā, ja lietotājs (sauksim viņu par Danu) vēlas saņemt 100 USD digitālā naudā, viņam vispirms ir jāinformē banka. Ja viņam ir konta atlikums, viņš ģenerēs nejaušu skaitli (vai vairākus, mazām nominālvērtībām). Pieņemsim, ka viņš ģenerē piecus skaitļus, no kuriem katram ir piešķirta vērtība 20 USD. Lai neļautu bankai pamanīt noteiktas vienības, Dens šifrē nejaušos skaitļus, katram pievienojot apžilbināšanas koeficientu.
Pēc tam viņš iesniedz šos datus bankai, kas no viņa konta debetē 100 USD un paraksta ziņojumus, kas apliecina, ka katra no piecām monētām ir izpērkama par 20 USD. Tagad Dans var tērēt bankas izsniegtos līdzekļus. Viņš dodas uz Erinas restorānu un nopērk maltīti, kas viņam maksā 40 USD.
Dens var noņemt apžilbinošo faktoru, lai atklātu nejaušo skaitli, kas saistīts ar katru digitālās naudas "rēķinu", kas kalpo kā unikāls katras vienības identifikators (līdzīgi kā sērijas numurs). Viņš atklāj divus no tiem Erīnai, kurai tagad tie nekavējoties jāapmaina bankā, lai Dens neiztērētu tos pie cita tirgotāja. Banka pārbaudīs, vai paraksti ir derīgi, un, ja viss izskatīsies pareizi, Erinas kontā ieskaitīs 40 dolārus.
Izlietotās biļetes tagad būtībā ir bezjēdzīgas, un ir jāizsniedz vairāk, ja Erina vēlas iztērēt savu jauno atlikumu tādā pašā veidā.
Chaumian eCash sistēma varētu būt noderīga privātiem pārskaitījumiem. Bet tas neizdodas noturības dēļ, jo banka ir galvenais neveiksmes punkts. Izlaista banknote pati par sevi ir bezvērtīga, jo tās vērtība rodas tikai no bankas gatavības to apmainīt pret dolāriem. Klienti ir bankas žēlastībā, un viņiem jāpaļaujas uz tās labo gribu, lai nauda darbotos. Tieši šo problēmu cenšas atrisināt kriptovalūtas.
Decentralizēta pieeja
Grūtāk ir nodrošināt, ka ekosistēmā bez uzrauga līdzekļus nevar iztērēt divreiz. Tikpat spēcīgiem dalībniekiem ir jākoordinē noteikumu kopums, kas novērš krāpšanu un mudina visus lietotājus rīkoties godīgi.
Lielākais jauninājums, kas tika prezentēts Bitcoin baltajā grāmatā, bija dubulto izdevumu problēmas risinājums. Lai gan tas nav minēts kā tāds, Satoshi ierosināja datu struktūru, kas tagad pazīstama kā blokķēde.
Blokķēde patiesībā ir tikai datu bāze ar dažām unikālām īpašībām. Tīkla dalībnieki (saukti par mezgliem) izmanto specializētu programmatūru, kas ļauj sinhronizēt datu bāzes kopiju ar saviem vienaudžiem. Rezultāts ir tāds, ka viss tīkls var pārbaudīt darījumu vēsturi atpakaļ uz ģenēzes bloku. Tā kā blokķēde ir publiski pieejama, ir viegli atklāt un novērst krāpnieciskas darbības, piemēram, darījumus, kas mēģina dubultot tēriņus.
Kad lietotājs pārraida darījumu, tas netiek nekavējoties pievienots blokķēdei, tas vispirms ir jāiekļauj blokā, izmantojot ieguvi. Tāpēc saņēmējam darījums jāuzskata par derīgu tikai pēc tam, kad tā bloks ir pievienots ķēdei. Pretējā gadījumā viņi riskē zaudēt līdzekļus, jo sūtītājs var iztērēt tās pašas vienības citur.
Kad darījums ir apstiprināts, vienības nevar iztērēt divreiz, jo īpašumtiesības tiek piešķirtas jaunam lietotājam, un viss tīkls var to pārbaudīt. Tāpēc daudzi iesaka gaidīt vairākus apstiprinājumus, pirms uzskata, ka maksājums ir derīgs. Katrs nākamais bloks ievērojami palielina piepūli, kas nepieciešama, lai pārveidotu vai pārrakstītu ķēdi (kas var notikt 51% uzbrukumā).
Atgriezīsimies pie restorāna scenārija. Dens atgriežas restorānā, un šoreiz uz loga ir Bitcoin Accepted uzlīme. Viņam patika maltīte, ko viņš bija pagājušo reizi, tāpēc viņš to pasūta vēlreiz. Tas viņam maksā 0,005 BTC.
Erina viņam sniedz publisku adresi, uz kuru viņam jānosūta līdzekļi. Dan pārraida darījumu, kas būtībā ir parakstīts ziņojums, kurā teikts, ka 0,005 BTC, kas bija Dana īpašumā, tagad pieder Erīnai. Bez detalizētām detaļām ikviens, kuram ir iesniegts Dena parakstīts darījums, var pārbaudīt, vai viņa rīcībā bija līdzekļi, un tāpēc viņam bija tiesības tos nosūtīt.
Tomēr, kā minēts, darījums ir spēkā tikai tad, ja tas ir iekļauts blokā, kas ir apstiprināts. Neapstiprinātu darījumu pieņemšana ir nedaudz līdzīga iepriekšējā piemērā norādīto 40 ASV dolāru pieņemšanai eCash, nekavējoties neiekasējot tos no bankas, ļaujot sūtītājam tos iztērēt citur. Tāpēc ieteicams Erin gaidīt vismaz 6 bloka apstiprinājumus (apmēram stundu), pirms pieņem maksājumu no Dan.
Dubultie izdevumi un Bitcoin
Bitcoin ir rūpīgi izstrādāts, lai novērstu dubultu tēriņu uzbrukumus, vismaz tad, kad protokols tiek izmantots, kā paredzēts. Citiem vārdiem sakot, ja cilvēki gaida darījumu apstiprināšanu blokā, sūtītājam nav viegli tos atcelt. Lai to izdarītu, viņiem būtu “jāapgriež” blokķēde, kas prasa nereālu jaukšanas jaudu.
Tomēr daži dubulttēriņu uzbrukumi ir vērsti pret pusēm, kas pieņem neapstiprinātus darījumus. Piemēram, mazas vērtības pirkumiem tirgotājs var nevēlēties gaidīt, līdz darījumi tiks iekļauti blokā. Aizņemts ātrās ēdināšanas restorāns, iespējams, nevar atļauties gaidīt, kamēr tīkls apstrādās katru pirkumu. Tātad, ja uzņēmums atļauj "tūlītējus" maksājumus, tas var dubultot tēriņus. Kāds var pasūtīt hamburgeru, samaksāt par to un pēc tam nekavējoties nosūtīt tos pašus līdzekļus uz savu adresi. Ja ir lielākas maksas, pastāv risks, ka šis jaunais darījums vispirms tiks apstiprināts, tādējādi padarot iepriekšējo darījumu par nederīgu.
Ir trīs populāras dubultu izdevumu metodes:
51% uzbrukumi: kad viena vienība vai organizācija iegūst kontroli pār 50% no jaukšanas līmeņa, ļaujot tai izslēgt vai mainīt darījumu secību. Šāds uzbrukums Bitcoin ir ļoti maz ticams, taču tas ir noticis citos tīklos.
Sacensību uzbrukumi: tiek pārraidīti divi pretrunīgi darījumi pēc kārtas, izmantojot vienus un tos pašus līdzekļus, taču tiek apstiprināts tikai viens darījums. Uzbrucēja mērķis ir padarīt maksājumu par nederīgu, apstiprinot tikai to darījumu, kas viņam dod labumu (piemēram, nosūtot tos pašus līdzekļus uz viņa kontrolēto adresi). Rasu uzbrukumi piespiež saņēmēju pieņemt neapstiprinātu darījumu kā maksājumu.
Finney uzbrukumi: uzbrucējs veic darījumu blokā, nekavējoties nepārraidot to tīklā. Tā vietā tas tērē tās pašas monētas citā darījumā un tikai pārraida savu iepriekš iegūto bloku, kas var padarīt maksājumu nederīgu. Finney uzbrukumiem ir nepieciešama noteikta notikumu secība, un tie ir pakļauti arī tam, ka saņēmējs pieņem neapstiprinātus darījumus.
Kā redzam, komersants, kurš gaida bloka apstiprinājumus, ievērojami samazinās riskus kļūt par dubultu tēriņu upuri.
Lai secinātu
Dubultā tēriņa ļauj lietotājam manipulēt ar elektroniskās naudas sistēmu saviem mērķiem, izmantojot vienus un tos pašus līdzekļus vairāk nekā vienu reizi. Tradicionāli adekvātu problēmas risinājumu trūkums ir kavējis turpmāku progresu.
Tomēr, par laimi, aklo parakstu izmantošana piedāvā pievilcīgu risinājumu centralizētām finanšu sistēmām. Vēlāk, izveidojot darba pierādīšanas mehānismus un blokķēdes tehnoloģiju, radās Bitcoin — decentralizētas valūtas veids, kas savukārt iedvesmoja tūkstošiem citu kriptovalūtu projektu.

