Modulul 3 din 8

Istoria tehnică a Bitcoin

3.0 Introducere

Rezumatul White Paper-ului Bitcoin

O versiune pur peer-to-peer a banilor electronici ar permite trimiterea plăților online direct de la o parte la alta fără a trece printr-o instituție financiară. Semnăturile digitale oferă o parte din soluție, dar principalele beneficii se pierd dacă o terță parte de încredere este încă necesară pentru a preveni dubla cheltuire. Propunem o soluție la problema dublei cheltuiri folosind o rețea peer-to-peer. Rețeaua marchează temporal tranzacțiile prin hash-uirea lor într-un lanț continuu de dovadă de lucru bazată pe hash, formând o înregistrare care nu poate fi schimbată fără a reface dovada de lucru. Cel mai lung lanț servește nu doar ca dovadă a secvenței evenimentelor observate, ci și ca dovadă că provine din cel mai mare grup de putere de procesare CPU. Atâta timp cât majoritatea puterii de procesare CPU este controlată de noduri care nu cooperează pentru a ataca rețeaua, acestea vor genera cel mai lung lanț și îi vor depăși pe atacatori. Rețeaua în sine necesită o structură minimă. Mesajele sunt transmise pe principiul celui mai bun efort, iar nodurile pot părăsi și reintra în rețea oricând doresc, acceptând cel mai lung lanț de dovadă de lucru ca dovadă a ceea ce s-a întâmplat în timp ce au lipsit.

Bitcoin nu a apărut din neant, ci s-a construit pe munca multora din deceniile anterioare. Acest modul va explora fundamentele internetului pe care se bazează Bitcoin, precum și cercetarea și dezvoltarea recunoscute în whitepaper.

În anii '70, un grup de persoane a observat cum guvernul SUA, în special, încerca să restricționeze accesul la criptografie și s-a angajat să se asigure că această tehnologie va fi disponibilă pentru toți oamenii, pentru a-și proteja intimitatea online. Unii dintre acești pionieri timpurii s-au concentrat și pe potențialele beneficii ale unui sistem digital de „bani sănătoși” care ar putea fi folosit pentru a stoca și schimba valoare pe internetul emergent. Friedrich Hayek – un contribuitor de seamă la economia austriacă – a imaginat cum ar arăta o monedă ideală bazată pe competiția liberă de piață cu mult înainte de apariția internetului, dar a considerat că era tehnic și politic imposibil. Pe lângă intimitatea digitală, acest grup, care a evoluat și a devenit Cypherpunks, a încercat să realizeze viziunea lui Hayek pentru banii digitali, dar aceste încercări au eșuat până când Satoshi și-a publicat ideile pe lista de discuții.

  • Protocolul TCP/IP (1976)
  • Protocoale pentru sisteme criptografice cu cheie publică - Ralph Merkle (1980)
  • Digicash - David Chaum (1989)
  • Marcarea temporală digitală (anii '90)
  • Hashcash - Adam Back (1997)
  • BitTorrent - Bram Cohen (2001)
  • POW reutilizabil - Hal Finney (2004)
  • Whitepaper-ul Bitcoin - Satoshi Nakamoto (2008)

O influență cheie asupra dezvoltării Bitcoin a fost apariția mișcării Cypherpunk în anii '90. Ei au dezvoltat mai multe tehnologii criptografice, inclusiv criptografia cu cheie publică, pentru a permite utilizatorilor să comunice și să partajeze informații în siguranță și în mod privat. Multe dintre dezvoltările descrise aici și persoanele implicate au făcut parte din acest grup.

Nevoia de bani digitali a fost de asemenea identificată și s-au făcut mai multe încercări de a-i crea, dar acestea au avut limitări care le-au împiedicat să aibă succes. Genialitatea lui Satoshi Nakamoto a fost să reunească aceste capabilități și, împreună cu unele inovații proprii, să le folosească pentru a crea protocolul Bitcoin folosit astăzi. În secțiunile următoare vom explora unele dintre aceste dezvoltări și vom explica cum au contribuit la proiectarea Bitcoin. Vom discuta, de asemenea, care au fost piesele lipsă ale puzzle-ului pe care Satoshi a reușit să le rezolve.

3.1 Dezvoltarea TCP/IP

Majoritatea dintre noi suntem familiarizați cu protocoalele TCP/IP folosite astăzi ca fundație pentru internet. Originile lor datează din anii '70, când oamenii de știință explorau alternative la Arpanet – o rețea și mai veche, concepută de Departamentul Apărării al SUA pentru a permite partajarea resurselor între calculatoare aflate la distanță. TCP/IP a devenit standardul de protocol pentru Arpanet în 1983, ceea ce a dus la transformarea sa în modelul dominant de rețea până la sfârșitul anilor '90 și la baza internetului pe care rulează astăzi Bitcoin.

Modelul OSI TCP/IP
Aplicație Aplicație
Prezentare Aplicație
Sesiune Aplicație
Transport Transport
Rețea Rețea
Legătură de date Legătură de date
Fizic Fizic

În același timp cu dezvoltarea modelului TCP/IP, un cadru similar, dar mai cuprinzător, era dezvoltat de Organizația Internațională de Standardizare (ISO) și industria telecomunicațiilor (CCITT). Procesul de dezvoltare a unor noi protocoale sau de propunere a unor modificări era lent și greoi în comparație cu abordarea mai descentralizată folosită pentru TCP/IP, ceea ce a dus la dominanța acestei ultime abordări astăzi.

Cerere de modificare

Orice dezvoltare sugerată pentru protocoalele existente sau idei pentru unele noi pot fi propuse în modelul TCP/IP printr-o Cerere de modificare (RFC). Acestea trec printr-un proces de aprobare, gestionat de Internet Engineering Task Force (IETF), și devin open source odată aprobate, pentru a permite oricui să le implementeze și să le adopte. Câteva exemple notabile:

  • 1969 RFC 1 Documenta modul în care pachetele urmau să fie trimise în Arpanet
  • 1981 RFC791 a definit protocolul Internet V4 – încă larg folosit astăzi
  • 1982 RFC 821 Protocol simplu de transfer al poștei electronice
  • 1987 Sistemul de nume de domeniu – modul în care numele de domenii sunt asociate cu adresele IP
  • 1999 RFC 2616 Protocol de transfer hypertext – esențial pentru navigarea pe web

Propunere de îmbunătățire Bitcoin (BIP) urmează o abordare similară cu RFC, dar se concentrează exclusiv pe îmbunătățirile aduse Bitcoin, nu pe dezvoltarea de protocoale noi sau alternative. Bitcoin împrumută și el din acest model pe straturi, iar vei vedea protocoale suplimentare descrise ca fiind de nivelul doi sau trei.

În același mod în care straturile de bază ale modelului TCP/IP s-au schimbat foarte puțin în ultimele decenii, inovația având loc la straturile superioare, și stratul de bază al Bitcoin se așteaptă să se schimbe foarte lent de acum înainte, soluțiile de scalare precum Lightning și Liquid fiind dezvoltate deasupra.

Un exemplu bun despre cum protocoalele de bază devin greu de schimbat în timp este IPv6. Epuizarea anticipată a spațiului de adrese în IPv4 a creat cererea pentru un nou protocol. Primul standard draft a fost creat în 1998, dar nu a fost ratificat ca standard de internet până în 2017. Deși a rezolvat multe probleme ale IPv4 și este mult mai pregătit pentru viitor, adoptarea sa în industrie este încă foarte lentă. În acest timp, multe protocoale noi au fost definite la straturile superioare pentru a permite multimedia, email etc.

Elementele de bază folosite de Bitcoin

Această separare a problemelor de interconectivitate permite ca protocoalele să fie dezvoltate independent de straturile de deasupra și de dedesubt. În loc să fie nevoie să reinventezi soluții pentru fiecare strat, rețeaua Bitcoin se poate baza pe capabilitățile de bază ale rețelei oferite la nivelul fizic și de legătură de date.

Strat TCP/IP Original
Aplicație Folosește Sistemul de Nume de Domeniu (DNS) pentru a identifica nodurile vecine. Portul 8333 semnalează protocolul Bitcoin.
Transport UDP pentru comunicații FIBRE între mineri pentru latență redusă. TCP pentru comunicații P2P între noduri.
Transport Rutare TOR: Permite anonimatul și confidențialitatea. Protocol de difuzare: Rutează traficul prin rețea.
Legătură Funcționează pe orice mediu (de exemplu, Ethernet, Wi-Fi etc.)
Fizic Transmitere fizică prin wireless, Ethernet sau alte interfețe hardware.
Bitcoin este un protocol neutru pentru transferul de valoare, așa cum HTTPS este un protocol pentru transferul de informații
  • HTTPS: Site-uri securizate
  • SMTP: Trimite emailuri
  • FTP: Transferă fișiere
  • DNS: Gestionează nume de domenii
  • BTC: Stochează și transferă valoare

Bitcoin permite transportul valorii în mod fiabil și fără a necesita o terță parte între persoane sau dispozitive prin Internet. Se așteaptă ca acest lucru să deblocheze o valoare uriașă.

3.2 Criptografie cu cheie publică și protocoale

Internetul de astăzi și majoritatea sistemelor informatice moderne se bazează pe criptografie, o metodă de ascundere a informațiilor astfel încât doar destinatarul să le poată decoda. Fundamentele criptografiei folosite pentru securizarea Bitcoin pot fi urmărite până în anii '70.

Prima problemă de rezolvat este – cum să trimiți un secret comun printr-un mediu nesecurizat.

Aceasta a fost analizată pentru prima dată de Whitfield Diffie și Martin Hellman.

Problema: cele două părți – de obicei denumite Alice și Bogdan – doresc să partajeze informații secrete printr-o rețea unde alții pot asculta. Pentru a realiza acest lucru, au creat procesul de schimb de chei Diffie-Hellman.

Acest secret comun poate fi apoi folosit ca valoare de bază pentru a crea numeroase chei simetrice pentru criptarea și decriptarea mesajelor pe care și le trimit reciproc, fără a partaja cheia în mod deschis.

Deoarece cheia privată nu trebuie niciodată partajată, iar chei diferite sunt folosite la fiecare capăt pentru criptare și decriptare, aceasta este denumită algoritm de criptare asimetrică.

Cazuri de utilizare:

  • Alice semnează un mesaj cu cheia publică a lui Bogdan – care este singura persoană care îl poate decripta folosind cheia sa privată
  • Alice semnează un mesaj cu cheia ei privată – decriptând cu cheia ei publică, oricine poate verifica că mesajul a fost trimis de Alice, fără a-i cunoaște cheia privată
  • Combinând aceste două abordări cu două straturi de criptare, un mesaj poate fi trimis criptat astfel încât doar Bogdan să îl poată decripta, iar el poate apoi verifica dacă expeditorul a fost într-adevăr Alice

Deși nu este menționat pe lucrare, Ralph Merkle a fost esențial în ajutarea la rezolvarea a ceea ce până atunci era considerat un puzzle de nerezolvat – cum să stabilești sau să restabilești comunicarea privată printr-o rețea deschisă și potențial ostilă.

Această abordare, de una singură, este vulnerabilă la un atac de tip brute force, unde un atacator poate lua numerele partajate și poate recrea o cheie comună în cele din urmă, dacă are suficient timp și resurse, deci nu este răspunsul complet de una singură.

Protocoale pentru Criptosisteme cu Cheie Publică

Pe lângă contribuția la sistemul cu cheie publică Diffie-Hellman descris mai sus, Ralph Merkle a continuat să contribuie în acest domeniu mulți ani și a fost esențial în dezvoltarea unor componente cheie folosite de Bitcoin.

O funcție hash criptografică este un algoritm matematic care primește intrări de orice dimensiune și procesează calcule complexe pentru a returna o valoare hash în biți, care este de obicei reprezentată printr-o ieșire alfanumerică de lungime fixă folosind formatul hexazecimal.

  • Intrările pot avea orice dimensiune
  • Ieșirea este întotdeauna de lungime fixă și deterministă (aceeași intrare generează același hash de fiecare dată)
  • Este ușor de verificat, dar extrem de dificil de inversat procesul pentru a determina intrarea
  • O modificare minoră a datelor schimbă complet ieșirea
Hash function

Hash-ul este o parte integrantă a protocolului Bitcoin. SHA-256, folosit în Bitcoin, a fost creat de NSA și este un exemplu de algoritm de hash criptografic.

  • Fiecare bloc din lanț este hash-uit astfel încât datele să nu poată fi schimbate – asigurând integritatea registrului distribuit
  • Hash-ul generat trebuie să îndeplinească criteriile de ‘Dovadă a muncii’ pentru a fi considerat un bloc valid
  • Arborii Merkle – folosind ramificări și hash-uri de hash-uri, arborii hash permit verificarea unor seturi mari de date cu stocare minimă
  • Semnăturile și cheile bazate pe hash pot fi folosite pentru portofele, adrese și autorizarea tranzacțiilor

Verificarea distribuită a stărilor blockchain-ului și modelele de registru doar-adăugare, rezistente la revizuire, sunt posibile datorită hash-ului unidirecțional. Funcțiile hash oferă metoda fiabilă și deterministă de a verifica evenimentele pe registre publice precum Bitcoin, în absența unui model centralizat de încredere.

Aceste noi capabilități din domeniul criptografiei erau așteptate de către creatorii lor să aducă un nou val de inovație în acest domeniu.

Criptografie cu curbe eliptice

Una dintre aceste inovații ulterioare a venit sub forma criptografiei cu curbe eliptice.

Criptografia cu curbe eliptice a fost introdusă în 1985 de doi oameni de știință, N. Koblitz și V. Miller. Ei au propus ideea de a folosi puncte definite de curbe eliptice în locul câmpurilor prime finite astfel încât să se păstreze ipoteza problemei logaritmului discret, așa cum este folosită în mod obișnuit în protocolul standard de schimb de chei Diffie-Hellman. Detaliile despre cum funcționează acest lucru depășesc scopul acestei secțiuni, dar la nivel general, o curbă eliptică este setul de puncte care satisfac o anumită ecuație matematică.

Ecuația pentru o curbă eliptică arată cam așa:

Elliptic curve

Aceasta are câteva proprietăți utile:

  • Simetrie orizontală. Orice punct de pe curbă poate fi reflectat peste axa x și va rămâne pe aceeași curbă.
  • orice linie non-verticală va intersecta curba în cel mult trei puncte.
  • Dimensiunile compacte ale cheilor sunt esențiale pentru stocarea și transmiterea eficientă a cheilor publice în blockchain.

Aceste proprietăți pot fi folosite pentru a crea perechi de chei într-un mod similar cu algoritmul Diffie-Hellman. Bitcoin folosește ECDSA, care este prescurtarea de la Elliptic Curve Digital Signature Algorithm. Este un proces care folosește o curbă eliptică și un câmp finit pentru a „semna” date astfel încât terții să poată verifica autenticitatea semnăturii, în timp ce semnatarul păstrează capacitatea exclusivă de a crea semnătura. În cazul bitcoin, datele care sunt semnate sunt tranzacțiile care transferă proprietatea.

Partea ‘finită’ este similară cu abordarea ‘mod’ din Diffie-Hellman, unde rezultatul ecuației este împărțit și restul este folosit pentru a se asigura că se încadrează într-un interval de numere.

3.3 DigiCash

Unul dintre primii participanți la „noul val de interes” pentru criptografie a fost David Chaum. Și-a petrecut primii ani învățând să spargă sisteme informatice, iar succesul său i-a creat o neîncredere față de sistemele considerate „sigure”. De asemenea, a recunoscut o problemă care nu fusese luată în considerare până atunci: „cum păstrezi secretă cunoașterea despre cine conversează cu cine și când”.

El a conceput un protocol anonim de trimitere a mesajelor folosind criptografie cu cheie publică, care „amesteca” mesajele pentru a păstra anonimatul sursei și al destinației. Acesta avea să devină baza pentru rețeaua TOR.

Chaum a privit plățile digitale în același mod – recunoscând că „tranzacțiile financiare urmărite ale unei persoane pot dezvălui foarte multe despre locul unde se află, asocierile și stilul de viață al acesteia”. În 1980, el a brevetat un sistem de bani digitali securizat prin criptografie, care avea să stea la baza criptomonedelor. De asemenea, a început să exploreze ideea de a folosi criptografia pentru a crea o economie complet descentralizată, bazată pe descentralizarea mesajelor și a plăților.

Guvernele sunt pricepute la a tăia capetele rețelelor controlate centralizat, precum Napster, dar rețelele P2P pure, precum Gnutella și TOR, par să reziste pe cont propriu.
Satoshi Nakamoto

Sistemele descentralizate fără autoritate centrală – peer-to-peer – oferă mai multe avantaje:

  • Pot crește rapid, deoarece oricine poate extinde sistemul pur și simplu rulând un nou nod, fără a fi nevoie de înregistrare sau aprobare
  • Toate nodurile sunt la fel, astfel încât defecțiunile pot fi ocolite
  • Nu există o autoritate centrală care să poată fi capturată și să compromită sistemul
  • Sunt mai dificil de capturat, reglementat, impozitat sau supravegheat fără puncte de control centralizate

Un deceniu mai târziu, el și-a fondat compania, Digicash, pentru a crea „ecash”, primul sistem de bani digitali din lume. Multe nume celebre s-au alăturat pentru o vreme la Digicash, care a avut un oarecare succes, dar în cele din urmă a eșuat și a declarat faliment.

Dezvoltări ulterioare în domeniul banilor digitali

Într-o postare pe forum din iulie 2010, Satoshi Nakamoto a spus: „Bitcoin este o implementare a propunerii b-money a lui Wei Dai pe Cypherpunks în 1998 și a propunerii Bit Gold a lui Nick Szabo.”

Deși niciuna dintre aceste două idei nu a trecut de faza de propunere, unele dintre conceptele găsite în ele au influențat clar dezvoltarea Bitcoin:

  • Folosirea „dovezii de lucru” (Proof of work) pentru a atribui valoare monetară muncii computaționale
  • Conceptul că prețul calculului se schimbă în timp și trebuie luat în considerare

Dar mai întâi vom analiza Hashcash.

3.4 Hashcash

Hashcash a fost creat de Adam Back, un alt inovator timpuriu în acest domeniu. Adam avea un interes puternic pentru piețele libere și pentru confidențialitatea pe internet și a descoperit lista de discuții Cypherpunks, la care s-a alăturat și a devenit un participant activ.

Era foarte interesat de banii digitali și a făcut câteva sugestii despre cum grupul ar putea colabora mai strâns cu Chaum la DigiCash, dar aceste idei nu au avut succes. Apoi și-a îndreptat atenția către o altă problemă emergentă – spamul pe email. El și ceilalți membri Cypherpunks doreau să găsească o soluție la problema spamului, unde era foarte ușor pentru spammeri să creeze și să trimită mii de emailuri care aglomerau rețelele. Soluția sa inovatoare se baza pe hashing – capacitatea criptografiei de a transforma orice bucată de date într-un șir unic și aleatoriu de o lungime specifică, pentru a crea echivalentul unei „ștampile” digitale care trebuia adăugată emailului pentru ca acesta să fie considerat valid și transmis prin rețea. Un cost nesemnificativ pentru un email autentic, dar prohibitiv pentru un spammer.

Inovația cheie pe care a adus-o Hashcash a fost legarea resurselor din lumea reală – puterea de calcul – de o rețea digitală. În timp ce resursele digitale până la acel moment puteau fi replicate fără limite, numărul de „hashcash” creat era limitat de câtă energie erau oamenii dispuși să investească.

Deși soluția îndeplinea unele dintre criteriile pe care Adam le considera necesare pentru un sistem de bani digitali; era anonimă, rezistentă și fără încredere, fiecare hashcash nu era reutilizabil și nici cu adevărat rar. El a sugerat alte modalități prin care aceste probleme ar putea fi abordate folosind terți externi.

BitGold

Nick Szabo a dezvoltat conceptul de Hashcash și dovada muncii pentru a propune o soluție alternativă, pe care a descris-o pe o listă de discuții la un an după publicarea Hashcash, în 1998.

Deși se apropia de o soluție, această propunere avea încă mai multe provocări.

  • Cine ar administra Registrul deținerii hash-urilor și cum ar putea fi de încredere?
  • Hashing-ul ar deveni în general mai ieftin în timp, o provocare și pentru HashCash.

Deoarece hash-urile legate ar fi marcate temporal, el a propus o formă de urmărire istorică a dificultății hashing-ului la momentul respectiv; un hash mai vechi ar necesita mai multe costuri de procesare decât unul mai nou, deoarece costurile au scăzut. Din păcate, asta însemna că hash-urile nu ar fi „fungibile”, adică de valoare egală, considerat un atribut cheie al banilor digitali. Pentru a ajuta la rezolvarea acestei probleme, Nick a sugerat o formă de „free banking” care să funcționeze peste BitGold și să poată agrega diferite grupuri de hash-uri care să fie evaluate la fel.

B-Money

La scurt timp după propunerea Bit Gold, Wei Dai a propus o soluție similară. El dezvoltase deja mai multe alte instrumente pentru Cypherpunks și avea propriile sale idei despre banii digitali.

Propunerea sa semăna cu Bit Gold prin faptul că folosea semnături digitale pentru a transfera bani, iar înregistrările tranzacțiilor ar fi stocate într-un registru, conținând chei publice și suma de unități monetare atribuite fiecăreia. Ca și la Bit-Gold, terții de încredere erau considerați puncte slabe de securitate, iar convingerea era că un sistem de bani electronici nu ar trebui să se bazeze pe o singură entitate pentru a urmări soldurile, tranzacțiile sau pentru a preveni dubla cheltuire.

Wei Dai a propus mai multe soluții pentru aceste probleme, una dintre ele fiind ca, în loc ca o entitate centrală să mențină registrul, TOATE nodurile să păstreze o copie. Dacă toți utilizatorii își verifică propriul registru și validitatea fiecărei tranzacții, atâta timp cât toate nodurile rămân actualizate, registrele ar trebui să rămână sincronizate în întreaga rețea. Acest sistem extrem de distribuit ar fi dificil de corupt.

Wei Dai a recunoscut că aceasta nu rezolva problema generalilor bizantini (1), deoarece nodurile puteau pierde ușor sincronizarea sau puteau minți pur și simplu. El a sugerat metode alternative, cum ar fi existența unui subset de servere „de încredere” care să mențină registrul și crearea unor stimulente financiare pentru a menține aceste servere oneste.

Pentru politica monetară, el a propus ancorarea puterii de cumpărare a B-Money la o formă de indice extern al prețurilor de consum. Dorea ca aceeași cantitate de B-Money să poată cumpăra o cotă egală din indice în timp, oferind astfel o anumită stabilitate a prețului. Astfel, oricine putea genera noi unități monetare furnizând un hash valid, dar dificultatea generării unui hash putea varia în timp în funcție de costurile CPU și de indicele de prețuri, astfel încât fiecare unitate să fie „imutabilă”.

3.5 BitTorrent

Un alt proiect care a jucat un rol semnificativ în formarea criptomonedelor înainte de apariția bitcoin este BitTorrent.

În 2001, Bram Cohen a lansat un protocol numit BitTorrent, creat pentru a alimenta un sistem de partajare de fișiere peer-to-peer. El a început să lucreze la o companie numită MojoNation, care fusese creată pentru a permite oamenilor să împartă fișiere confidențiale în fragmente criptate distribuite pe calculatoarele care rulau software-ul. O copie a fișierului era descărcată simultan de pe mai multe calculatoare. Deși în cele din urmă a eșuat, acest proiect l-a introdus pe Cohen în domeniul partajării de fișiere, unde a decis că poate crea un protocol mai bun, care consta din:

  • Swarm: o comunitate de calculatoare care descarcă sau încarcă conținut
  • Tracker: un instrument dedicat care funcționează similar cu un motor de căutare, dar ține evidența fișierelor conținute în swarm. Acest lucru permite utilizatorilor să vadă și să acceseze cu ușurință orice fișier de care au nevoie
  • Client BitTorrent: instalat pe un calculator pentru a accesa tracker-ul. Observați că swarm-ul este singurul loc unde fișierele sunt de fapt păstrate
  • Un sistem de stimulente prin care utilizatorii care participă la rețea ca distribuitori de fișiere beneficiază de descărcări mai rapide

Similarități cu Bitcoin:

  • Ambele protocoale funcționează pe bază de peer-to-peer
  • Design descentralizat
  • Fișierele BitTorrent și registrul Bitcoin sunt distribuite în întreaga rețea
  • Origine open-source (BitTorrent a devenit în cele din urmă un software cu sursă închisă)

3.6 Dovadă de lucru reutilizabilă

Hal Finney este un alt membru faimos al mișcării Cypherpunk, care a fost foarte interesat de dezvoltarea banilor electronici și activ pe lista de discuții.

El a decis să încerce din nou dezvoltarea unui sistem de bani electronici bazat pe proof-of-work. Până în acest moment, rezultatul hash era unic pentru fiecare tranzacție, însă ideea lui era să creeze „dovezi de lucru reutilizabile”.

Dezavantajul acestei abordări este serverul centralizat, care trebuie să fie de încredere pentru a nu cheltui dublu sau pentru a nu fi închis. Pentru a evita acest lucru, Hal a propus folosirea unui software liber și open source care putea fi găzduit pe o componentă hardware securizată și validat independent.

Soluția se confrunta totuși cu unele dintre aceleași probleme ca și celelalte propuneri:

  • Problema „oului și găinii” în ceea ce privește adoptarea, unde lipsește un stimulent pentru ca utilizatorii să dorească să solicite jetoane, iar vânzătorii nu vor să se conecteze la sistem decât dacă utilizatorii doresc să plătească cu aceste jetoane.
  • POW este, de asemenea, probabil să devină mai ieftin în timp pe măsură ce performanța calculatoarelor se îmbunătățește, ceea ce sugerează că piața ar fi, în cele din urmă, inundată cu unități de monedă RPOW.
Dacă legea lui Moore continuă să fie valabilă, costul creării unui jeton (POW) va scădea într-un ritm constant, exponențial. Ține cont că aceasta nu este monedă și nu este destinată să fie un depozit de valoare, ci mai degrabă o reprezentare ușor de schimbat a efortului de calcul.Hal Finney

Aceste caracteristici au limitat atractivitatea și, implicit, adoptarea proiectului, iar în ciuda tuturor eforturilor sale, proiectul a ajuns să fie încă o încercare eșuată de a crea bani electronici.

3.7 Bitcoin

După mulți ani și încercări eșuate, Cypherpunks, în mare parte, își pierduseră interesul pentru ideea unei monede digitale fără permisiune, când Adam Back a primit un e-mail cu un link către un draft de white paper intitulat „electronic cash without a third party” de la o persoană anonimă care se prezenta drept Satoshi Nakamoto.

Pentru a recapitula până în acest punct, avem cel puțin următoarele idei:

  • Semnături criptografice care pot oferi un anumit nivel de confidențialitate și anonimat
  • Conceptul unei monede fără acoperire (B-Money)
  • Propuneri (dar fără mijloace) pentru limitarea emisiunii de monedă nouă
  • Monede digitale a căror proprietate era atribuită prin chei publice (B-Money) și care puteau fi transferate prin semnare și realocate pe baza adresei destinatarului (RPOW și Hashcash)
  • Toate nodurile mențin o copie a unui registru complet distribuit (B-Money) (respins la acea vreme ca fiind nepractic)
  • Protocol de marcare temporală – folosind hashing Merkle tree pentru a oferi o cronologie matematic demonstrabilă a evenimentelor, dificil de falsificat dacă toți utilizatorii păstrează aceleași înregistrări
  • Proof of work pentru a lega efortul din lumea reală de sistem (dar folosind hash-ul însuși ca monedă)
  • Rețele complet descentralizate în care toți participanții sunt egali și pot intra sau ieși din rețea (BitTorrent)
  • Conceptul de a lega hash-urile noi de hash-urile anterioare (Bit Gold și marcare temporală)

Ce lipsea în acel moment includea:

  • O soluție viabilă pentru a rezolva problema „generalilor bizantini”
  • O metodă de a limita cantitatea de bani în circulație în ciuda îmbunătățirilor continue ale hardware-ului
  • Un sistem de stimulente pentru ca oamenii să participe (problema oului și a găinii)

Cealaltă diferență majoră între încercările recente și Bitcoin a fost că Satoshi lucrase la cod de ceva timp, în adevăratul spirit original „Cypherpunks write code”, înainte de a-l anunța pe listele de discuții, spre deosebire de Bit Gold și B-Money care erau mai degrabă concepte.

Care a fost inovația care a diferențiat Bitcoin de încercările anterioare de monedă electronică?

Proof of work urma să fie folosit ca mecanism de consens și ca metodă de a oferi securitate și imuabilitate: În loc să folosească hash-ul ca formă de bani, acesta urma să fie folosit printr-un nou proces conceptual numit mining, unde un nod adună un set de tranzacții, adaugă un număr aleatoriu și apoi aplică hashing-ul pe „blocul” de date. Un bloc valid care îndeplinea cerința de hash era apoi anunțat rețelei. Aceste blocuri erau legate între ele folosind hash-ul blocului anterior, iar cel mai lung blockchain era folosit în caz de egalitate, când noduri diferite validau și anunțau blocuri diferite simultan, creând ramuri ale lanțului. Proof of work a devenit metoda distribuită de departajare pentru a rezolva problema generalilor bizantini.

Acești mineri au primit și un stimulent pentru a furniza puterea de procesare necesară pentru proof-of-work, fiind recompensați cu bitcoin nou pentru fiecare bloc. Cantitatea de Bitcoin acordată este programată să scadă aproximativ la fiecare 4 ani până când tot Bitcoin-ul va fi creat, stabilind astfel o limită fixă pentru totalul de Bitcoin care va exista vreodată în circulație, de 21 de milioane.

Cea mai originală idee a fost modul în care a rezolvat problema cantității de bani creați pe măsură ce hardware-ul se îmbunătățește și se poate aplica mai multă putere rețelei. Timpul mediu pentru un anumit număr de blocuri (2016) era calculat, iar dacă blocurile erau create prea repede, hash-ul necesar pentru a crea un bloc nou devenea mai dificil, iar dacă era prea lent, devenea mai ușor. Acest lucru era integrat în protocolul descentralizat pe care îl rulează toate nodurile, astfel încât orice miner care îl ignora consuma energie pentru a mina un bloc fără niciun beneficiu, deoarece acesta ar fi respins de restul rețelei. Această ajustare asigură că crearea de blocuri noi rămâne conform programului planificat de emisie și oferă stimulente minerilor să „respecte regulile”.


Rezumat

Multe dintre piesele necesare pentru a construi un sistem de monedă electronică peer-to-peer descentralizat, bazat pe principii de bani sănătoși, erau deja puse la punct înainte ca Satoshi să publice whitepaper-ul și la scurt timp după lansarea inițială a codului.

Natura Bitcoin este de așa fel încât, odată ce versiunea 0.1 a fost lansată, designul de bază a rămas neschimbat pentru tot restul existenței sale
Satoshi Nakamoto

Deși multe idei de îmbunătățire (BIP-uri) au fost propuse și adoptate, Bitcoin a funcționat în fundal încă din 2009, urmând protocolul proiectat în versiunea inițială și cu foarte puține întreruperi. Toate îmbunătățirile au fost realizate păstrând compatibilitatea inversă cu toate versiunile anterioare.

Note
  1. Pentru o explicație a problemei Generalilor Bizantini - vezi https://en.wikipedia.org/wiki/Byzantine_fault

↑ Înapoi la cuprins