Peter Smith, directorul Blockchain, a postat pe blogul lui un text în care descrie evenimentele de la masa rotundă a lui Satoshi, întrunire care a adunat mințile luminate din industrie în speranța că se va ajunge la un consens în legătură cu creșterea dimensiunii block-ului. Discuțiile, după spusele lui Smith, au fost dezamăgitoare, iar dezvoltatorii bitcoin core, minerii și antreprenorii din industrie nu se află cu mult mai aproape de un răspuns la problemă. Vom reda mai jos pentru cititorii români postarea pesimistă a acestuia

Ce s-a întâmplat la Masa Rotundă a lui Satoshi

Săptămâna trecută am participat la conferința Satoshi Roundtable, împreună cu Charlie Lee și aproape 70 de alți membri din comunitatea bitcoin.

Am vrut să împărtășesc părerea mea personală despre ce s-a întâmplat la conferință (fără să dau nume sau conținutul unor discuții private).

Mai multe întâlniri au avut loc între dezvoltatorii nucleului, mineri, directori de companii bitcoin. După cum bine știți, este o problemă destul de mare de consens în legătură cu felul în care ar trebui să se scaleze bitcoinul în acest moment. Pe de-o parte avem dezvoltatorii de nucleu care își fac griji în legătură cu scalarea pe lanț și felul în care aceasta va afecta descentralizarea. Pe de altă parte, avem cele mai multe companii care vor să vadă o creștere. Minerii sunt cumva prinși la mijloc și cu păreri împărțite.

Cred că organizatorii conferinței sperau să vadă un consens (așa cum s-a întâmplat la Hong Kong), totuși a devenit clar până la sfârșit că diferențele de opinii sunt prea mari. Conversația s-a concentrat la început pe diversele compromisuri pentru a amâna problema scalabilității. Dar pe măsură ce conversația a evoluat, am devenit mai îngrijorat în legătură cu soluțiile pe termen scurt pe care le alegem, pentru că am realizat că avem o problemă mai mare – riscul sistemic cu care se confruntă bitcoinul dacă echipa Bitcoin Core este singura echipă care lucrează la bitcoin.

Echipa bitcoin core are membri cu un IQ foarte mare, dar sunt unele lucruri pe care le găsesc îngrijorătoare în legătură cu felul în care se formează ca echipă, după ce am petrecut niște timp cu ei weekendul trecut.

  1. Unii dintre ei au dovedit abilități de comunicare slabe și o lipsă de maturitate – acest lucru afectează abilitatea bitcoinului de a aduce noi dezvoltatori ai protocolului în spațiu.
  2. Preferă soluția perfectă, nu una suficient de bună. Și dacă nu există o soluție perfectă, par să nu aibă nici o problemă cu lipsa de acțiune, chiar dacă acest lucru pune bitcoinul în pericol.
  3. Par să aibă o credință puternică cum că bitcoinul nu se va scala pe termen lung și că orice creștere a dimeniunii blockului este o pantă alunecoasă către un viitor pe care ei nu vor să îl permită.

Deși cei din Bitcoin Core spun că sunt de acord cu o bifurcație fermă la 2MB (o au și ei în plan, doar că într-un viitor foarte îndepărtat) refuză să vadă problema ca pe o prioritate. Preferă să amâne ceva care ar putea acum să ajute rețeaua, pentru că nu au încredere în comunitate că va lua decizii înțelepte în viitor. Se văd ca niște planificatori centrali ai rețelei și ca protectori ai oamenilor. Par să nu aibă nici o problemă în a vedea moneda bitcoin că eșuează, atâta timp cât nu îi compromit principiile.

Să ai un IQ mare nu este suficient pentru ca o echipă să reușească. Trebuie să faci compromisuri rezonabile, să colaborezi, să fii binevoitor, să comunici și să se poată lucra ușor cu tine. Orice echipă care nu îndeplinește toate aceste puncte nu va reuși să atragă talente de top și va avea probleme pe termen lung. După părerea mea, poate că cel mai mare risc pentru bitcoin în acest moment este, în mod ironic, unul din lucrurile care l-a ajutat cel mai mult în trecut – dezvoltatorii Bitcoin Core.

Bitcoin core – Probleme la orizont

S-a vorbit la conferință despre un scenariu posibil de eșec, foarte interesant, care pe mine m-a tulburat și care arată cât de departe au ajuns lucrurile.

Următoarea înjumătățire a rewardului urmează în luna iulie. Să spunem că minerii, în medie, reușesc să mineze o monedă pentru 250$ (nu știu cifra exactă, așadar încerc să ghicesc). După înjumătățirea din luna iulie, costurile lor de minare pentru o monedă se vor dubla la 500$. Dacă prețul bitcoin rămâne undeva la 425$, nu va mai fi profitabil pentru unii mineri să continue să mineze.

Implicațiile acestui lucru ar fi că s-ar putea să vedem o reducere a puterii de hash în rețea la data înjumătățirii rewardului în iulie. Poate că în gama de 10-50% (nu am o metodă bună de a estima acesst lucru, dacă are cineva o idee vă rog să o postați).

Cea mai sumbră variantă, să zicem că 50% din puterea de hash se oprește la înjumătățirea blockului, pentru că nu mai este profitabil pentru acei mineri. Acest lucru ar însemna că vom începe să veedem blockuri minate la fiecare 20 de minute, în loc de 10 minute. Dar blockurile sunt deja pline în proporție de 70% astăzi. Dacă timpul mediu de confirmare ajunge la 20 de minute, înseamnă că vom fi la 140% din capacitatea fiecărui block și că vom începe să acumulăm backlog.

Bitcoinul are un mecanism pentru a ajusta dificultatea pentru dovada de lucru atunci când puterea de hash se schimbă. Acest lucru se întâmplă o dată la 2016 blockuri, adică în mod normal cam la două săptămâni. Dar dacă se minează un block doar la fiecare 20 de minute, va dura cam patru săptămâni.

Lucrurile nu se opresc aici. Chiar și după patru săptămâni timp în care a opreat peste capacitate așteptând ca dificultatea să se jausteze, ami durează încă până la două săptămâni ca backlogul să își facă treaba înainte să se întoarcă la normal (capacitate de 70% și întârzieri ocazionale). Așadar avem în față o perioadă de 6 săptămâni cu timp de confimrare de 2 săptămâni sau comisioane de tranzacționare mult mai mari. Pe lângă asta, cu atâtea tranzacții în așteptare mempoolurile din majoritatea nodurilor se vor umple, ceea ce înseamnă că majoritatea tranzacțiilor nici măcar nu se vor mai transmite, darămite să se confirme. Acest lucru ar putea să-i împiedice pe comercianți și pe operatorii de portofele să priemască o notificare legată de o tranzacție, timp de mai multe săptămâni.

Dacă acest lucru face prețul bitcoin să cadă, minarea va fi mai puțin profitabilă și am putea să intrăm într-o cădere liberă.

Este neclar care este probabilitatea scenariului de mai sus (este adevărat, am descris cea mai pesimistă variantă posibilă). Odată cu scăderea cantității de bitcoin la jumătate, acest lucru ar putea să crească prețul. S-ar putea să fie mult mai puțin de 50%. Dar cred de asemenea că nu ar trebui să riscăm și că este foarte iresponsabil să ne jucăm atât de aproape de prăpastie. Rețeaua în ziua de azi, cu 70% din blockuri pline, deja are probleme de congestie și backlog. Orice reducere a puterii de hash va exacerba problema.

Faptul că bitcoin core a permis rețelei să ajungă la acest moment este extrem de neglijent și cred că spune multe despre motivațiile lor și despre competența lor ca echipă. Nu există motive să dăm cu zarul și să vedem dacă scenariul eșecului chiar o să se întâmple.

Din fericire, vocile raționale din comunitate au îndemnat la o planificare prudentă a capacității încă de acum doi ani, și au lăsat echipa Bitcoin Core să scrie codul pentru a pune în aplicare formula. Există o modalitate prin care putem să evităm acest lucru.

O cale înainte

Cred că există o cale de a evita scenariul pe care l-am descris mai sus.

  1. Primul pas este că avem nevoie să facem un upgrade imediat la blockurile de 2MB. Este cea mai realistă soluție de scalare pe termen scurt care poate să mai amâne problema. Credința mea este că fie vom face acest upgrade acum (când avem suficient timp pentru ca toată lumea să fie pregătită) sau va trebui să îl facem în mijlocul unei urgențe pe parcurs. Nu se pune problema cum, ci când. Există deja un cod disponibil pentru a rezolva această problemă chiar azi. Codul este de bună calitate, este scris de foști dezvoltatori core și este deja rulat în producție de un număr de companii bitcoin, inclusiv de Coinbase. Trecând la BitcoinClassic nu înseamnă că trebuie să rămânem cu echipa Classic pentru totdeauna, este pur și simplu cea mai bună opțiune să mitigăm riscurile în acest moment. Putem să folosim cod de la orice echipă pe viitor.
  2. Trebuie să comuncăm cu minerii chinezi despre această cale de upgrade. Au fost induși în eroare să creadă că doar 4-5 oameni în toată lumea pot să lucreze în siguranță la protocolul bitcoin, când de fapt este un grup care pune în pericol afacerile lor. Îi voi ruga pe @cnLedger pe Twitter să mă ajute să traduc această postare și să fac publică problema (update – este acum tradus). Noi, cei din comunitate, trebuie să facem o treabă mai bnă când vine vorba de construirea relațiilor cu minerii chinezi.
  3. Pe termen lung trebuie să formăm o echipă care să lucreze la protocolul bitcoin. O echipă care este primitoare cu noii dezvoltatori din comunitate, dispusă să facă compromisuri rezonabile și o echipă care va ajuta protocolul bitcoin să se scaleze. Veți mai auzi discuții pe tema asta în următoarele una-două luni.
  4. Trebuie să notăm faptul că răspunsul Bitcoin Core la scalare a fost să propună o soluție nujmită martorul segregat. Deși aceasta este o tehnologie bien făcută, cred că ar fi foarte riscant ăs folosim martorul segregat ca soluție de scalare ținând cont de situația despre care am vorbit mai devreme. Unul dintre cele mai mari riscuri în a folosi martorul segregat ca soluție de scalare (care a ieșit la suprafață la conferință) este că pentru a obține beneficiile scalării nu este nevoie doar de nou cod bitcoin core, ci și de nou cod care să fie scris de fiecare furnizor de portofele mare care generează tranzacții. Este puțin probabil că acest lucru se va face la timp pentru a evita problema de scalare cu care ne confruntăm în acest moment. Numărul de linii de cod care trebuiesc scrise pentru aceasta în întreaga industrie va fi de o magnitudine mai mare decât o soluție de scalare de a schimba blockurile de 1MB cu blockuri de 2MB. Acest lucru le-a fost explicat dezvoltatorilor bitcoin core la conferință și nu a părut să le schimbe părerea despre cea mai bună soluție de scalare pe termen scurt. Ținând cont de faptul că urmează înjumătățirea blockului în luna iulie și de faptul că întârzierile din rețea se fac simțite în rețea, părerea mea este că ar fi iresponsabil și periculos să urmăm propunerea de la consensul din Hong Kong în acest moment, care include martorul segregat.

Concluzii

Părerea mea în general (pe care mi-am spus-o și la masa rotundă săptămâna trecută) este că bitcoinul ar fi mult mai de succes cu un sistem cu mai multe partide care să lucreze la dezvoltarea protocolului decât o singură echipă cu limitările pe care le-am menționat mai devreme. Cred că putem să punem asta în practică. De fapt, trebuie să punem asta în practică.

Dacă vreți să asigurați succesul bitcoin, vă încurajez să faceți upgrade la Bitcoin Classic în termen scurt și apoi să faceți ce puteți pentru a ajuta planul în trei pași pe care l-am subliniat mai sus. Aceasta este cea mai bună cale înainte pentru a mitiga situația periculoasă în care ne găsim.

În viitor, va trebui să creăm o nouă echipă pentru a lucra la protocolul bitcoin și pentru a ajuta moneda bitcoin să devină un sistem cu mai multe partide pentru a evita riscul sistemic – o singură echipă care să lucreze la protocol. Sper să am noutăți în următoarele luni.

Întrebări frecvente / critici

La masa rotundă, acestea au fost câteva argumente comune / critici pe care le-am primit la raționamentul meu:

Piața este nesigură pentru că nu cădem de acord. Nu ar fi mai bine dacă am pune deoparte neînțelegerile și am lucra împreună?

Este și așa destul de dificil să îi faci pe doi oameni să cadă de acord. Cu trei este și mai greu, iar cu patru chiar mai greu. Odată ce o comunitate ajunge la 1500 de oameni, să îi faci pe toți să cadă de acord este un scop irațional. Dar este în regulă. Există mecanisme pentru a rezolva neînțelegerile în grupurile mari de oameni (cum ar fi votarea). Să aștepți ca toată lumea să cadă de acord e ca și când ai spune că nu o să se facă nimic.

Am făcut analogia cu alegerile prezidențiale din SUA. Să îi faci pe susținătorii lui Trump să cadă de acord cu susținătorii lui Hilary ar fi muncă de prost. Dar alegerile se țin și după aceea toată lumea rămâne în aceeași țară chiar dacă unul câștigă la limită (cineva a spus că oamenii s-ar putea muta în Canada dacă Trump iese câștigător – și chiar dacă este adevărat, ar fi mai puțin de 1% din populația americii, ceea ce demonstrează că am avut dreptate).

Am dat și exemplul motoarelor de căutare. Echiplele Chrome și Safari sunt competitori învederați, dar participă la aceleași conferințe și colaborează cu IETF în standarde. Multe companii concurente au fost prezente la conferință. Nu au fost ostile sau combative între ele. Lucrăm cu toții în aceeași industrie și suntem prieteni în multe feluri. Ar fi același lucru cu mai multe echipe care să lucreze la protocolul bitcoin. Venind cu opțiuni pe piață vom avea mai mult progres nu mai puțin.

Piața este nesigură acum pentru că este ca o țară care trece prin primele alegeri. Odată ce apare prima bifurcație fermă de succes și apar mai multe echipe, acest lucru va da încredere în piață pentru că va arăta că sistemul de guvernare implementat în bitcoin funcționează (votul minerilor).

Bitcoinul este diferit pentru că are nevoie de reguli de consens – nu ar merge cu mai multe echipe.

Nu cred că acest lucru este corect. Echipe diferite și implementări pot fiecare să lucreze la software care este interoperabil și folosește același protocol (acest lucru este deja valabil în bitcoin). Upgradeurile sau îmbunătățirile pot fi propuse de orice echopă, dar nu vor avea efect până când nu se ajunge la o majoritate. Bitcoinul are un mecanism pentru a rezolva aceste neînțelegeri – votul minerilor.

La conferință am petrecut timp discutând despre feluri în care putem îmbunătăți votul minerilor, inclusiv feluri în care utilizatorii (sau cei care dețin bitcoin) ar putea să voteze. Au fost câteva propuneri bune în legătură cu folosirea ”zilelor distruse” ca mecanism de votare, în care utilizatorii care generează tranzacții pot să semnaleze că sunt pregătiți pentru upgrade sau un vot în favoarea upgradeului.

Acestea sunt idei bune, dar cred că ar mai trebui să explorăm, că implementarea exactă a felului în care se poate face acest lucru va fi controversată la fel ca orice schimbare majoră în bitcoin, așa că este nerealist să așteptăm ca acest lucru să fie pus în practică ținând cont de problema de scalare pe care o avem. Va trebui să facem upgrade la 2MB pentru a câștiga niște timp înainte de a pune la punct detaliile în această problemă, și probabil că va fi nevoie de o nouă echipă pentru a construi care să fie mai puțin divizantă în rândul comunității.

O marjă de 75% nu este suficientă pentru a declanșa un upgrade pentru că rețeaua se va împărți

Am discutat acest lucru pe larg în mai multe locuri, dar acest lucru este de asemenea neadevărat, după părerea mea. Motivațiile economice se aliniază pentru a avea marea majoritate (peste 99%) din mineri, portofele și schimburi pe aceeași bifurcație. Este o diferență mare între marja declanșată și ce va alege în cele din urmă majoritatea.

Aceiași oameni au sugerat că dacă aș fi sigur în legătură cu asta, de ce nu aș face marja la 95% pentru a fi sigur. Sunt câteva probleme în legătură cu asta.

Atunci când te hotărăști asupra unei marje pui două lucruri în balanță – să superi o minoritate și riscul de a ajunge într-un punct mort. Dacă o pui la 51% atunci avantajul este că e mai ușor să rezolvi neînțelegerile dintre mai multe părți, dar există riscul că un procent vor fi târâți într-o decizie care nu le place. Dacă faci marja de 95%, atunci foarte puțini oameni vor ajunge să cadă de acord (din nou, imaginați-vă alegerile prezidențiale). Cu alte cuvinte,  e nevoie de o minoritate de 5% să aibă drept de veto la orice schimbare pe care 95% dintre oameni o vor. Să ai o marjă de 95 % este același lucru cu a spune ”nu o să schimbăm nimic niciodată”

Cred că Bitcoin Classic vine cu o abordare foarte rezonabilă și echilibrată pentru acest lucru, setând o marjă de 75% și adăugând 28 de zile de perioadă de grație pentru ca oamenii să facă upgrade odată ce se ajunge la această marjă. Părerea mea este că acest lucru (sau ceva similar) va apărea ca un standard pentru următoarele schimbări de protocol.

Sunt atât de puțini dezvoltatori care înțeleg protocolul încât va fi periculos să alienăm o mână de oameni care lucrează la el

Pentru a răspunde la asta am încercat să fac o distincție între informaticieni (cercetători academici care lucrează la criptomonedă) și ingineri de software (oameni care construiesc software de încredere scalabil). Sunt poate vreo câteva duzine de informaticieni calificați care lucrează acum în cercetare pe domeniul criptomonedei, dar sunt cel puțin zeci de mii de ingineri de software calificați în lume care sunt capabili să consruiască software de protocol bitcoin. Google de unul singur probabil că angajează între 5 și 10 000 din aceștia. Am reușit să construim echipe de ingineri la Coinbase care pot construi programe de noduri bitcoin scalabile, de exemplu, la fel cum au făcut și alte companii din acest spațiu.

Speranța mea este că mulți din dezvoltatorii bitcoin core vor continua să rămână în bitcoin (unii vor renunța, ceea ce e în regulă). Industria are nevoie și de cercetători și de ingineri de software. Dar nu este penurie de ingineri de software.

În general ar trebui să fie evident că bitcoin va atrage mai mulți oameni inteligenți care să lucreze la el ca la un proiect de succes nu ca la un proiect în dificultate.

Mai trebuie să spun că eu cred că bitcoin core este în parte motivul pentru care sunt atât de puțini dezvoltatori care lucrează în ziua de azi la protocol. O temă comună la conferință a fost ideea despre care au vorbit oamenii că bitcoin core nu a fost binevoitor, că ar putea să îmbunătățească documentația pentru dezvoltatori și că nu a venit cu specificații formale pentru protocol pentru a încuraja alte implementări.

Echipa Bitcoin Classic nu este destul de bună pentru a prelua acum frâiele

Argumentul meu aici este că nu le cerem să preia frâiele. Ar trebui pur și simplu să facem un upgrade la cel mai de încredere software care va rezolva problema scalabilității, din necesitate. După aceea putem să facem upgrade la un software scris de orice echipă din spațiu (și sper că vor fi mai multe).

Oamenii uită de asemenea că liniile de cod Bitcoin Classic au fost scrise și corectate de foștii dezvoltatori bitcoin core (Gavin și Jeff). Așadar nu sunt de acord cu calitatea argumentului, mai ales pentru versiunea curentă. Versiuni viitoare pot fi judecate independent. Dar codul lor de scalare curent este de bună calitate și asta aș vrea să folosim.

Bitcoin Classic este pregătit și pus în producție astăzi de un număr de companii bitcoin. Bitcoin Core nu a venit cu o astfel de opțiune care să fie gata de producție și pare dedicat să vină cu soluții sub-optime așa cum sunt cele pe care le-am descris mai sus.

Pe  termen lung ar trebui să ne concentrăm pe crearea de noi echipe, dar în acest moment ar fi iresponsabil să nu facem upgrade către Bitcoin Classic. Trebuie să rezolvăm problema imediată a scalării, cu care ne confruntăm acum.

Gânduri de încheiere

Încă există cenzură agresivă pe https://www.reddit.com/r/bitcoin în legătură cu această dezbatere, lucru deplorabil. Continui să încurajez pe toată lumea să se mute pe https://www.reddit.com/r/btc, ca alternativă fără cenzură

Mulțumesc.

Sursa – Peter Smith, director Coinbase