Kas ir dubulti tēriņi?

Divkārši tēriņi ir potenciāla problēma digitālajā kases sistēmā, kurā vieni un tie paši līdzekļi tiek nosūtīti diviem saņēmējiem vienlaikus. Bez jebkādiem atbilstošiem pretpasākumiem protokols, kas neatrisina problēmu, tiek būtiski iedragāts — lietotājiem nav iespējas pārbaudīt, vai viņu saņemtie līdzekļi jau nav iztērēti citur.

Runājot par digitālo skaidru naudu, ārkārtīgi svarīgi ir nodrošināt, lai konkrētas vienības nevarētu dublēt. Visa sistēma tiktu iedragāta, ja Alise varētu saņemt 10 vienības, kopēt un ielīmēt tās 10 reizes un atrast sev 100 vienības. Tāpat šāda shēma nevar darboties, ja viņa var nosūtīt tās pašas 10 vienības gan Bobam, gan Kerolai vienlaikus. Tātad, lai digitālā nauda darbotos, ir jābūt mehānismiem, lai novērstu šo uzvedību.


Kā novērst dubultu tēriņu izmantošanu?

Centralizēta pieeja

Centralizēto maršrutu ir daudz vieglāk īstenot nekā decentralizētas alternatīvas. Tas parasti ietver vienu pārraugu, kas pārvalda sistēmu un kontrolē vienību izdošanu un izplatīšanu. Labs piemērs centralizētam dubulttēriņu problēmas risinājumam ir Deivida Čauma eCash.

Lai izsniegtu lietotājiem digitālos līdzekļus, kas atdarina skaidru naudu (ar iespēju veikt anonīmu un vienādranga apmaiņu), banka var izmantot aklos parakstus, kā to aprakstījis kriptogrāfs Deivids Čovs savā 1982. gada dokumentā Aklie paraksti neizsekojamiem maksājumiem.

Šādā kontekstā, ja lietotājs (sauksim viņu par Danu) vēlas saņemt 100 USD digitālā skaidrā naudā, viņam vispirms ir jāinformē banka. Ja viņa kontā ir atlikums, viņš ģenerēs nejaušu skaitli (vai daudzus, mazākām nominālvērtībām). Pieņemsim, ka viņš ģenerē piecus skaitļus, no kuriem katram tiek piešķirta vērtība 20 $. Lai neļautu bankai izsekot konkrētas vienības, Dens aptumšo nejaušos skaitļus, pievienojot katram no tiem aptumšojošo faktoru.

Pēc tam viņš šos datus nodod bankai, kas no viņa konta debetē 100 ASV dolārus, un paraksta ziņojumus, kas apliecina, ka katra no piecām informācijas daļām ir izpērkama par 20 $. Tagad Dans var tērēt bankas izsniegtos līdzekļus. Viņš dodas uz Erinas restorānu un iegādājas 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 skaidras 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āizpērk bankā, lai Dens neiztērētu tos citam tirgotājam. Banka pārbaudīs, vai paraksti ir derīgi, un, ja viss izrādīsies pareizi, tā Erinas kontā ieskaitīs 40 USD.

Izmantotie rēķini tagad būtībā ir sadedzināti, un, ja Erina vēlas iztērēt savu jauno atlikumu, ir jāizsniedz vēl vairāk.

Chaumian eCash iestatījums varētu būt vērtīgs privātiem pārskaitījumiem. Taču tai neizdodas izturēt, jo banka ir galvenais neveiksmes punkts. Izsniegtais vekselis pats par sevi nav nekā vērts, jo tā vērtība ir atvasināta tikai no bankas gatavības to apmainīt pret dolāriem. Klienti ir bankas žēlastībā, un, lai nauda darbotos, viņiem jāpaļaujas uz tās labo gribu. Tieši šī ir problēma, kuru kriptovalūta cenšas novērst.


Decentralizēta pieeja

Nodrošināt, ka līdzekļus nevar divreiz iztērēt ekosistēmā, kurā nav pārrauga, ir grūtāk. 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 plaši 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, kas datētas ar ģenēzes bloku. Ja blokķēde ir publiski skatāma, 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 uzreiz pievienots blokķēdei — tas vispirms ir jāiekļauj blokā, izmantojot ieguvi. Tādējādi saņēmējam ir jāuzskata darījums 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 tās pašas monētas var iztērēt citur.

Kad darījums ir apstiprināts, monētas nevar iztērēt divreiz, jo īpašumtiesības tiek piešķirtas jaunam lietotājam, un viss tīkls var to pārbaudīt. Šī iemesla dēļ daudzi iesaka gaidīt vairākus apstiprinājumus, pirms pieņemt maksājumu kā derīgu. Katrs nākamais bloks krasi palielina piepūles apjomu, kas nepieciešams ķēdes modificēšanai vai pārrakstīšanai (kas var notikt 51% uzbrukuma laikā).

Apskatīsim restorāna scenāriju. Dens atgriežas restorānā un šoreiz uz loga pamana Bitcoin Accepted Here uzlīmi. Viņam patika maltīte, ko viņš bija pagājušo reizi, tāpēc pasūta to vēlreiz. Tas viņam maksā 0,005 BTC.

Erīna viņam uzrāda publisku adresi, uz kuru viņam jānosūta līdzekļi. Dens 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 ir Erinas īpašumā. Neiedziļinoties pārāk daudz detaļās, ikviens, kuram ir iesniegts Dana parakstīts darījums, var pārbaudīt, vai monētas patiešām bija viņa īpašumā un tāpēc viņam bija tiesības tās nosūtīt.

Tomēr, kā minēts, darījums ir derīgs tikai tad, ja tas ir iekļauts blokā, kas tiek apstiprināts. Neapstiprinātu darījumu pieņemšana līdzinās iepriekšējā piemērā 40 $ e-skaidras naudas pieņemšanai, tos nekavējoties neizmaksājot bankā – tas ļauj sūtītājam tos iztērēt citur. Tāpēc Erīnai ieteicams gaidīt vismaz 6 bloķēšanas apstiprinājumus (apmēram vienu stundu), pirms pieņem Dana maksājumu.


Divkārši tēriņi 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. Tas ir, ja personas gaida darījumu apstiprināšanu blokā, sūtītājam nav vienkārša veida, kā to atsaukt. Lai to izdarītu, viņiem būtu “jāapgriež” blokķēde, kas prasa nereālu jaukšanas jaudu.

Tomēr ir daži dubultu tēriņu uzbrukumi, kuru mērķis ir puses, 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 stāvēt malā, jo tīkls apstrādā katru pirkumu. Tātad, ja uzņēmums nodrošina “tūlītējos” maksājumus, tas var dubultot tēriņus. Kāds varētu pasūtīt burgeru, samaksāt par to un pēc tam nekavējoties nosūtīt tos pašus līdzekļus uz savu adresi. Izmantojot augstāku maksu, šis jaunais darījums, visticamāk, tiks apstiprināts pirmais, un tāpēc iepriekšējais darījums kļūs nederīgs.

Ir trīs populāras metodes dubultu tēriņu veikšanai:

  • 51% uzbrukumi: kad viena vienība vai organizācija izdodas kontrolēt vairāk nekā 50% no jaukšanas ātruma, kas ļauj 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 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). Sacensību uzbrukumiem saņēmējam ir jāpieņem neapstiprināts darījums kā maksājums.

  • Finney uzbrukumi: uzbrucējs vienu darījumu ieskaita blokā, nekavējoties nepārraidot to tīklā. Tā vietā viņš iztērē tās pašas monētas citā darījumā un tikai pēc tam 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 arī atkarīgi no tā, vai saņēmējs pieņem neapstiprinātus darījumus.

Kā redzam, tirgotājs, kurš gaida bloka apstiprinājumu, ievērojami samazinās risku kļūt par dubultu tēriņu upuri.


Noslēguma domas

Divkāršs tēriņš ļauj lietotājam izspēlēt elektronisko naudas sistēmu, lai gūtu finansiālu labumu, 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 progresu šajā jomā.

Tomēr, par laimi, aklo parakstu izmantošana piedāvāja interesantu risinājumu centralizētām finanšu shēmām. Vēlāk Proof of Work mehānismu un blokķēdes tehnoloģijas izveide radīja Bitcoin kā spēcīgu decentralizētas naudas veidu, kas, savukārt, iedvesmoja tūkstošiem citu kriptovalūtu projektu.