blogul 1NewsDevelopersEnterpriseBlockchain Explained Evenimente și conferințe ApăsațiBuletine informative

Aboneaza-te la newsletter-ul nostru.

Adresa de email

Vă respectăm confidențialitatea

AcasăBlogBlockchain explicat

Starea scalării Ethereum

O prezentare succintă a provocărilor și soluțiilor pentru scalarea rețelei Ethereum. De ConsenSys 24 aprilie 2018 Publicat pe 24 aprilie 2018

Nașterea Enterprise Ethereum în 2017

Dezvoltatorii Ethereum știu de mult că scalarea rețelei este un subiect care merită discuții și investiții. Cu toate acestea, problema nu s-a extins din comunitatea dezvoltatorilor până la sfârșitul anului 2017, când o aplicație descentralizată (dApp) numită CryptoKitties a atras atât de mult trafic încât a început să încetinească rețeaua. În plus față de latența rețelei, prețul gazului – taxa necesară pentru derularea fiecărei operațiuni în cadrul unui contract pe blockchain-ul Ethereum – a crescut pe măsură ce utilizatorii au concurat pentru ca tranzacțiile lor să fie validate..

Deși povestea este acum supra-raportată și epuizată, situația CryptoKitties a dezvăluit că este posibil ca Ethereum în starea sa actuală să nu fie pregătit pentru cantitatea de trafic care ar însoți lansarea unui dApp de succes. Viteza mică și costurile volatile de utilizare îi îndepărtează pe oameni de platforme și aplicații. Dezvoltatorii DApp plătesc pentru lansarea primei aplicații adoptate pe scară largă, astfel încât dezvoltatorii Ethereum trebuie să continue să lucreze pentru a scala blockchain-ul.

„Trilema”

O teorie a tehnologiei blockchain este că o rețea poate suporta doar două dintre următoarele: securitate, descentralizare și scalabilitate. Această „trilemă” – așa cum a devenit cunoscut – a fost provocarea dezvoltatorilor Ethereum, în timp ce aceștia încearcă să mențină principiile de bază ale blockchain-ului (descentralizare și securitate), în timp ce îl scalează pentru adoptare și implementare pe scară largă. Unele dintre soluțiile mai imediate pentru scalabilitate, de exemplu, afectează grav securitatea sau descentralizarea:

  1. Utilizarea altcoins este o soluție teoretică la problemele de scalabilitate. Opțiunea este de a abandona ideea unui blockchain din care au loc toate tranzacțiile și, în schimb, de a adopta un model în care coexistă mai multe altcoins, toate operând pe blockchain-uri separate. Reducerea traficului pe blockchain ar permite acestei constelații de blockchains să se extindă. Cu toate acestea, cu mai puține noduri care acționează asupra fiecărui blockchain, fiecare blockchain este mai susceptibil la atac și la utilizatori rău intenționați. Prin urmare, utilizarea altcoinelor menține descentralizarea și îmbunătățește scalabilitatea, dar afectează grav securitatea.
  2. Creșterea dimensiunii blocului este o altă soluție teoretică la problemele de scalabilitate. Dacă comunitatea Ethereum a votat pentru creșterea dimensiunii fiecărui bloc, toate nodurile ar putea efectua în continuare toate operațiunile, dar ar putea fi efectuate mai multe tranzacții în aceeași perioadă de timp, accelerând astfel rețeaua. Cu dimensiuni mai mari de blocuri, totuși, fiecare tranzacție necesită mai multă energie și din ce în ce mai puține noduri vor putea cheltui acea cantitate de energie. Rezultatul ar fi un viitor în care rețeaua este întreținută de o mână de supercalculatoare cu puterea extraordinară de procesare necesară pentru a verifica fiecare bloc. Prin urmare, dimensiunea mărită a blocului menține securitatea și îmbunătățește scalabilitatea, dar scade grav cât de descentralizată este rețeaua.

Principala preocupare cu dezvoltarea blockchain-ului a fost securitatea și descentralizarea. Prin urmare, principalul obstacol în calea scalabilității este că fiecare nod trebuie să proceseze în prezent fiecare tranzacție. Deși este incontestabil sigur și descentralizat, acest proces nu permite mult spațiu pentru o creștere scalabilă. Întrebarea devine, prin urmare, cum putem proiecta Ethereum pentru a putea scala fără a compromite securitatea și descentralizarea?

Există patru protocoale primare în dezvoltare care vor aborda problemele scalabilității. Sharding, Plasma și Raiden au fost propuse special pentru a ajuta scala Ethereum. Al patrulea protocol, Casper, are un domeniu de aplicare mult mai larg, dar va avea implicații de scalabilitate pe lângă multe altele.

Zdrobire

Sharding-ul este o metodă de scalare care menține toate tranzacțiile pe blockchain-ul original, cunoscută prin urmare ca o soluție „on-chain”. Sharding abordează problema că toate tranzacțiile de pe Ethereum sunt secvențiale, deoarece fiecare nod trebuie să proceseze fiecare tranzacție. Shardingul permite operațiunilor să ruleze simultan unul lângă celălalt, crescând astfel numărul de tranzacții pe secundă pe care blockchainul global îl poate procesa. Cu sharding, rețeaua Ethereum este împărțită în mai multe grupuri de noduri. Fiecare dintre aceste grupuri este un fragment și fiecare fragment procesează toate tranzacțiile care au loc în cadrul acelui grup. Acest lucru permite tuturor fragmentelor să proceseze diferite tranzacții simultan

În cadrul fiecărui fragment, anumite noduri numite „colectoare” ar crea în mod regulat o „colație” sau un set de informații despre acel fragment. Fiecare colaționare conține următoarele informații:

  1. Informații despre ce bucată a venit din colație.
  2. Informații despre starea fragmentului înainte de aplicarea tranzacțiilor.
  3. Se vor aplica informații despre starea fragmentului după tranzacții.
  4. Semnături digitale de la ⅔ ale colectorilor care validează informațiile din colație

În întreaga rețea, colațiile din fiecare fragment sunt agregate într-un singur bloc și adăugate la blockchain-ul Ethereum. Prin urmare, fragmentarea permite acestor grupuri de noduri să proceseze și să verifice tranzacțiile, în timp ce singurele informații adăugate la blockchain sunt informațiile diluate găsite în colațiuni. Dacă, de exemplu, există zece cioburi și fiecare ciob procesează cinci tranzacții, atunci următorul bloc ar include o înregistrare a cincizeci de tranzacții pe blockchain, mai degrabă decât câteva dacă ar fi efectuat tranzacții secvențial.

Două probleme apar cu fragmentarea. În primul rând, fiecare fragment trebuie să conțină suficiente noduri pentru a asigura securitatea rețelei. Dacă un fragment conține prea puține noduri, ⅔ dintre colectoare ar putea fi compromise și ar putea începe să acționeze cu rea intenție. În al doilea rând, nu există o modalitate ușoară de a procesa o tranzacție care are loc între două cioburi în loc de doar una (o problemă care nu există cu un singur blockchain întreg). Metoda actuală necesită o serie greoaie de chitanțe și dovezi.

Plasma

Plasma este o altă metodă de scalare care procesează tranzacțiile „în afara lanțului”, adică nu pe blockchain-ul Ethereum primar. Plasma permite ca mai multe lanțuri de blocuri (denumite „lanțuri de copii”) să provină din lanțul de blocuri original (numit „lanț de rădăcină”). Prin urmare, fiecare lanț copil poate procesa și menține propriile sale înregistrări ale tranzacțiilor, bazându-se pe securitatea subiacentă a lanțului rădăcină. Cu Plasma, lanțul rădăcină este aplicatorul global al calculului care se întâmplă pe toate lanțurile copil. Cu toate acestea, lanțul rădăcinii trebuie calculat numai dacă apare o dispută în cadrul unuia dintre lanțurile copilului. Această metodă permite unei întregi rețele de lanțuri de copii să împartă toate tranzacțiile de pe blockchain pentru a optimiza cel mai bine viteza și eficiența. Dacă nodurile unui lanț copil doresc, pot trimite o tranzacție de ieșire și pot exporta o înregistrare a tranzacțiilor lor în lanțul rădăcină.

Această metodă are o particularitate. Fiecare lanț de plasmă poate avea propriile sale calități și set de standarde. Aceasta înseamnă că diferite lanțuri de copii pot sprijini tranzacțiile cu cerințe variate (de exemplu, confidențialitate), în timp ce toate se desfășoară în același ecosistem sigur.

Raiden

Raiden este o altă soluție de scalare în afara lanțului care permite nodurilor să mențină o înregistrare între ele fără a necesita ca lanțul rădăcină să verifice fiecare tranzacție. Două noduri pot deschide un „canal de stare” între ele, care este un canal bidirecțional între utilizatori. „Mesajele” – sub formă de tranzacții – apar între cele două noduri și sunt semnate de fiecare parte pentru a asigura imuabilitatea. Raiden este deosebit de util pentru plățile frecvente și așteptate – adică un utilizator care știe că va plăti unei companii 10 USD pe săptămână pentru un serviciu sau un utilizator care știe că va cheltui bani la magazinul local alimentar în mod regulat. Cu tranzacțiile înregistrate și verificate între aceste două noduri în loc de pe fiecare bloc, lanțul rădăcină este eliberat de o cantitate imensă de trafic. În orice moment, fiecare participant la un canal de stat poate alege să închidă tranzacția, iar rezultatul net al tuturor tranzacțiilor este exportat către blockchain-ul rădăcină și inclus în blocul următor. Asta înseamnă că după un an de abonare la serviciul de 10 USD / săptămână, utilizatorul ar putea solicita blocului să verifice o tranzacție de 520 USD în loc de 52 de tranzacții separate de 10 USD.

Soluția Raiden vine cu un avertisment primar și un beneficiu principal. Avertismentul este că nodurile pot comunica doar cu „vecinii” lor – ceea ce înseamnă că dacă nodul A și nodul B au un canal de stare deschis, iar nodul B și nodul C au un canal de declarație deschis, nodul A nu poate trimite fonduri direct la nodul C. Cu toate acestea, tranzacțiile pot fi redirecționate prin canale astfel încât să nu poată fi furate sau blocate pe parcurs. Nodul A ar putea trimite o tranzacție către nodul C folosind nodul B ca intermediar în așa fel încât nodul B să nu poată fura fondurile. Ca principal beneficiu, Raiden reduce drastic prețurile la gaz pentru fiecare tranzacție. Tranzacțiile care se desfășoară în afara lanțului între noduri necesită mai puțin gaz pentru procesare decât tranzacțiile care au loc în lanțul rădăcină.

Casper

Casper este un protocol prin care actualul model de dovadă a muncii (PoW) al Ethereum se va schimba în dovada mizei (PoS). Cu PoW, minerii trebuie să cheltuiască în prezent energie pentru a rezolva o ecuație criptografică și a mina un bloc. Ei sunt recompensați dacă rezolvă ecuația, dar procesul necesită o energie imensă (și va continua să necesite din ce în ce mai mult). Acest lucru este costisitor și ineficient din punct de vedere energetic, costând în prezent 1,2 miliarde USD USD / an pentru a menține modelul PoW.

În PoS, „validatorii” înlocuiesc minerii și aceștia „validează” (în loc de ai mei) blocuri pe blockchain. În loc să cheltuiască energie pe un anumit bloc, validatorii își plasează fondurile pe un anumit bloc. Blocul care are cele mai multe fonduri mizate este verificat și adăugat la blockchain. În esență, validatorii „pariază” că un anumit bloc va fi adăugat la lanț prin blocarea fondurilor într-un contract până la adăugarea următorului bloc. Sunt recompensați dacă și-au plasat pariul pe blocul corect. Își pierd fondurile dacă acționează cu răutate încercând să valideze un bloc cu informații incorecte sau corupte.

Conceptual, această schimbare ar trebui să protejeze blockchain-ul împotriva atacurilor rău intenționate. Cu PoW, un atac eșuat asupra blockchain-ului îi costă timp și putere atacatorului. Cu PoS, un atac eșuat asupra blockchain-ului costă direct banii utilizatorului, deoarece acesta pierde imediat toate fondurile mizate pe blocul greșit.

Lansarea finală a Casper va fi precedată de două iterații ale protocolului: Casper FFG și Casper CBC. Aceste iterații vor fi implementate pe Ethereum pentru a testa PoS în rețea și pentru a identifica problemele potențiale înainte de a trece complet.

Casper FFG

Casper FFG (Friendly Finality Gadget) va fi prima iterație a lui Casper, lansată probabil în timpul următoarei bifurcări a Ethereum, Constantinopol. În Casper FFG, blocurile sunt încă exploatate cu PoW. Cu toate acestea, la fiecare cincizeci de blocuri, validatorii intervin pentru a testa mecanismul PoS. Acest „punct de control” folosește protocolul PoS pentru a evalua și a confirma finalitatea. Finalitatea înseamnă că o operațiune este completă și complet imuabilă. În FFG, validatorii mizează fonduri pentru a finaliza cele cincizeci de blocuri anterioare din lanț.

Casper CBC

Casper CBC (Correct-by-Construction) va fi a doua iterație a Casper. De obicei, un protocol este specificat formal și apoi dovedit că îndeplinește toate proprietățile date. Cu CBC, protocolul PoS este specificat doar parțial și apoi reglat în continuare pentru a satisface proprietățile pe care trebuia să le urmeze. În esență, în loc să fie complet definit de la început, protocolul este derivat activ și constant. Acest lucru se realizează prin implementarea unei dovezi cunoscute sub numele de „adversar ideal”, care este capabilă să ridice excepții, defecte și eșecuri viitoare ale protocolului.

Protocolul final Casper va fi probabil implementat cu învățături atât de la FFG, cât și de la CBC. Protocolul are un domeniu de aplicare mult mai larg decât doar scalabilitatea, incluzând și îmbunătățiri energetice și de securitate. Cu toate acestea, mai puțină energie necesară pentru a adăuga un bloc în lanț înseamnă că rețeaua va îmbunătăți dificultățile actuale de scalabilitate. Deși Casper nu este dezvoltat special pentru a răspunde problemelor de scalare, cu siguranță va avea un impact pozitiv asupra capacității rețelei de a face față traficului mai mare.

Privind pe drum

Cele patru propuneri de mai sus nu se exclud reciproc – ele pot și probabil vor fi implementate într-o oarecare măsură pentru a ajuta scala rețelei Ethereum în timp. Scalarea va fi cea mai importantă pentru dezvoltatorii Ethereum în 2018. Pe măsură ce se dezvoltă și se lansează din ce în ce mai multe dap-uri populare, vom vedea o reglare continuă a opțiunilor de scalare disponibile, pentru a permite Ethereum potențialul său maxim.

Newsletter Abonați-vă la newsletter-ul nostru pentru cele mai recente știri Ethereum, soluții pentru întreprinderi, resurse pentru dezvoltatori și multe altele. Adresa de e-mail Conținut exclusivEthereum Q3 2020 DeFi ReportRaport

Ethereum Q3 2020 DeFi Report

Ethereum Q2 2020 DeFi ReportRaport

Ethereum Q2 2020 DeFi Report

Ghid complet pentru rețelele de afaceri BlockchainGhid

Ghid complet pentru rețelele de afaceri Blockchain

Cum să construiți un produs Blockchain de succesWebinar

Cum să construiți un produs Blockchain de succes

Introducere în tokenizareWebinar

Introducere în tokenizare

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me