Cheltuieli duble

Cheltuieli duble ( ing.  Double-spending ) - revânzarea (înstrăinarea) acelorași active. De obicei vorbim de sisteme de plată electronică, care au în mod firesc capacitatea de a copia starea, ceea ce vă permite să efectuați mai multe plăți din aceeași stare de plecare.

Descriere

Pentru majoritatea achizițiilor mici, procesul de cumpărare și vânzare se reduce la un schimb direct de bunuri pentru bani. Imediat după transferul bunurilor, cumpărătorul devine noul proprietar. Există însă situații în care între încheierea tranzacției și înregistrarea transferului de proprietate trece o perioadă semnificativă de timp. Destul de des, astfel de situații apar în tranzacțiile imobiliare. Acest lucru permite vânzătorului să vândă același produs de mai multe ori către diferiți cumpărători și să primească plată de la aceștia de mai multe ori. Practica de a împrumuta în mod repetat bani de la diferite persoane împotriva garanției aceleiași proprietăți a condus la acest rezultat [1] [2] . Acum, uneori, acest lucru se întâmplă din cauza neglijenței vânzătorului [3] , dar cel mai adesea este o variantă de fraudă [3] . De exemplu, după ce a plătit bani pentru un apartament într-o clădire nouă, după un timp (uneori câțiva ani), proprietarul poate afla că noul său apartament nu îi aparține numai. Există incidente similare la cumpărarea de apartamente pe piața secundară [4] , când cumpărătorul se poate asigura că proprietatea a aparținut cu adevărat vânzătorului înainte, dar nu există nicio garanție că nu a fost vândută cu puțin timp înainte de tranzacție sau nu va fi vândută. din nou la scurt timp după el. Modificările în legislație și utilizarea unei singure înregistrări a datelor privind astfel de tranzacții sunt menite să elimine posibilitatea de a înșela cumpărătorul [3] .

Situația este fundamental diferită atunci când aveți de-a face cu bunuri digitale - există întotdeauna posibilitatea de a vinde o copie identică. În acest caz, fiecare cumpărător primește o copie completă a mărfurilor, iar aceasta nu este considerată fraudă. Dar ușurința copierii și identitatea copiilor devin o problemă serioasă pentru schemele de bani digitali similare cu numerarul. O „monedă” digitală pentru transfer gratuit trebuie să fie sub forma unui . Dar un fișier digital este ușor de copiat. Proprietarul „monedei” poate transfera copii ale acesteia unui număr mare de vânzători în plată pentru mărfuri. Fiecare destinatar se poate convinge cu ușurință că dosarul primit respectă în totalitate standardul, dar nu va fi sigur că aceeași copie nu a fost plătită altui vânzător [5] .

Prevenirea

Toate sistemele de plată, cu excepția criptomonedelor , sunt centralizate - au o legătură centrală (administrativă), unde este asigurat controlul admisibilității unei anumite operațiuni [5] . În același timp, baza pentru luarea deciziilor este informația administratorului însuși, și nu informațiile furnizate de plătitor. Prin urmare, copierea stării sistemului de plată de către plătitor vă permite doar să generați cheltuieli duble (de exemplu, dacă aveți 1.000 de ruble în cont, creați două ordine de plată într -o bancă client pentru 1.000 de ruble fiecare), dar execuția efectivă vor avea loc în ordinea în care sunt primite comenzile de către bancă, iar unele dintre ele vor fi respinse din lipsă de fonduri.

Când plătiți în numerar, nu este nevoie de intermediar. Cumpărătorul transferă banii către vânzător și nu mai poate transfera aceiași bani către alt vânzător. Dacă ar fi posibil să se efectueze o tranzacție similară în formă electronică, atunci nu ar fi nevoie de un administrator de sistem de plată. Dar o analogie directă nu a putut fi realizată.

Una dintre formele de circulație a banilor fără numerar este o cambie [6] . Cine este proprietarul actual al facturii și puterile sale pot fi stabilite printr-un lanț de avize ( aviz ). Dacă proprietarul actual al facturii, Alice, face un aviz „să plătească la ordinul lui Bob” și își pune semnătura, atunci Bob devine următorul proprietar al facturii și numai el poate dispune de ea, inclusiv făcând o nouă aviz. A fost un mecanism similar care sa dovedit a fi implementat în formă electronică. O „monedă electronică” conține informații cantitative („valoare”) și o indicație a proprietarului (mai precis, adresa acestuia, formată din cheia sa publică). Pentru a transfera „moneda electronică”, proprietarul semnează hash-ul tranzacției anterioare și cheia publică (adresa criptomonedei) a viitorului proprietar cu cheia sa privată [5] . Acum doar proprietarul cheii private de la noua adresă va putea face o nouă tranzacție cu această „monedă electronică”. Restul nodurilor rețelei, înainte de a accepta tranzacția pentru procesare, verifică semnătura. Corectitudinea semnăturii indică faptul că inițiatorul tranzacției este proprietarul cheii secrete corespunzătoare adresei proprietarului actual. Destinatarul „monedei electronice” poate verifica întregul lanț de semnături (până în momentul emiterii ) și se poate asigura că este corect. Dar din cauza posibilității de copiere, destinatarul nu va putea stabili de câte ori fostul proprietar a cheltuit deja această „monedă” [5] . La sfârșitul anului 2017, au fost deja propuși mai mulți algoritmi pentru a asigura un consens asupra tranzacției care este considerată adevărată, ceea ce face posibilă ignorarea încercărilor de dublare a aceleiași „monede electronice”.

Bazat pe blockchain

În sistemele de plată descentralizate (criptomonede) nu există un organism de control. Pentru a preveni dublarea cheltuielilor, s-a propus combinarea tranzacțiilor în blocuri care sunt construite în lanțuri continue - formează un blockchain . Pentru a obține dreptul de a adăuga un bloc, trebuie să faceți dovada efectuării lucrării („Dovada muncii”) [7] . Verificarea lanțului vă permite să vă asigurați că aceeași „monedă electronică” nu a fost cheltuită înainte. De fapt, tranzacția este certificată de nodul care o include în bloc. Orice alte tranzacții cu aceeași „monedă electronică” și același proprietar vor fi acum ignorate de sistem. Ulterior au fost propuse scheme în care dovada mizei este folosită în loc de dovada muncii . Scopul principal al construirii unui blockchain este de a oferi un criteriu pentru a ajunge la un consens asupra versiunii tranzacțiilor care este considerată corectă. Un sistem este sigur atâta timp cât cea mai mare parte a resurselor sale de calcul se află sub controlul colectiv al participanților onești [8] .

Informațiile din blockchain sunt deschise tuturor. Dar contrapărțile pot verifica doar dacă expeditorul are active la un anumit moment din trecut. Dacă mai multe plăți care transferă același activ sunt efectuate suficient de rapid, atunci informațiile despre acestea nu vor primi încă confirmare (nu vor cădea în următorul bloc sau nu vor fi altfel legitimate) și fiecare dintre destinatari va avea încredere în legitimitatea tranzacțiilor. . Abia după ce una dintre tranzacții (nu neapărat prima în timp) este confirmată, restul tranzacțiilor cu același activ nu vor mai fi valabile. Dar există posibilitatea ca, din cauza ramificării temporare a lanțului de blocuri , ramurile paralele pot conține tranzacții care gestionează același activ în moduri diferite. Fiecare dintre ramuri este egală, nu eronată. În procesul de formare a blocurilor noi ( exploatare sau forjare ), una dintre ramuri va deveni mai lungă. Va profita, iar ramura scurtă va muri, iar toate tranzacțiile care se află în blocurile sale vor trebui să fie înlocuite în blocuri [9] . Deoarece una dintre versiunile tranzacției contestate va rămâne în blocul format anterior, versiunea tranzacției din ramura „moartă” va fi respinsă atunci când se încearcă să o adauge la un nou bloc. Probabilitatea existenței lanțurilor paralele este extrem de mică și scade exponențial odată cu creșterea lungimii lanțului [9] . Astfel, cu cât o tranzacție are mai multe confirmări, cu atât este mai puțin probabil să anuleze tranzacția din cauza morții lanțului care o conține. Prin urmare, tranzacțiile cu zero confirmări sunt potențial riscante și mulți vânzători stabilesc o cerință pentru un număr minim de confirmări. Ca regulă generală, șase confirmări reprezintă un echilibru bun între așteptarea tuturor confirmărilor și asigurarea faptului că tranzacția nu este falsificată. [zece]

Atât în ​​minerit , cât și în forjare , dacă un atacator deține controlul asupra unei cote suficient de mare a emisiilor (puterea totală de exploatare sau cantitatea totală de resurse în timpul forjarii), există o probabilitate semnificativă (nu de neglijat, ca în cazul obișnuit) de a „în secret” aliniind lanţuri paralele lungi de blocuri . După ce sunt publicate în rețea, lanțul mai lung va fi recunoscut ca fiind principal. Anularea lanțului de blocuri poate duce la invalidarea tranzacțiilor, chiar și a celor confirmate de mai multe blocuri, și la „re-transferul” ulterior al activului către alt destinatar [11] .

Cu o concentrare într-o singură mână de mai mult de 50% din puterea totală de exploatare, este posibilă construirea unui lanț paralel de lungime arbitrară, care face posibilă schimbarea destinatarului în tranzacțiile proprietarului puterii concentrate ( „Double Spending „ atac sau „atac 51%”) [12] . Dacă puterea sub control este mai mică de 50%, atunci probabilitatea de succes scade exponențial cu fiecare confirmare. Pentru forjare, concentrarea a peste 50% din resurse nu garantează construirea cu succes a unui lanț paralel lung, deși crește semnificativ probabilitatea acestui lucru.

Chiar dacă atacul de cheltuire dublă are succes, nu va avea ca rezultat:

La începutul anului 2013, puterea rețelei Bitcoin era mai mică de 25 THash/s, dar în următoarele 3 luni a crescut la 55 datorită distribuției în masă a procesoarelor specializate ( ASIC ) concepute special pentru minerit în rețeaua Bitcoin [ 13] . În iunie 2013, capacitatea rețelei a depășit 120 THash/s. Până în septembrie, capacitatea a depășit 1000 THash/s, în octombrie capacitatea s-a dublat, iar la 1 decembrie 2013 a depășit 6000 THash/s [14] . În același timp, utilizatorul cu cea mai mare performanță are mai puțin de 100 THash/s [15] . Devine din ce în ce mai dificil și mai costisitor să concentrezi puterea totală necesară într-o singură mână. Dar mineritul a fost mult timp concentrat în bazine, dintre care cele mai mari s-au apropiat deja de 50% din capacitatea totală de mai multe ori.

Cheltuirea dublă a bitcoinilor în practică nu a fost înregistrată. Din mai 2015, lanțurile paralele nu au depășit niciodată 5 blocuri [16] .

Blockcypher Trust Factor

În unele cazuri, natura tranzacției implică transferul de bunuri imediat după plată (de exemplu, o achiziție într-o cafenea), adică cu confirmare zero. În acest caz, este posibil un „atac de rulare”, care este o variantă a cheltuielilor duble - în primul rând, se formează un transfer de fonduri către propria persoană sau o persoană prietenoasă, iar apoi se formează plata într-o cafenea din aceleași fonduri. Când prima tranzacție intră în blockchain, a doua va deveni eronată și vânzătorul va deveni victima fraudei. Comercianții pot lua măsuri de precauție pentru a reduce riscul unui atac furtiv, deși este posibil să nu reușească să elimine complet amenințarea.

Proiectul Blockcypher își propune să ajute în astfel de situații. Pentru orice tranzacție cu confirmare zero, se adaugă un atribut de încredere conform unui algoritm special [17] . Dacă acest indicator este de 99,9%, atunci probabilitatea unei încercări de dublare a cheltuielilor este de doar 0,01%. [18] Calculul se bazează pe analiza a două aspecte ale tranzacției: „format” și „comportament”. „Format” analizează structura tranzacției: care sunt datele de intrare și de ieșire, istoricul acestora, tipul de semnătură. „Comportament” ia în considerare modul în care tranzacția este distribuită în rețea, urmărește modificarea parametrilor săi în timp.

Masternodes

Criptomoneda Dash folosește un serviciu special InstantSend conceput pentru tranzacții foarte rapide (confirmarea se eliberează în 1-3 secunde). La plata folosind acest protocol, tranzacția este trimisă la 7-10 masternode aleatoare, care blochează intrările tranzacției timp de aproximativ o oră pentru a preveni reutilizarea unităților implicate [19] .

Abordarea consensuală a lui Ripple

Sistemul Ripple rezolvă problema cheltuielilor duble prin consens . În prima etapă, toate serverele acceptă toate tranzacțiile valide, inclusiv cele noi. Apoi fiecare server votează pentru veridicitatea tranzacțiilor acceptate. Tranzacțiile care primesc mai multe voturi trec într-o nouă etapă, unde are loc și votul, alte tranzacții care primesc un număr insuficient de voturi sunt eliminate. O tranzacție încetează să participe la vot atunci când consensul asupra acesteia ajunge la 80% [20] .

Este general acceptat că este imposibil să se rezolve problema generalilor bizantini dacă mai mult de 33% din sistem este fraudulos. [21] În protocolul Ripple, consensul este corect până când sistemul este mai mult de 20% fraudulos. [22]

Este posibil ca o tranzacție frauduloasă să fie confirmată prin consens, dar o astfel de tranzacție nu reprezintă o amenințare. [22] Să presupunem că un utilizator încearcă să dubleze cheltuielile, dar chiar dacă ambele sale tranzacții sunt confirmate de procesul de consens, după aplicarea uneia dintre tranzacții, a doua este deja invalidă. Chestia este că principala cerință pentru consens este dependența de un algoritm determinist (reproductibil) pentru procesarea evenimentelor care au avut loc, ceea ce înseamnă că toate situațiile care se contrazic sunt excluse. [23]

Comparația dintre Bitcoin și Ripple în domeniul cheltuielilor duble se bazează pe compararea „ dovadă a muncii ” și a algoritmului de consens de mai sus. Sistemul Bitcoin devine vulnerabil dacă mai mult de 51% din puterea totală este concentrată într-o singură mână. Cu toate acestea, aceasta nu este o problemă pentru Ripple din cauza abordării consensuale. [24] Posesia unei puteri în exces nu oferă atacatorului niciun avantaj. Un atac similar pentru Ripple ar fi acela de a lăsa atacatorul să controleze majoritatea serverelor ( validatori ) care sunt responsabile pentru validarea tranzacțiilor colectate. Dar membrii Ripple pot evita cu ușurință această problemă, deoarece își aleg propriile validatoare. Atacul detectat este ușor de corelat cu un validator „fraudulent”, iar pe viitor un astfel de validator este exclus din lista de verificare. Datorită plății minime pentru atacator și dificultății de a executa atacul, este puțin probabil ca astfel de atacuri să fie inițiate. [25]

Serverele Ripple sunt gestionate de persoane fizice, organizații și companii binecunoscute. Nivelul de protecție crește proporțional cu creșterea rețelei Ripple.

Note

  1. N.Yu. Kruglov. Drept economic. - M. : Yurayt, 2011. - 885 p.

    Dacă același bun este gajat în mod repetat și fiecare creditor gajist ulterior nu știe că obligația sa este garantată prin gajarea bunurilor gajate anterior, atunci acest lucru afectează negativ rambursarea datoriei către gajații ulterioare.

  2. editat de Frank Fabozzi. Instrumente financiare . — M .: Eksmo , 2011. — 864 p.

    La un moment dat, proprietatea putea fi gajată de două ori, adică a fost emis un împrumut împotriva garanției proprietății deja gajate. În unele cazuri, a fost permis un al treilea împrumut.

  3. 1 2 3 Atenție la „vânzarea dublă”! - Agenția Federală Imobiliară, Kemerovo (link inaccesibil) . kem.federalnoe.com. Consultat la 8 decembrie 2017. Arhivat din original pe 7 decembrie 2017. 
  4. Serghei Sizintsev. Vinde un apartament de două ori?  // Petropavlovsk kz - IA REX-Kazahstan. - 2013. - 18 august. Arhivat din original pe 25 septembrie 2020.
  5. 1 2 3 4 Bitcoin: A Peer-to-Peer Electronic Cash System, 2008 , Secțiunea 2 „Tranzacții”.
  6. M.A. Borovskaia. Servicii bancare pentru intreprinderi . - Manual .. - Taganrog: TRTU, 1999. - 169 p. Arhivat pe 19 decembrie 2017 la Wayback Machine
  7. Ghassan O. Karame, Elli Androulaki, Srdjan Capkun. Doi Bitcoin la prețul unuia? Atacurile cu cheltuieli duble asupra plăților rapide în  Bitcoin . Arhivat din original pe 9 decembrie 2017.
  8. Bitcoin: A Peer-to-Peer Electronic Cash System, 2008 .
  9. 1 2 Bitcoin: A Peer-to-Peer Electronic Cash System, 2008 , secțiunea #4 „Proof-of-Work”.
  10. Arthur Gervais, Hubert Ritzdorf, Ghassan O. Karame, Srdjan Capkun. [ https://eprint.iacr.org/2015/578.pdf Modificarea livrării de blocuri și tranzacții în Bitcoin  ] . Arhivat din original pe 28 septembrie 2017.
  11. Bitcoin: A Peer-to-Peer Electronic Cash System, 2008 , secțiunea #11 „Calculații”.
  12. Articol despre probabilitatea unui atac cu cheltuieli duble (link nu este disponibil) . Consultat la 3 mai 2015. Arhivat din original pe 9 mai 2013.   )
  13. ASIC Mining Profits Will Be Gone By Summer  (în engleză)  (link nu este disponibil) . Ƀitcoin insight (24 martie 2013). — „În ianuarie a acestui an, hashrate-ul total al rețelei Bitcoin a fost mai mic de 25 THash/s. În mai puțin de 3 luni, această cifră a crescut la peste 55 THash/s. Creșterea bruscă este rezultatul noului hardware de minerit ASIC Bitcoin disponibil.” Consultat la 30 noiembrie 2013. Arhivat din original la 31 octombrie 2014.
  14. Rata  de hash . blockchain.info Preluat la 6 ianuarie 2018. Arhivat din original la 6 ianuarie 2018.
  15. アーカイブされたコピー. Preluat la 3 mai 2015. Arhivat din original la 13 mai 2015. Cei mai rapizi utilizatori (ultima oră) 269032 99.730,90 GH/s
  16. Numărul de blocuri orfane (link indisponibil) . Blockchain.info Preluat la 6 ianuarie 2018. Arhivat din original la 7 martie 2016. 
  17. Renming QiChen Feng, Zheng LiuNezih Mrad. Internetul lucrurilor alimentat de blockchain, guvernare electronică și democrație electronică. - Bharat Dahiya, Universitatea Chulalongkorn, Bangkok, Thailanda, 2017. - P. 517. - 565 p.
  18. BlockCypher: Zero Confirmation Bitcoin Transactions Still Viable  (Eng.) , CCN  (18 iulie 2015). Arhivat din original pe 22 decembrie 2017. Preluat la 19 decembrie 2017.
  19. Cryptofan. Criptomonedă Dash . CryptoState.ru (29 noiembrie 2017). Preluat la 5 martie 2018. Arhivat din original la 6 martie 2018.
  20. David Schwartz, Noah Youngs, Arthur Britto. The Ripple Protocol Consensus Algorithm  //  Ripple Labs Inc, 2014. Arhivat din original pe 29 septembrie 2017.
  21. LESLIE LAMPORT, ROBERT SHOSTAK și MARSHALL PEASE. Problema generalilor bizantini  //  SRI International. Arhivat din original pe 6 septembrie 2017.
  22. ↑ 1 2 David Schwartz, Noah Youngs, Arthur Britto. Algoritmul de consens al protocolului Ripple  . Arhivat din original pe 29 august 2017.
  23. Documentație: Documente EOS.IO. — 2017-12-13. Arhivat din original la 1 aprilie 2018.
  24. Introducere în Ripple pentru Bitcoiners - Ripple Wiki  (engleză)  (link nu este disponibil) . wiki.ripple.com. Consultat la 13 decembrie 2017. Arhivat din original la 13 noiembrie 2017.
  25. Trust and trustworthy computing : 8th International Conference, TRUST 2015, Heraklion, Grecia, 24-26 august 2015, Proceedings . — Cham. — 1 resursă online (xi, 328 pagini) p. — ISBN 9783319228464 .

Literatură