Dezbaterea scalării rețelei bitcoin este cu siguranță unul dintre motivele definitorii pentru comunitate.
Această problemă a împărțit comunitatea în două, fie în nesfârșitele dezbateri de pe Reddit, media digitală și chiar și în rândul echipelor de dezvoltatori de top. Ridică de asemenea și probleme importante în jurul centralizării a relației oarecum ciudate și incomode cu industria minerilor din China.
În această postare, voi încerca să trec în revistă diferitele aspecte ale dezbaterii, așa cum se vede ea din mai perspective diferite. Nu consider că aparțin unei tabere anume și am încercat să fiu cât de neutru se poate. Corecturile sunt mereu binevenite.
Dezbaterea privește câteva probleme tehnice centrale care au implicații importante asupra felului în care moneda bitcoin este guvernată. Pentru echipa Bitcoin Classic, acest lucru înseamnă, în esență, găsirea unei soluții care rezolvă umplerea blockurilor din cauza volumelor mari de tranzacții, găsind în același timp o metodă să trecem guvernarea din mâinile echipei de dezvoltare Bitcoin Core în mâinile comunității de minare.
Una dintre primele încercări de a rezolva problema a venit din partea lui Mike Hearn, la acel moment dezvoltator Bitcoin Core. Acesta a propus BIP 64, anunțat în iunie 2014. Clientul BitcoinXT (precursorul pentru Bitcoin Classic) a apărut în decembrie 2014.
Bitcoin XT nu a avut cine știe ce priză în rândul utilizatorilor, dar a făcut clare credințele lui Hearn că este necesară o nouă abordare la problema scalării. Cu toate acestea, un grup important din comunitatea bitcoin a susținut ideea XT, și anume comunitățile de plăți și furnizorii de portofele bitcoin. Asta cel mai probabil pentru că cu cât sunt blockurile mai mici, cu atât mai mulți utilizatori trebuie să plătească comisioane de tranzacție, iar rețeaua devine mai lentă. Din moment ce aceste servicii sunt orientate către oameni care caută să facă tranzacții rapide, o rețea lentă are efecte negative asupra adopției la o scară mai mare.
Apare problema bifurcației ferme
În iunie 2015, Gavn Andresen, la vremea respectivă director al Fundației Bitcoin, a anunțat BIP 101. BIP 101 a fost rulat în XT în august 2015, dar nu a avut parte de suport în comunitatea de minare.
CU toate acestea, faptul că acești dezvoltatori bitcoin importanți au căutat în mod activ să introducă o bifurcație fermă, a lansat o dezbatere încinsă care nu privea doar problemele tehnice ci și felul în care schimbările bitcoin ar trebui să apară în viitor.
Din moment ce Bitcoin XT nu avea parte de suport, a apărut o propunere mai puțin drastică de a crește dimensiunea blockului la 2MB. Ideea a devenit cunoscută ca Bitcoin Classic. Această bifurcație a fost dezvoltată de jucători importanți din comunitatea bitcoin, în special Gavin Andresen și Jeff Garzik (fondatorul Bloq).
Există discrepanțe între lansarea originală și siteul celor de la Classic. Pe site, Piter Rizun este listat ca dezvoltator, dar la lansare acesta a fost clasat ca și consilier extern. Cu toate acestea, numele care apar în lansare și nu apar pe site sunt cele mai interesante când vine vorba de înțelegerea poveștii de fond a Bitcoin Classic.
Lansarea Bitcoin Classic spune că minarea se află sub bagheta lui Marshall Long, director tehnic al serviciului de minare în cloud FinalHash. Nu sunt prea multe informații în afară de această creditare – deși are destule conexiuni cât să participe la Satoshi Roundtable. Un alt nume interesant este Jonathon Toomim, listat ca și consilier extern, care a lucrat destul de mult la Classic înainte să predea frâiele lui Andresen (care se pare că nu a vrut să se împlice în dezvoltare la început).
În cele din urmă, Olivier Janssens este listat ca fiind cel care a facilitat lansarea (și ca utilizator pe site-ul Classic). Janssens este un jucător cu influență. Împreună cu Long, i-a asigurat lui Toomim un loc ca dezvoltator pentru Classic. Prezența lui Janssens este importantă pentru că, pe perioada în care a făcut parte din comisia Fundației Bitcoin a făcut publice detalii despre felul incometent în care aceasta a fost condusă.
Din multe puncte de vedere, Classic poate fi văzut ca o încercare de a contesta structura de guvernare din Fundația Bitcoin, care în acest moment nu este implicată în dezvoltare, dar și a echipei de dezvoltare Bitcoin Core.
Cele două motivații importante pentru Bitcoin Classic se văd în propunerea BIP 100 a lui Garzik, care esențialmente îi lasă pe mineri să aleagă dimensiunea potrivită pentru block și BIP 102, varianta de compromis, care ar crește dimensiunea blockului la 2MB, ca un compromis care să asigure că blockurile nu se umplu până la refuz (și care rezolvă problema tranzacțiilor lente și scumpe pe termen scurt).
Dezbaterea va ajunge în mitologia bitcoin, după ce a lansat cea mai contencioasă, dar și cea mai fascinantă dezbatere despre ce înseamnă bitcoinul pentru utilizatori. La discuțiile viitoare, ne vom aduce aminte de reacția minerilor la introducerea ideii Bitcoin Classic în ecosistem.
Bitcoin Core
În această secțiune, trebuie să facem o cursă prin procesul de dezvoltare al echipei Bitcoin Core. Acest lucru este necesar pentru că bitcoin este neobișnuit în termeni organizaționali pentru că este, prin design, o rețea decentralizată nominal (fără un lider, sau cu un lider absent). Chiar și așa, există o ierarhie operativă, cu dezvoltatorii și minerii la vârf. Cum se ajunge la un consens? Întrebarea este foarte complexă când ne referim la ecosistemul bitcoin mai larg, dar procesul de dezvoltare este mult mai direct.
Dezvoltarea bitcoin este deschisă oricărui dezvoltator interesat de proiect.
O mare parte din activitate se petrece în repozitoriul GitHub. Softul dezvoltat este cunoscut sub numele de Bitcoin Core și este open-source. Este important de notat că, deși aceasta este calea dominantă, discuțiile se poartă de asemenea pe o listă de mailing cunoscută ca bitcoin-dev. Mai există și un canal IRC (Internet Relay Chat) care este mai informal și care este înregistrat (irc.freenode.net#bitcoin-dev).
În linii mari, procesul implică utilizatori care sugerează ”pull requests”, care seamănă cu sugestiile care au fost trimise de dezvoltatori. Scopul este să se facă patchuri sau să se îmbunătățească baza de cod.
De multe ori se găsesc propuneri și sugestii și pe comunitățile reddit și pe forumurile bitcoin.
Cum funcționează Bitcoin Core
Un număr mare de dezvoltatori Bitcoin core listați au contribuit o dată la repozitoriu.
Alt subset au contribuit de 1-10 ori. Rândurile celor care au contribuit de mai mult de 10 ori sunt mai subțiri, iar acești dezvoltatori pot fi numiți dezvoltatori core (de nucleu), adică o echipă de dezvoltatori care există pentru că, din motive practice, este nevoie de o oarecare ierarhie.
Drept urmare, există și cei care mențin repozitoriul, care sunt responsabili pentru includerea pull request-urilor, dar și șeful pe mentenanță, responsabil pentru ciclul de lansări, merge-ul general, moderarea și numirea responsabililor pe mentenanță/
Cu alte cuvinte, nu există o echipă de dezvoltare oficială Core, dar există oameni care se ocupă de mentenanță și un șef de mentenanță. Acești indivizi au ultimul cuvânt când vine vorba despre adăugirile la Bitcoin Core. Dacă un patch rezolvă o problemă relativ minoră, procesul urmărește un criteriu mai larg – ”patch-ul trebuie să se alinieze cu principiile generale ale proiectului, întâmpină standarde minime de includere și ia în considerare consensul general de contributori”.
Pentru cei cu înclinații academice, procesul seamănă cu sistemul de peer-review, dar este mai puțin formalizat.
Și mai interesant este când patchul se leagă de regulile de consens, din moment ce acestea sunt fundamentale în natura bitcoin.
Acestea cer un proces mai riguros și astfel de sugestii sunt în general ascultate doar când vin din partea unor dezvoltatori de top. Dezbaterea scalării este o zonă în care acest lucru devine foarte clar, chiar și pentru cei care privesc bitcoinul din afară.
Este important să facem o distincție clară aici.
Este posibil ca bitcoinul să implementeze o bifurcație soft care ar putea, de pildă, să îmbunătățească sau să rezolve o problemă minoră. Utilizatorilor nu li se va cere să facă update la soft, dar sunt încurajați să o facă. Cu o bifurcație fermă, toată lumea trebuie să treacă la noua implementare. Din moment ce bifurcația fermă dizolvă reguli vechi esențiale protocolului curent, este posibil să apară două blockchainuri diferite cu reguli care intră în contradicție între ele.
Așadar, bifurcațiile ferme sunt, în mod deloc surprinzător, contencioase, din moment ce vin cu posibilitatea unei rupturi. Această ruptură tehnică poate să facă întreaga comunitate să se împartă în două.
Note minore
Mai sunt câteva aspecte minore care trebuiesc menționate – mulți oameni cred că BIP (Propunerile de Implementare Bitcoin) se referă la un fel de sugestii pentru platformă care cer o bifurcație fermă.
Acest lucru se datorează dezbaterii scalării, în care BIP-urile intrate în competiție erau de fapt produse de cele mia multe ori pur și simplu ca idei despre cum să se facă cel mai bine scalarea. Într-adevăr, unele BIP-uri vin cu informații. Multe BIP-uri au fost aplicate, multe une. Unele au fost retrase, altele sunt încă în așteptare.
Sunt complicate, dar în dezbaterea scalării au apărut ca o metodă clară pentru viziuni diferite despre cum să se meargă mai departe cu bitcoinul în general.
Este important să ne amintim că uneori dezvoltatorii iau pauze sau devin cu totul inactivi. De exemplu dezvoltatorul sistemului BIP, Amir Taaki, a fost la un moment dat foarte vizibil în lumea bitcoin, dar cu timpul și-a întrerupt activitatea.
Trebuie să subliniezi că sunt de asemenea foarte mulți oameni pe care îi voi trece cu vederea în rândurile care urmează, printre care se numără și contributori la Bitcoin Core foarte importanți, deși mai puțin vocali. Unii dintre ei sunt pur și simplu tăcuți și se află undeva în fundal.
Pe cei care nu au o miză în dezbaterile publice i-am lăsat deocamdată la o parte.
Echipa Bitcoin Core
Acum, tehnic vorbind, cei care au lucrat la Bitcoin Classic nu au încetat niciodată să lucreze la Core.
De exemplu Gavin Andresen (BIP 101) a fost mereu văzut ca parte centrală din Core. Era de asemenea, în mod faimos, Director Savant la Fundația Bitcoin (remunerat), iar acum este finanțat de MIT Media Lab Digital Currency Initiative. Jef Garzik (BIP 100/102) va fi mereu un personaj important din comunitatea dezvoltatorilor bitcoin. Mike Hearn nu mai este impicat și între timp a trecut la R3CEV.
Desigur, ieșirea dramatică a lui Hearn din industria bitcoin a încins dezbaterea scalării.
Acum, împreună cu Andersen, la MIT Media Lab îl găsim pe Cory Fields, care nu a fost niciodată prea vocal. Apoi, îl avem pe Wladimir J van der Laan în cadrul inițiativei MIT (amândoi au fost finanțați și de Fundația Bitcoin).
Van der Laan este de asemenea director de mentenanță și pare de cele mai multe ori să aibă rolul de senior în raport cu ceilalți doi dezvoltatori implicați în mentenanță, și anume Jonas Schnelli și Marco Falke. Nici unul dintre aceștia nu a jucat un rol foarte vocal în dezbaterea scalării, deși Schnelli este o figură mult mai vizibilă. Printre cei care nu se ocupă cu mentenanța dar au mai multe de spus despre dezbaterea scalării, se numără Eric Lombrozo, director la Ciphrex.
Mai sunt câțiva membri ai Bitcoin Core pe care trebuie să ne concentrăm.
În primul rând o să mă concentrez pe relația dintre Core și Blockstream (apărut în 2015). Blockstream este o entitate distinctă față de Core și este o întreprindere finanțată. Dezvoltatorii de nucleu ca Jorge Timon și Matt Corallo se numără printre concentraraea de dezvoltatori Core sub bannerul Blockstream. Cu alte cuvinte, Blockstream sunt cei care finanțează cel mai mare număr de dezvoltatori Core.
Așadar, este important de înțeles ce încearcă Blockstream să facă. Nu am acoperit toate numele importante din cadrul Bitcoin Core, dar întâi trebuie să mai facem o paranteză.
Blockstream este orientat către o dezvoltare a lanțurilor paralele și a fost anunțat inițial de inventatorii hashcash, Adam Back și Austin Hill (nici unul dintre ei nu sunt dezvoltatori Core). Lanțurile paralele sunt utile din mai multe motive și vin cu o metodă de a inova fără să introducă bifurcațiile ferme.
O astfel de alterare a regulilor de consens durează. Pentru cei angajați în perspectiva descentralizată, unde schimbările tehnice aduse bitcoinului trebuiesc manevrate cu grijă, lanțurile paralele oferă o soluție. Mai precis, discutăm lanțurile paralele fixe care sunt, mai mult sau mai puțin, blockchainuri customizate pe partea blockchainului bitcoin.
Din multe puncte de vedere, o companie cum este Coinbase este în practică un quasi-lanț paralel. Coinbase va vea cel mai probabil un pool de bitcoini, o rezervă (de lichidități), iar din acesta nu vei retrage aceleași monede introduse. Așadar, se comportă ca un quasi-lanț paralel în aceeași măsură în care zdruncină etosul obișnuit al bitcoinului, în care fiecare persoană demonstrează că este proprietar al parolei private pentru a cheltui niște monede.
Bonusul este că poți să faci lucruri destul de rapide cu Coinbase. Și, desigur, acesta este un argument important adus în cadrul dezbaterii scalabilității, și anume faptul că ar trebui să ne concentrăm mai mult pe îmbunătățirea vitezei de tranzacții, ca fiind cea mai importantă problemă a monedei digitale.
Per total, lanțurile paralele urmează același model de tip sandbox (concept care desemnează un teren de testare și experiment, în care miza este relativ mică și dezvoltatorii pot să încerce diferite formule). Izolând lanțul paralel de lanțul principal – permițând în același timp transferabilitatea bunului – îți poți asuma mai multe riscuri. Nu vrei să te rupi de lanțul principal, dar nu pierzi tot dacă o faci.
Funcționează la fel cum atunci când faci sandboxingul browserului înseamnă că un bug al broserului nu îți va distruge întregul sistem de operare. Mai mult, bitcoinii tăi nu sunt nicioată în pericol, pentru că se comportă doar ca niște jetoane pe sau pentru lanțul paralel. Destul de repede, probabil din cauză că nu a avut parte de adopție, a fost anunțat Sidechain Elements.
Elements era mai funcțional, simplificând treaba celor care vor să facă adopția, dar conținea o funcționalitate ami subtilă numită Martorul Segregat. SegWit a fost ideea lui Gregory Maxwell, dezvoltator de nucleu și membru Blockstream. În mare, conceptul original al segwit cere o bifurcație fermă, dar din fericire Luke Dash Jr a salvat situația cu o metodă care i-ar permite să fie o bifurcație soft. După conceptul lui Maxwell și după fix-ul ui Luke Jr., segwit a fost codat de un membru final, Dr. Pieter Wiuelle (de la Blockstream), cu input propriu.
Segwit merge acum mai departe, deși nu a fost dat un program clar pentru lansarea acestuia.
Sursa – Dr.Paul Ennis via CoinDesk