Loading Posts...

Geneza Bitcoin (III): Propunerea B-MONEY a lui Wei Dai, primul draft al Bitcoin

wei_dai_b-money

– Articol de Colecție –

Toți cypherpunks pun mare preț pe intimitate; aceasta a fost piatra de temelie a colectivului de criptografi, academicieni, dezvoltatori și activiști care, în anii 1990, au făcut parte din grupul de email cu același nume. Dar puțini au aplicat teoria în practică așa cum a reușit Wei Dai. Despre cel descris de New York Times drept un “un inginer de computere foarte introvertit” se cunosc foarte puține lucruri. El însă a rămas în istorie pentru visul său din urmă cu 20 de ani – un sistem de plată electronică extrem de asemănător cu Bitcoin.

Citește aici și celelalte articole despre geneza Bitcoin

Lipsa detaliilor personale a fost ceva caracteristic muncii lui Wei Dai. Criptograf talentat, Dai a creat și lucrează în continuare  la Crypto++,  o bibliotecă a limbajului de programare C++ destinată algoritmilor criptografici. De asemenea, Dai este în continuare activ pe forumuri ca LessWrong, unde filosofează despre subiecte printre care se numără inteligența artificială, etica sau epistemologia. Viziunea sa i-a adus laudele lui Eliezer Yudkowsky, un cunoscut cercetător AI, dar și invitații repetate de a lua cuvântul la Machine Intelligence Research Institute (cunoscut anterior sub numele de Singularity Institute), pe care îl și deține.

Interesul lui Dai în filosofie și politică nu reprezintă ceva nou. În anii 1990, pe când era un tânăr licențiat în știința computerelor la Universitatea din Washington, curiozitatea l-a împins către scrierile lui Timothy May, unul dintre “părinții fondatori” ai mișcării Cypherpunk. Dai a fost inspirat de anarhia crypto apărată de May; noua ideologie a prevalat între cypherpunks, în baza convingerii că soft-ul și criptografia pot oferi și păzi libertatea economică și politică mult mai bine decât ar face-o orice guvern.

“Sunt fascinat de crypto-anarhia lui Tim May”, scria Dai în 1998. “Spre diferenţă de comunităţile tradiţionale asociate cu termenul “anarhie”, într-o crypto-anarhie guvernul nu este distrus temporar, ci este interzis permanent şi considerat permanent ca fiind nenecesar. Este o comunitate în care nu se regăseşte ameninţarea cu violenţa, deoarece violenţa este imposibilă, iar violenţa este imposibilă datorită faptului că participanţii nu pot fi corelaţi cu numele lor adevărate sau cu locaţiile fizice în care trăiesc”.

La mijlocul anilor 1990, Dai s-a implicat în discuții diverse pe grupul de email al cypherpunks, cum ar fi cele despre sisteme de reputație digitală,teoria jocului (n.r. studiul modelelor matematice de conflict și cooperare între factori decizionali raționali și inteligenți), intimitate și anonimitate în sistemele de bani digitali. Poate mai important, Dai a făcut mai multe propuneri pentru cauza mișcării Cypherpunk, printre care marca temporală de încredere, programul Encrypted TCP Tunneler, sistemul securizat de partajare a fișierelor Disperse/Collect și multe altele. Toate acestea i-au adus reputația de contribuitor prolific al comunității Cypherpunk – chiar dacă nici pe vremea aceea nimeni nu-l cunoștea personal (nici măcar dacă era bărbat sau femeie, conform  spuselor lui Timothy May).

Însă Dai a rămas cunoscut cel mai bine pentru ideea pe care a anunțat-o întâmplător în noiembrie 1998, imediat după absolvirea facultății. “Cooperarea eficientă necesită un mediu de schimb (bani) și o modalitate de întărire a contractelor”, a explicat Dai. “Protocolul propus în acest articol permite entităților pseudonime să coopereze mai eficient una cu cealaltă, prin oferirea unui mediu de schimb și a unei metode de întărire a contractelor. […] Sper că acesta este un pas înspre punerea în practică a crypto-anarhiei la fel de bine precum a fost și posibilitatea teoretică”.

El a numit această propunere “b-money”.

B-money

Sistemele tipice de bani digitali utilizează un mecanism central pentru a ține evidența balanțelor conturilor. Indiferent dacă este vorba de o bancă centrală sau una comercială, VISA sau alt procesator de plăți, undeva există o bază de date controlată central, care ține cont de câți bani are fiecare.

Problema principală, din perspectiva crypto-anarhică a lui Dai, este aceea că, în ultimă instanță, guvernele controlează prin reglementări fluxul banilor, iar participanții din sistem sunt obligați de obicei să se identifice. “Motivația mea a fost ca b-money să activeze economiile online care sunt pur voluntare […] unele care să nu poată fi taxate sau reglementate cu amenințarea forței”, a explicat el ulterior.

Astfel, Dai a venit cu o propunere alternativă. Ba chiar cu două.

În prima soluție, în loc de o entitate centrală care controlează mecanismul, toți participanții păstrează copii separate ale aceluiași registru. Oricând are loc o nouă tranzacție, toată lumea își actualizează înregistrările. Mai departe, aceste registre ar consta în chei publice care ar avea sume atașate – fără nume reale. Această abordare descentralizată ar preveni ca o entitate singură să blocheze tranzacțiile și în același timp ar oferi intimitate tuturor utilizatorilor.

Ca un mic exemplu, să presupunem că Alice și Bob sunt utilizatori de b-money. Ambii dețin chei publice: Alice are cheia publică “A”, iar Bob are cheia publică “B”, pentru acestea deținând fiecare și câte o cheie privată. Și, după cum apare înregistrat în registrele din posesia utilizatorilor, ambele chei publice dețin unități monetare b-money; să presupunem că fiecare ar avea câte trei unități.

Dacă Bob vrea să primească două unități monetare b-money de la Alice (deoarece îi vinde un produs), el îi trimite ei cheia sa publică: B. În condițiile în care Alice vrea să cumpere produsul, ea creează o tranzacție care are forma unui mesaj: “2 b-money de la A la B”. Apoi, ea semnează mesajul, cu cheia sa privată aferentă cheii publice A. Mesajul și semnătura criptografică sunt transmise apoi tuturor utilizatorilor de b-money.

Mesajul semnat dovedește tuturor utilizatorilor de b-money faptul că proprietarul de drept al cheii publice A dorește să trimită două unități monetare către B. Ulterior, toată lumeă își actualizează registrele, atribuind un total de o unitate monetară cheii publice A și un total de cinci unități cheii publice B – fără a ști faptul că Alice sau Bob controlează vreuna dintre chei.

Dacă pare cunoscută soluția, așa și trebuie: este modul aproximativ în care Satoshi Nakamoto a proiectat Bitcoin, 10 ani mai târziu.

B-money, versiunea 2

Totuși, Dai a considerat impracticabilă prima sa soluție b-money, “deoarece face să fie greu de utilizat un canal anonim de difuzare în mod sincron și fără ambuteiaje”, după cum avea să menționeze.

În altă ordine de idei, prima propunere b-money nu a rezolvat problema dublei cheltuiri. Alice i-ar fi putut trimite două unități b-money în același timp și lui Bob și lui Carol, propagând aceste tranzacții în zone diferite ale rețelei. Atât Bob cât și Carol i-ar fi trimis apoi un produs lui Alice… pentru a afla mai târziu că o jumătate a rețelei nu are cunoștință despre noile lor balanțe.

Acesta este motivul pentru care Dai a venit cu o a doua soluție b-money, în cadrul aceleași propuneri.

În această versiune, nu toată lumea păstrează o copie a registrului. În schimb, sistemul ar consta în două tipuri de utilizatori: cei normali și cei de tip “server”. Doar cei de tip server, înlănțuiți printr-o rețea de difuzare de genul Usenet, ar deține registrele b-money. Pentru a verifica dacă o tranzacție s-a realizat corect, utilizatorii obișnuiți – ca Bob și Carol – ar trebui să o verifice cu un subansamblu aleatoriu al acestor servere. (În cazul unui conflict, probabil că Bob și Carol ar respinge tranzacția de la Alice și nu i-ar vinde nimic).

Desi nu a fost menționat în propunere, probabil că oricine ar fi putut deveni server, “dar fiecare server trebuie să depoziteze o anume cantitate de bani într-un cont special spre a fi folosită pentru posibile penalizări sau recompense, în cazul dovedirii unor abateri”, a detaliat Dai. De asemenea, serverele ar trebui în mod periodic să publice și să consemneze criptografic posesiunile bazelor de date.

“Fiecare participant trebuie să verifice corectitudinea balanțelor proprii și faptul că suma balanțelor conturilor nu este mai mare decât cantitatea totală de bani creați”, și-a imaginat Dai. “Astfel se previne ca serverele, chiar și în situația unui complot total, să extindă cantitatea de bani permanent și fără niciun cost”.

Și dacă și asta sună familiar, nu este nicio surpriză: a doua propunere de b-money a lui Dai seamănă de departe cu ceea ce se numește astăzi sistem Proof of Stake.

De asemenea, Dai a adăugat propunerii sale și o versiune timpurie a de contract smart. Aceste tipuri de contracte smart se aseamănă cel mai mult cu amestecul dintre un sistem Proof of Stake și unul de arbitraj, unde ambele părți din contract și un arbitru trebuie să depună fonduri într-un cont special. Totuși, deși ar părea curios comparativ cu standardele moderne, aceste contracte nu aveau la nivel de cod un sistem de rezolvare a disputelor: era posibil în schimb, în caz de dispută, ca diferiți utilizatori (sau servere) să își actualizeze registrele în mod variat, iar ca efect, statutul registrelor din rețea era lipsit de consens. (Este de presupus că diverse penalizări ar fi făcut ca prețul trișării să fie prea mare pentru a risca așa ceva).

Politica monetară

Totuși, politica monetară propusă de Dai a reprezentat cea mai mare diferență între b-money și Bitcoin.

Desigur, politica monetară a Bitcoin este foarte simplă. Pentru a emite monede în circulație, inițial se eliberau 50 BTC la fiecare bloc, număr care a scăzut la 12,5 în prezent. Această valoare va scădea în timp până când, peste zeci de ani, cantitatea totală de Bitcoin aflată în circulație ar fi de aproape 21 de milioane de monede. Este de discutat dacă o astfel de politică monetară este și ideală, dar un lucru este cert: până acum nu a reușit să producă o valoare stabilă a criptovalutei.

În schimb, valoarea stabilă a monedei era o parte importantă a vizunii lui Dai. Pentru a obține asta, valoarea b-money ar fi trebuit să fie cuplată cu valoarea unui (teoretic) coș de bunuri. De exemplu, 100 de unități monetare b-money ar fi fost echivalentul unui coș de bunuri. Astfel, b-money ar fi avut o valoare stabilă, cel puțin față de un coș de bunuri: aceleași 100 de unități b-money ar fi putut cumpăra respectivul coș atât în trecut, cât și în prezent și în viitor.

Pentru a emite monede noi, utilizatorii trebuiau să determine cât ar fi costat un coș de bunuri în mod analog cu aflarea soluției unei probleme de calcul: o “dovadă de lucru”. De exemplu, dacă un coș de bunuri ar costa 80$ la un anumit moment, acest lucru ar fi trebuit corelat cu o dovadă de lucru care ar costa în medie 80$ pentru a fi produsă. Dacă peste 10 ani același coș ar costa 120$, aceleași 100 de unități b-money ar urma să fie potrivite cu o dovadă de lucru a cărei realizare ar costa 120$.

Cu ajutorul acestui indicator, prima persoană care ar produce o dovadă de lucru validă ar fi creditată de toți utilizatorii (atât obișnuiți, cât și servere) cu 100 de noi unități b-money. Ca urmare, nimeni nu ar fi stimulat în particular să producă dovezi de lucru, cu excepția situației în care cineva ar intenționa să utilizeze b-money, limitându-se astfel inflația în timpul dezvoltării “economiei b-money”.

Alternativ, în mod suplimentar propunerii sale, Dai a sugerat ca banii să fie creați prin intermediul unei licitații. Fie utilizatorii (primul protocol), fie serverele (al doilea protocol), ar trebui mai întâi să determine o creștere optimă a bazei monetare. Apoi, de exemplu, dacă această creștere ideală ar fi stabilită la 500 de unități b-money, o licitație ar determina cine trebuie să creeze aceste 500 de unități: oricine ar fi dorit și ar fi fost capabil să ofere cea mai bună dovadă de lucru în acest sens.

Bitcoin

B-money nu a fost niciodată implementat și nici n-ar fi avut cum: b-money nu a avut totuși un design practic complet”, a admis  Dai într-o discuție pe forumul LessWrong, în urmă cu câțiva ani. În plus, Dai nici nu s-a așteptat ca b-money să fie utilizat în masă, chiar și dacă ar fi fost implementat.

“Cred că în cel mai bun caz b-money va fi o valută / mecanism de ranforsare a contractelor pentru o nișă, servindu-i pe cei care nu doresc sau nu le pot utiliza pe cele sonsorizate de guvern”, a explicat el într-un mesaj ulterior anunțului efectuat pe grupul de email al mișcării Cypherpunk.

Într-adevăr, multe dintre problemele b-money au rămas nerezolvate, sau, cel puțin, cu specificații la fel de puțin elaborate. Poate, mai important, modelul său de consens nu a fost unul foarte robust, așa cum este ilustrat cel mai bine în soluția de contract smart propusă de Dai. De atunci s-a descoperit și că sistemele Proof of Stake introduc noi provocări pe care Dai poate că nu le-a prevăzut; de exemplu, este neclar modul în care se stabilesc obiectiv “abaterile”. Și asta pentru a nu intra în problemele profunde ale propunerii, cum ar fi lipsa de intimitate determinată de faptul că fondurile puteau fi urmărite, sau posibila centralizare a emiterii de monedă (“minerit”). Într-adevăr, unele dintre aceste probleme persistă și astăzi în cazul Bitcoin.

Dai – care după ce a propus b-money a lucrat la TerraSciences și Microsoft, pensionându-se devreme – a ales să se concentreze pe rezolvarea acestor probleme.

“Nu am continuat să lucrez asupra design-ului pentru că am ajuns să fiu oarecum deziluzionat de crypto-anarhie în perioada în care am terminat munca la b-money”, a explicat mai târziu Dai pe forumul LessWrong. El a și reiterat “Nu am prevăzut că un sistem ca acesta, odată implementat, ar putea atrage atâta atenție și utilizare din partea a mai mult decât un mic grup de cypherpunks înrăiți”.

Și totuși, propunerea lui Dai nu a fost uitată: b-money a ajuns să fie prima referință din white paper-ul Bitcoin. Cu toate acestea, pe cât sunt de asemănătoare conceptele b-money și Bitcoin, este posibil ca Satoshi Nakamoto să nu se fi inspirat deloc de la Dai. Însuși Dai este de părere că inventatorul Bitcoin a avut o idee complet independentă de a sa.

Cu puțin timp înainte de publicarea white paper-ului Bitcoin, Dr. Adam Back – creatorul HashCash – l-a direcționat pe Satoshi Nakamoto către munca lui Dai, astfel fiind posibil ca Dai să fie unul dintre puținii oameni pe care inventatorul Bitcoin l-a contactat personal înainte de a-și publica white paper-ul. Dai însă nu a răspuns email-ului lui Satoshi. Privind în urmă, a recunoscut că și-ar fi dorit. Deloc surprinzător, Dai pune sub semnul întrebării modelul folosit de Bitcoin pentru generarea monedelor.

“Aș fi crezut că Bitcoin va eșua prin prisma politicii sale monetare (deoarece politica determină o volatilitate mare a prețului ceea ce impune un cost mare utilizatorilor, care trebuie ori să-și asume riscuri indezirabile, ori să se angajeze într-o costisitoare acoperire pentru a utiliza moneda)”, a scris el pe LessWrong. “Un posibil impact al Bitcoin ar putea fi acela că datorită politicii monetare deficitare și a asociatei volatilități a prețului, nu ar putea crește la scale mari, iar prin preluarea nișei criptovalutelor se înlătură un viitor în care o criptovalută crește la o scală foarte mare”.

Dai a mai adăugat că “Asta ar putea fi parțial vina mea, deoarece când Satoshi mi-a scris pentru a-mi cere opinia asupra proiectului său, nu i-am răspuns niciodată. Altfel, poate că l-aș fi putut (sau i-aș fi putut) convinge să renunțe la ideea de “cantitate fixă de bani””.

Cum ţi s-a părut acest articol? Gazeta Bitcoin te invită să ne scrii un comentariu pe iBitcoin.ro!

4
HeartHeart
0
HahaHaha
0
WowWow
0
SadSad
0
AngryAngry
Voted Thanks!

Gazeta Bitcoin

Redacția de știri.

Leave a Reply

Loading Posts...