Eric Lombrazo este dezvoltator Bitcoin Core și deci este cel mai în măsură să explice evenimentele importante din 1 august. Pe 1 august va avea loc o modificare la codul bitcoin. Codul care guvernează rețeaua trebuie îmbunătățit, pentru a putea să proceseze mai multe tranzacții pe secundă. Acesta este și motivul pentru care comunitatea, minerii și dezvoltatorii de portofele sunt pe jar de mai bine de o lună. În rândurile de mai jos, GoanaDupăBitcoin traduce în întregime explicațiile lui de pe site-ul SatoshisDeposition, unde puteți asculta și varianta audio în engleză, explicată direct de Eric Lobrazo.

De ce este dificil să implementezi o bifurcație în protocolul bitcoin

Spre deosebire de alte sisteme de bifurcație soft, bitcoinul are o problemă foarte mare de logistică atunci când vine vorba de lansări de update-uri la protocol. Moneda  bitcoin se bazează pe consensul între noduri. Așadar, toate nodurile care verifică tranzacțiile trebuie să aibă aceleași informații.

[Nodurile sunt mai multe calculatoare independente din întreaga lume care stochează registrul de tranzacții din rețeaua bitcoin, de la începuturi și până astăzi. Registrul își face în permanență updateul ultimelor tranzacții făcute în rețea. Registrul este deci distributiv, stocat pe mai multe dispozitive separate. Acestea compară datele proprii cu datele stocate în registrele păstrate de alte noduri, pentru a se asigura că ele sunt valide. Natura distributivă a registrului de tranzacții asigură faptul că schimbările rău-voitoare ale registrului vor fi identificate și eliminate]

Sistemul de noduri este foarte important pentru că determină ce tranzacții sunt considerate valide în rețea. Dacă diferiți oameni nu cad de acord, atunci vom avea istorice diferite care pot fi incompatibile între ele. Unele noduri pot să considere că unii utilizatori au o anumită sumă de bitcoini, altele…altă sumă de bitcoini. Evident, nu ar fi un lucru bun pentru rețea.

Bifurcațiile sunt foarte frecvente în lumea tehnologiei

În majoritatea tipurilor de software, când se face upgrade, de obicei versiunea nouă este lansată în așa fel încât oamenii să poată descărca un upgrade și să îl instaleze. Formatele de fișiere pot fi compatibile cu versiunile de dinainte și cu cele de după.

În mod normal, nu este o problemă pentru că documentele diferite pot fi convertite în ambele sensuri, pentru ca versiunile noi să poată citi documentele create cu versiunile vechi, iar versiunile vechi să poată să convertească fișierele în formatul pe care îl pot citi. [de exemplu un document docx poate fi convertit în doc pentru ca cei care utilizează o versiune mai veche de Word să îl poată citi]. Așadar este foarte simplu pentru utilizatori să migreze de la o versiune veche la una nouă, în ritmul lor, oricând își doresc să o facă.

Cu aplicațiile de networking sau cu browserele web este foarte ușor să adaugi noi funcționalități la protocol. Vechile browsere care nu susțin noile funcționalități pot să aibă pur și simplu o casetă goală în locul funcționalității adăugate mai recent, care să arate că acea funcționalitate nu este suportată.

Blockchainul este însă atipic

În cazul unei rețele cu consens descentralizat cum este bitcoinul nu poți să faci lucrul ăsta. Dacă nu cade de acord toată lumea asupra validității tranzacțiilor, atunci se invalidează toată premiza sistemului. Adică, ideea că toată lumea trebuie să cadă de acord asupra istoricului de tranzacții nu mai este valabilă.

Structurile propriu-zise de date care se folosesc pentru a trimite informațiile înainte și înapoi, prin noduri, au numere care corespund cu versiune de protocol. Aceste numere nu pot fi schimbate pur și simplu. Nu poți să ai  un software nou care să detecteze nodurile noi, iar pe cele vechi să le ignore.

Toate procedurile cu bitcoin au nevoie de semnături criptografice. Toate datele care ajung acolo trebuie să fie trecute prin funcții de hash. TOATE commiturile se bazează pe aceste informații care să se hash-eze la valorile corecte și pe semnăturile care semnează datele corecte.

Asta înseamnă că dacă un anumit software nu înțelege un anumit câmp de date și nu îl poate valida devine dificil ca toată lumea să cadă de acord asupra aceluiași istoric.

Atunci când trebuie să lansezi un update la regulile de protocol logistica devine problematică. Nu e prea ușor să faci pe toată lumea să descarce noua versiune de software. Nu te poți aștepta ca toată lumea să facă acest lucru în același timp și să se autoorganizeze.  Unii oameni nu vor vrea să facă upgrade-ul imediat, sau nu îl pot face, ori poate nu au primit mesajul.