24 270 de jetoane. 27 358 de tranzacții în așteptare. 463 713 pisici digitale.

Ethereum a găzduit multă activitate recent. Unii entuziaști văd acest lucru ca pe un semn pozitiv. Rețeaua este folosită. Traficul pe blockchain tot mai aglomerat nu este tocmai o bucurie pentru utilizatorii de zi cu zi. Pe măsură ce trece timpul, blockchainul este tot mai greu de controlat.

Traficul pe blockchain este tot mai congestionat, iar asta a dus la creșterea comisioanelor, care a ajuns în lumina reflectoarelor. Mai este însă altă problemă când vine vorba de această problemă a scalabilității. Baza de date în creștere vine cu costuri suplimentare pentru utilizatorii care vor să ruleze un nod full.

Baza de date, numită starea ethereum, are toate procesările care trebuiesc memorate de calculatoarele care susțin platforma și blockchainul în sine. Costurile cresc și tot mai puțini aleg să ruleze un nod plin, adică să stocheze pe dispozitive registrul de tranzacții. Sunt mulți care își pun problema că  acest lucru va centraliza rețeaua în mâinile câtorva care fac arbitraj.

Dezvoltatorii recunosc că este o problemă

În primul rând, dezvoltatorii ethereum caută să facă schimbări la nivel de protocol, cum ar fi sharding-ul, care ar urma să minimizeze baza de date.

Pentru că aceste tehnologii sunt încă în dezvoltare, alți participanți, și anume cei care rulează un client ethereum, sunt acum sub presiune.

„Faptul că rezolvarea problemei este foarte importantă se știe încă de la sfârșit de 2016. Ideile se dicută de mai bine de un an. Unde sunt implementările?” a spus creatorul Vitalik Buterin pe un canal al dezvoltatorilor recent.

Se simte că și creatorul Vitalik Buterin și Afri Schoedon, care administrează comunicarea tehnică a furnizorului de client software ethereum Parity sunt frustrați.

„Cu rata de creștere de acum, este previzibil că starea ethereum o să crească foarte repede anul acesta, pâna într-un moment în care nu o să mai poată fi administrată pe dispozitive mici”, a spus Schoedon.

Pentru a limita efectele cauzate de traficul pe blockchain, doi dintre clienții ethereum populari – Geth și Parity – au lansat update-uri de curând, care fac problema mai suportabilă.

Turbocharge

Primul update, lansat săptămâna trecută de Parity, reduce cerințele de stocare eliminând fișierele temporare ede care nu este nevoie și pe care sofware-ul le produce când memorează istoricul ethereum.

Minimizând cerințele de stocare, utilizatorii care se conectează la un nod plin au parte de timpi de sincronizare reduși. Cu asta, compania a spus că software-ul ethereum ar putea să fie rulat pe un hard disk normal, în locul unuia de tip solid state (SSD). Este o funcționalitate importantă, pentru că timpii mari de sincronizare au făcut ca ethereum să nu poată să ruleze pe hard disk încă de vara trecută.

Buterin a fost foarte entuziasmat de răspuns și a spus pe canalul de dezvoltatori „Wow. Cum ați reușit să faceți asta?”

Ca rezultat al update-ului, utilizatorii au avut o experiență cu mult îmbunătățită.

În același timp, dezvoltatorul independent Alexey Akhunov a lucrat la rescrierea clientului geth, numit turbo geth. Descris de Akhunov ca „o obsesie de-a lui”, proiectul are ca scop să elimine repetițiile care nu sunt necesare din întreaga stare ethereum.

Deși nu este nici pe departe gata, a deschis niște căi interesante pentru „optimizarea speculativă” făcută la traficul pe blockchain, după cum a spus Akhunov pe chat-ul dezvoltatorilor.

De exemplu, Akhunov sugerează să se facă codare hard direct în interiorul clientului. În cele din urmă, scopul este să se adapteze programul să ruleze folosind doar memoria RAM, ceea ce ar face procesarea mai rapidă. În acest fel, ar putea să se sincronizeze probabil instant cu rețeaua.

Dezvoltatorii de la Geth lucrează și ei la optimizări. Încearcă să corecteze o problemă la felul în care informația este stocată atunci când un client se sincronizează cu rețeaua, printr-o formulă numită modul rapid. Ideea a fost descrisă de dezvoltatorul de la Geth, Péter Szilágyi ca fiind „cu adevărat îngrozitoare”.

„Codul o să fie cel mai probabil înlocuit cu o grămadă de updateuri care fac sincronizarea mult mai rapidă”, a spus acesta.

Limitele

Se studiază de asemenea un tip de client numit „stateless”, care stochează doar o compresie a întregului registru.

Chiar și Buterin este interesat de idee. Acesta a spus pe canalul dezvoltatorilor că dacă se crează clienți de tip stateless, nu va mai fi nevoie să facă curățenie prin alte măsuri, cum ar fi tunderea datelor vechi și irelevante (să zicem conturile vechi, goale și inactive de multă vreme).

„Sunt acum în favoarea unui abordări de tip client stateless”, a scris Buterin.

Se fac chiar speculații că acești clienți stateless ar putea să poată fi folosiți fără să se facă schimbări la nivel de protocol.

„Cred că clienții stateless pot săs fie implementați de pe acum, fără nici o bifurcație, schimbând pur și simplu clienții ethereum ca să decongestionăm traficul pe blockchain. Asta îsneamnă că nodurile nu trebuie să acceseze stocarea din fișiere, iar timpii de validare ai blocului ar urma să scadă semnificativ.”

După spusele lui Szilágyi, în cele din urmă optimizarea clienților o să își atingă și ea limitele. Dezvoltatorii vor trebui să își îndrepte atenția către alte tehnologii la care se lucrează acum, cum ar fi shardingul, care împarte baza de date în bucăți mai mici stocate pe noduri diferite.

Poate ca răspuns la cele mai recente probleme ale rețelei, dezvoltarea shardingului a avansat în ultimele luni. Un prim set de specificații sunt deja descrise pe Github.

„Putem să optimizăm baza de date și să o facem de 10 ori mai rapidă și mai optimizată, ceea ce ne lasă să creștem de 10 ori”, a spus Szilágyi. „În cele din urmă, o să ajungem într-un punct în care nu o să mai putem să facem optimizarea bazei de date, și până la momentul respectiv o să trebuiască să putem să facem shard al datelor.”