Cheltuielile duble explicate
Acas─â
Articole
Cheltuielile duble explicate

Cheltuielile duble explicate

Intermediar
Publicat Feb 17, 2020Actualizat Jan 31, 2023
7m

Ce este cheltuirea dubl─â?

Cheltuirea dubl─â este o problem─â poten╚Ťial─â ├«ntr-un sistem de numerar digital ├«n care acelea╚Öi fonduri sunt trimise c─âtre doi destinatari ├«n acela╚Öi timp. F─âr─â contram─âsuri adecvate, un protocol care nu rezolv─â problema este subminat ├«n mod fundamental ÔÇô utilizatorii nu au nicio modalitate de a verifica dac─â fondurile pe care le-au primit nu au fost deja cheltuite ├«n alt─â parte.

C├ónd vine vorba de numerar digital, asigurarea faptului c─â anumite unit─â╚Ťi nu pot fi duplicate este de o importan╚Ť─â capital─â. ├Äntregul sistem ar fi subminat dac─â Alice ar putea primi 10 unit─â╚Ťi, le-ar copia ╚Öi lipi (copy-paste) de 10 ori ╚Öi s-ar g─âsi ├«n posesia a 100 de unit─â╚Ťi. ├Än mod similar, o astfel de schem─â nu poate func╚Ťiona dac─â ea poate trimite simultan acelea╚Öi 10 unit─â╚Ťi at├ót lui Bob, c├ót ╚Öi lui Carol. A╚Öadar, pentru ca banii digitali s─â func╚Ťioneze, trebuie s─â existe mecanisme care s─â previn─â acest comportament.


Cum poate fi prevenit─â cheltuirea dubl─â?

Abordarea centralizat─â

Traseul centralizat este considerabil mai u╚Öor de implementat dec├ót alternativele descentralizate. Aceasta implic─â de obicei un supraveghetor care gestioneaz─â sistemul ╚Öi controleaz─â emisiunea ╚Öi distribuirea unit─â╚Ťilor. Un bun exemplu de solu╚Ťie centralizat─â la problema cheltuirii duble este cel al lui David Chaum eCash.┬á

Pentru a emite utilizatorilor un activ digital care imit─â numerarul (care permite un schimb anonim ╚Öi peer-to-peer), o banc─â poate utiliza semn─âturile oarbe ÔÇô conform celor detaliate de criptograful David Chaum ├«n articolul s─âu din 1982 Blind Signatures for Untraceable Payments (Semn─âturi oarbe pentru pl─â╚Ťi care nu pot fi urm─ârite).

├Äntr-un astfel de context, dac─â un utilizator (s─â-i spunem Dan) dore╚Öte s─â primeasc─â 100 USD ├«n numerar digital, este obligat s─â informeze banca mai ├«nt├ói. Dac─â are soldul ├«n cont, acesta va genera apoi un num─âr aleatoriu (sau mai multe, pentru valori mai mici). S─â presupunem c─â produce cinci numere, fiec─âruia fiindu-i atribuit─â o valoare de 20 USD. Pentru a ├«mpiedica banca s─â urm─âreasc─â anumite unit─â╚Ťi, Dan disimuleaz─â numerele aleatorii ad─âug├ónd un┬áfactor de orbire┬áfiec─âruia dintre ele.

Apoi pred─â aceste date b─âncii, care ├«i debiteaz─â contul pentru 100 USD ╚Öi semneaz─â mesaje care atest─â c─â fiecare dintre cele cinci informa╚Ťii poate fi r─âscump─ârat─â cu 20 USD. Acum, Dan poate cheltui fondurile emise de banc─â. Acesta merge la restaurantul lui Erin ╚Öi cump─âr─â un meniu care ├«l cost─â 40 USD.┬á

Dan poate elimina factorul de orbire pentru a expune num─ârul aleatoriu asociat fiec─ârei ÔÇ×facturiÔÇŁ de numerar digital, care serve╚Öte drept identificator unic pentru fiecare unitate (asem─ân─âtor unui num─âr de serie). Acesta ├«i dezv─âluie dou─â dintre ele lui Erin, care acum trebuie s─â le valorifice imediat la banc─â pentru a-l ├«mpiedica pe Dan s─â le cheltuiasc─â la un alt comerciant. Banca va verifica dac─â semn─âturile sunt valide, iar dac─â totul pare corect, va credita contul lui Erin cu 40 USD.

Facturile folosite sunt acum practic arse și trebuie emise mai multe dacă Erin dorește să-și cheltuiască noul sold în același mod.

Configura╚Ťia eCash propus─â de Chaum poate fi valoroas─â pentru transferurile private. ├Äns─â, e╚Öueaz─â ├«n materie de rezilien╚Ť─â, deoarece banca este un punct central al e╚Öecului. O bancnot─â emis─â nu valoreaz─â nimic ├«n sine, deoarece valoarea sa depinde exclusiv de dorin╚Ťa b─âncii de a o schimba ├«n dolari. Clien╚Ťii sunt la discre╚Ťia b─âncii ╚Öi trebuie s─â se bazeze pe bun─âvoin╚Ťa acesteia pentru ca banii s─â func╚Ťioneze. Tocmai aceasta este problema pe care criptomoneda ├«╚Öi propune s─â o remedieze.


Abordarea descentralizat─â

Asigurarea faptului c─â fondurile nu pot fi cheltuite dublu ├«ntr-un ecosistem f─âr─â supraveghetor reprezint─â o provocare. Participan╚Ťii la fel de puternici trebuie s─â se coordoneze ├«n jurul unui set de reguli care s─â previn─â frauda ╚Öi s─â stimuleze to╚Ťi utilizatorii s─â ac╚Ťioneze cinstit.

Cea mai mare inova╚Ťie prezentat─â ├«n cartea alb─â Bitcoin a fost o solu╚Ťie la problema dublei cheltuiri. De╚Öi nu este men╚Ťionat ca atare, Satoshi a propus structura de date cunoscut─â acum pe scar─â larg─â ca blockchain.

Un blockchain este de fapt doar o baz─â de date cu anumite propriet─â╚Ťi unice. Participan╚Ťii din re╚Ťea (denumi╚Ťi noduri) ruleaz─â un software specializat, care le permite s─â-╚Öi sincronizeze copia bazei de date cu semenii lor. Rezultatul este c─â ├«ntreaga re╚Ťea poate audita istoricul tranzac╚Ťiilor care dateaz─â de la blocul genezei. Fiindc─â blockchainul este vizibil public, este u╚Öor s─â detecta╚Ťi ╚Öi s─â preveni╚Ťi activit─â╚Ťile frauduloase, cum ar fi tranzac╚Ťiile care ├«ncearc─â cheltuirea dubl─â.

C├ónd un utilizator difuzeaz─â o tranzac╚Ťie, aceasta nu este ad─âugat─â imediat ├«n blockchain ÔÇô trebuie mai ├«nt├ói inclus─â ├«ntr-un bloc prin minerit. Astfel, destinatarul trebuie s─â considere tranzac╚Ťia valid─â numai dup─â ce blocul acesteia este ad─âugat ├«n lan╚Ť. ├Än caz contrar, risc─â s─â piard─â fondurile, deoarece expeditorul poate cheltui acelea╚Öi monede ├«n alt─â parte.┬á

Odat─â ce tranzac╚Ťia este confirmat─â, monedele nu pot fi cheltuite dublu, deoarece proprietatea este atribuit─â unui nou utilizator ÔÇô iar ├«ntreaga re╚Ťea poate verifica acest lucru. Din acest motiv, mul╚Ťi recomand─â s─â a╚Ötepta╚Ťi mai multe confirm─âri ├«nainte de a accepta o plat─â ca fiind valid─â. Fiecare bloc ulterior cre╚Öte drastic volumul de efort necesar pentru a modifica sau rescrie lan╚Ťul (care poate ap─ârea ├«n timpul unui atac 51%).

S─â reanaliz─âm situa╚Ťia restaurantului. Dan se ├«ntoarce la restaurant ╚Öi de data aceasta observ─â pe fereastr─â un ab╚Ťibild Bitcoin acceptat aici. I-a pl─âcut meniul pe care l-a comandat data trecut─â, a╚Öa c─â ├«l comand─â din nou. ├Äl cost─â 0,005 BTC.┬á

Erin ├«i prezint─â o adres─â public─â la care trebuie s─â trimit─â fondurile. Dan difuzeaz─â tranzac╚Ťia, care este ├«n esen╚Ť─â un mesaj semnat care afirm─â c─â cei 0,005 BTC care se aflau ├«n posesia lui Dan sunt acum ai lui Erin. F─âr─â a intra ├«n prea multe detalii, oricine s-a prezentat cu tranzac╚Ťia semnat─â de Dan poate verifica faptul c─â acesta a fost ├«ntr-adev─âr ├«n posesia monedelor ╚Öi, prin urmare, a avut autoritatea de a le trimite.

Dup─â cum am men╚Ťionat, ├«ns─â, tranzac╚Ťia este valid─â numai dac─â este inclus─â ├«ntr-un bloc care este confirmat. Acceptarea tranzac╚Ťiilor neconfirmate seam─ân─â cu acceptarea celor 40 USD ├«n eCash din exemplul anterior, f─âr─â a ├«i ├«ncasa imediat la banc─â ÔÇô ├«i permite expeditorului s─â-i cheltuiasc─â ├«n alt─â parte. A╚Öadar, este recomandat ca Erin s─â a╚Ötepte cel pu╚Ťin 6 confirm─âri ale blocului (aproximativ o or─â) ├«nainte de a accepta plata lui Dan.


Cheltuirea dublă în Bitcoin

Bitcoin este proiectat cu aten╚Ťie pentru a preveni atacurile cu cheltuieli duble, cel pu╚Ťin atunci c├ónd protocolul este utilizat conform a╚Ötept─ârilor. Adic─â, dac─â persoanele a╚Öteapt─â ca tranzac╚Ťiile s─â fie confirmate ├«ntr-un bloc, nu exist─â o modalitate u╚Öoar─â prin care expeditorul s─â le anuleze. Pentru a face acest lucru, ar trebui s─â ÔÇ×inversezeÔÇŁ blockchain-ul, ceea ce necesit─â un volum nerealist de putere de hashing.

Cu toate acestea, exist─â c├óteva atacuri cu cheltuieli duble care vizeaz─â p─âr╚Ťile care accept─â tranzac╚Ťii neconfirmate. Pentru achizi╚Ťii de valoare mic─â, de exemplu, un comerciant poate s─â nu doreasc─â s─â a╚Ötepte ca tranzac╚Ťiile s─â fie incluse ├«ntr-un bloc. Un restaurant fast-food aglomerat probabil c─â nu ├«╚Öi poate permite s─â a╚Ötepte ├«n timp ce re╚Ťeaua proceseaz─â fiecare achizi╚Ťie. A╚Öadar, dac─â o companie permite pl─â╚Ťi ÔÇ×instantaneeÔÇŁ, se face vulnerabil─â ├«n fa╚Ťa cheltuielilor duble. Cineva ar putea s─â comande un burger, s─â pl─âteasc─â pentru el, apoi s─â trimit─â imediat acelea╚Öi fonduri c─âtre propria adres─â. Cu o tax─â mai mare, este probabil ca aceast─â nou─â tranzac╚Ťie s─â fie confirmat─â mai ├«nt├ói ╚Öi, prin urmare, o va anula pe cea anterioar─â.

Exist─â trei metode populare pentru a efectua o cheltuial─â dubl─â:

  • Atacurile 51%: atunci c├ónd o singur─â entitate sau organiza╚Ťie reu╚Öe╚Öte s─â controleze mai mult de 50% din rata de hash, ceea ce ├«i permite s─â exclud─â sau s─â modifice ordinea tranzac╚Ťiilor. Un astfel de atac este foarte pu╚Ťin probabil pe Bitcoin, dar s-a ├«nt├ómplat ├«n alte re╚Ťele.

  • Atacurile de tip tranzac╚Ťie dubl─â: dou─â tranzac╚Ťii conflictuale sunt difuzate succesiv, folosind acelea╚Öi fonduri ÔÇô dar este confirmat─â o singur─â tranzac╚Ťie. Scopul atacatorului este de a anula plata valid├ónd doar tranzac╚Ťia care ├«l avantajeaz─â (de exemplu, trimiterea acelora╚Öi fonduri la o adres─â pe care o controleaz─â). Atacurile de tip tranzac╚Ťie dubl─â necesit─â ca destinatarul s─â accepte o tranzac╚Ťie neconfirmat─â ca plat─â.

  • Atacuri Finney: un atacator pre-mineaz─â o tranzac╚Ťie ├«ntr-un bloc f─âr─â a o transmite imediat ├«n re╚Ťea. ├Än schimb, cheltuie╚Öte acelea╚Öi monede ├«ntr-o alt─â tranzac╚Ťie ╚Öi abia apoi ├«╚Öi difuzeaz─â blocul minat anterior, ceea ce poate anula plata. Atacurile Finney necesit─â desf─â╚Öurarea unei anumite secven╚Ťe de evenimente ╚Öi sunt, de asemenea, condi╚Ťionate de acceptarea de c─âtre destinatar a tranzac╚Ťiilor neconfirmate.

După cum putem vedea, un comerciant care așteaptă confirmări ale blocului va reduce considerabil riscurile de a deveni victima cheltuielilor duble.


Gânduri de încheiere

O cheltuial─â dubl─â permite unui utilizator s─â manipuleze un sistem electronic de numerar pentru c├ó╚Ötiguri financiare, utiliz├ónd acelea╚Öi fonduri de mai multe ori. ├Än mod tradi╚Ťional, lipsa unor solu╚Ťii adecvate pentru o problem─â a stat ├«n calea progresului ├«n domeniu.

Din fericire, ├«ns─â, utilizarea semn─âturilor oarbe a propus o solu╚Ťie interesant─â pentru schemele financiare centralizate. Ulterior, crearea mecanismelor Proof of Work ╚Öi a tehnologiei blockchain a dat na╚Ötere Bitcoin ca o form─â puternic─â de bani descentraliza╚Ťi ÔÇô care, la r├óndul s─âu, a inspirat mii de alte proiecte de criptomoned─â.

Distribui╚Ťi post─ârile
├Änregistra╚Ťi un cont
Pune╚Ťi-v─â cuno╚Ötin╚Ťele ├«n practic─â prin deschiderea unui cont Binance ast─âzi.