NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressButlletins informatius
Subscriu-te al nostre butlletí.
Correu electrònic
Respectem la vostra privadesa
IniciBlogBlockchain explicat
L’estat de l’etereum a escala
Una visió resumida dels reptes i solucions per escalar la xarxa Ethereum. ConsenSys el 24 d’abril de 2018 Publicat el 24 d’abril de 2018
Els desenvolupadors d’Ethereum saben des de fa temps que escalar la xarxa és un tema que val la pena discutir i invertir. Tot i això, la qüestió no va sortir de la comunitat de desenvolupadors fins a finals de 2017, quan una aplicació descentralitzada (dApp) anomenada CryptoKitties va atreure tant de trànsit que va començar a frenar la xarxa. A més de la latència de la xarxa, el preu del gas (la tarifa necessària per executar cada operació dins d’un contracte a la cadena de blocs d’Ethereum) va augmentar a mesura que els usuaris competien per validar les seves transaccions..
Tot i que la història està massa informada i esgotada, la situació de CryptoKitties va revelar que és possible que Ethereum en el seu estat actual no estigui preparat per a la quantitat de trànsit que acompanyaria el llançament d’una dApp reeixida. Les velocitats lentes i els costos d’ús volàtils allunyen la gent de les plataformes i les aplicacions. Els desenvolupadors de DApp estan cobrant per llançar la primera aplicació àmpliament adoptada, de manera que els desenvolupadors d’Ethereum han de continuar treballant per escalar la cadena de blocs.
El “Trilemma”
Una teoria de la tecnologia blockchain és que una xarxa només pot admetre dos dels següents: seguretat, descentralització i escalabilitat. Aquest “trilema”, com s’ha conegut, ha estat el desafiament dels desenvolupadors d’Ethereum, ja que intenten mantenir els principis bàsics de la cadena de blocs (descentralització i seguretat) alhora que l’escala per a una adopció i implementació generalitzades. Algunes de les correccions més immediates d’escalabilitat, per exemple, afecten greument la seguretat o la descentralització:
- L’ús de altcoins és una solució teòrica a les preocupacions d’escalabilitat. L’opció és abandonar la idea d’una cadena de blocs fora de la qual es produeixin totes les transaccions i, en canvi, adoptar un model on coexisteixin múltiples monedes altcoins, que operen en cadenes de blocs separades. La reducció del trànsit per cadena de blocs permetria escalar aquesta constel·lació de cadenes de blocs. No obstant això, amb menys nodes que actuen sobre cada cadena de blocs, cada cadena de blocs és més susceptible a atacs i usuaris maliciosos. Per tant, l’ús d’altcoins manté la descentralització i millora l’escalabilitat, però afecta greument la seguretat.
- Augment de la mida del bloc és una altra solució teòrica a les preocupacions d’escalabilitat. Si la comunitat Ethereum votés per augmentar la mida de cada bloc, tots els nodes encara podrien realitzar totes les operacions, però es podrien realitzar més transaccions en el mateix temps, accelerant la xarxa. Tanmateix, amb mides de blocs més grans, cada transacció requereix més energia i cada vegada hi ha menys nodes que podran gastar aquesta quantitat d’energia. El resultat seria un futur on la xarxa sigui mantinguda per un grapat de superordinadors amb l’enorme poder de processament necessari per verificar cada bloc. L’augment de la mida del bloc, per tant, manté la seguretat i millora l’escalabilitat, però disminueix greument la descentralització de la xarxa.
La principal preocupació amb el desenvolupament de blockchain era la seguretat i la descentralització. El principal obstacle per a l’escalabilitat, per tant, és que actualment cada node ha de processar cada transacció. Tot i que és innegablement segur i descentralitzat, aquest procés no permet gaire marge per al creixement escalable. La qüestió es planteja, per tant, com dissenyem Ethereum per poder escalar sense comprometre la seguretat i la descentralització?
Hi ha quatre protocols principals en desenvolupament que abordaran els problemes d’escalabilitat. Sharding, Plasma i Raiden van ser proposats específicament per ajudar a escala Ethereum. El quart protocol, Casper, té un abast molt més ampli, però tindrà implicacions d’escalabilitat a més d’altres.
Esqueixades
Sharding és un mètode d’escala que manté totes les transaccions a la cadena de blocs original, per tant coneguda com a solució “en cadena”. Sharding tracta del problema que totes les transaccions a Ethereum són seqüencials, ja que cada node ha de processar cada transacció. Sharding permet que les operacions s’executin simultàniament juntes, augmentant el nombre de transaccions per segon que pot processar la cadena de blocs general. Amb el sharding, la xarxa Ethereum es divideix en diversos grups de nodes. Cadascun d’aquests grups és un fragment i cada fragment processa totes les transaccions que es produeixen dins d’aquest grup. Això permet que tots els fragments processin diferents transaccions simultàniament
Dins de cada fragment, certs nodes anomenats “collators” crearien regularment una “classificació” o un conjunt d’informació sobre aquest fragment. Cada classificació conté la informació següent:
- Informació sobre de quin fragment va sorgir la col·lació.
- Informació sobre l’estat del fragment abans d’aplicar les transaccions.
- S’aplicarà informació sobre l’estat del fragment després de les transaccions.
- Signatures digitals de ⅔ dels col·leccionistes que validen la informació de la col·lació
A tota la xarxa, les classificacions de cada fragment s’agrupen en un sol bloc i s’afegeixen a la cadena de blocs Ethereum. El fragment, per tant, permet a aquests grups de nodes processar i verificar les transaccions, mentre que l’única informació que s’afegeix a la cadena de blocs és la informació diluïda que es troba a les col·lacions. Si, per exemple, hi ha deu fragments i cada fragment processa cinc transaccions, el següent bloc inclouria un registre de cinquanta transaccions a la cadena de blocs, en lloc d’unes poques si hagués executat transaccions de manera seqüencial..
Sorgeixen dos problemes amb el sharding. En primer lloc, cada fragment ha de contenir prou nodes per garantir la seguretat de la xarxa. Si un fragment conté massa pocs nodes, es podria comprometre ⅔ dels col·lectors i començar a actuar maliciosament. En segon lloc, no hi ha cap manera fàcil de processar una transacció que es produeix entre dos fragments en lloc de només en una (un problema que no existeix amb una cadena de blocs sencera). El mètode actual requereix una sèrie pesada de rebuts i proves.
Plasma
El plasma és un altre mètode d’escala que processa les transaccions “fora de la cadena”, és a dir, no a la cadena de blocs principal d’Ethereum. El plasma permet que hi hagi moltes cadenes de blocs (anomenades “cadenes infantils”) de la cadena de blocs original (anomenada “cadena d’arrel”). Per tant, cada cadena secundària pot processar i mantenir els seus propis registres de transaccions tot confiant en la seguretat subjacent de la cadena arrel. Amb Plasma, la cadena arrel és l’aplicació global del càlcul que passa a totes les cadenes filles. La cadena arrel, però, només s’ha de calcular si sorgeix una disputa dins d’una de les cadenes fill. Aquest mètode permet que tota una xarxa de cadenes infantils divideixi totes les transaccions de la cadena de blocs per tal d’optimitzar al màxim la velocitat i l’eficiència. Si els nodes d’una cadena secundària ho desitgen, poden enviar una transacció de sortida i exportar un registre de les seves transaccions a la cadena arrel.
Aquest mètode té una força particular. Cada cadena de plasma pot tenir les seves pròpies qualitats i un conjunt d’estàndards. Això vol dir que diferents cadenes infantils poden donar suport a transaccions amb requisits diferents (és a dir, privadesa), tot i que encara es produeixen dins del mateix ecosistema segur.
Raiden
Raiden és una altra solució d’escala fora de la cadena que permet als nodes mantenir un registre entre ells sense necessitat que la cadena arrel verifiqui totes les transaccions. Dos nodes poden obrir un “canal d’estat” entre ells, que és un canal bidireccional entre usuaris. Els “missatges”, en forma de transaccions, es produeixen entre els dos nodes i són signats per cada part per garantir la immutabilitat. Raiden és particularment útil per a pagaments freqüents i esperats, és a dir, un usuari que sap que pagarà a una empresa 10 dòlars setmanals per un servei o un usuari que sap que gastarà diners a la seva botiga de queviures local regularment. Amb les transaccions registrades i verificades entre aquests dos nodes en lloc de a cada bloc, la cadena arrel s’allibera d’una quantitat immensa de trànsit. En qualsevol moment, qualsevol participant d’un canal estatal pot optar per tancar la transacció i el resultat net de totes les transaccions s’exporta a la cadena de blocs arrel i s’inclou al bloc següent. Això vol dir que després d’un any de subscripció al servei de 10 dòlars / setmana, l’usuari podria fer que el bloc verifiqués una transacció de 520 dòlars en lloc de 52 transaccions separades de 10 dòlars.
La solució Raiden inclou una advertència principal i un avantatge principal. L’advertència és que els nodes només es poden comunicar amb els seus “veïns”, és a dir, que si el node A i el node B tenen un canal d’estat obert i el node B i el node C tenen un canal d’instruccions obert, el node A no pot enviar fons directament al node C. No obstant això, les transaccions es poden reenviar a través de canals de manera que no puguin ser robades ni tancades durant el trajecte. El node A podria enviar una transacció al node C utilitzant el node B com a intermediari de manera que el node B no pogués robar els fons. Com a avantatge principal, Raiden redueix dràsticament els preus del gas per a cada transacció. Les transaccions que es produeixen fora de la cadena entre nodes requereixen menys gas per processar que les transaccions que es produeixen a la cadena arrel.
Casper
Casper és un protocol pel qual l’actual model de prova de treball (PoW) d’Ethereum canviarà a prova de joc (PoS). Amb PoW, els miners actualment han de gastar energia per resoldre una equació criptogràfica i explotar un bloc. Es veuran recompensats si resolen l’equació, però el procés requereix una immensa energia (i continuarà requerint més i més). Això és costós i poc eficient en l’energia, i actualment costa 1.200 milions de dòlars EUA per mantenir el model PoW.
A PoS, els “validadors” substitueixen els miners i aquests “validen” (en lloc dels meus) blocs a la cadena de blocs. En lloc de gastar energia en un bloc determinat, els validadors aposten els seus fons en un bloc determinat. El bloc que té més fons en joc es verifica i s’afegeix a la cadena de blocs. Bàsicament, els validadors “aposten” que s’afegirà un determinat bloc a la cadena bloquejant els seus fons en un contracte fins que s’afegeixi el següent bloc. Es veuran recompensats si realitzen la seva aposta al bloc correcte. Perden els seus fons si actuen maliciosament intentant validar un bloc amb informació incorrecta o corrupta.
Conceptualment, aquest canvi hauria de protegir la cadena de blocs contra atacs maliciosos. Amb PoW, un atac fallit a la cadena de blocs costa a l’atacant temps i poder. Amb PoS, un atac fallit a la cadena de blocs costa directament els diners de l’usuari, ja que perd immediatament tots els fons apostats pel bloc equivocat..
El llançament final de Casper estarà precedit de dues iteracions del protocol: Casper FFG i Casper CBC. Aquestes iteracions es desplegaran a Ethereum per tal de provar PoS a la xarxa i identificar possibles problemes abans de canviar completament.
Casper FFG
Casper FFG (Friendly Finality Gadget) serà la primera iteració de Casper, que probablement es publicarà durant la propera bifurcació dura d’Ethereum, Constantinoble. A Casper FFG, els blocs encara s’extreuen amb PoW. No obstant això, cada cinquanta blocs, els validadors intervenen per provar el mecanisme PoS. Aquest “punt de control” utilitza el protocol PoS per avaluar i confirmar la finalitat. Finalitat significa que una operació és completa i totalment immutable. A FFG, els validadors participen en fons per finalitzar els cinquanta blocs anteriors de la cadena.
Casper CBC
Casper CBC (Correct-by-Construction) serà la segona iteració de Casper. Normalment, s’especifica formalment un protocol i es demostra que compleix totes les propietats donades. Amb CBC, el protocol PoS només s’especifica parcialment i, a continuació, es perfecciona per tal de satisfer les propietats que s’havia de seguir. Essencialment, en lloc de definir-se completament des del principi, el protocol es deriva de forma activa i constant. Això s’aconsegueix mitjançant la implementació d’una prova coneguda com a “adversari ideal”, que és capaç de plantejar excepcions, falles i fallades futures del protocol..
El protocol Casper final es desplegarà probablement amb els aprenentatges de FFG i CBC. El protocol té un abast molt més ampli que l’escalabilitat, incloent també millores d’energia i seguretat. Tot i això, es requereix menys energia per node per afegir un bloc a la cadena que la xarxa millorarà les dificultats actuals d’escalabilitat. Tot i que Casper no s’està desenvolupant específicament per abordar problemes d’escala, sens dubte tindrà un impacte positiu en la capacitat de la xarxa per gestionar un trànsit superior..
Mirant cap avall
Les quatre propostes anteriors no s’exclouen mútuament; probablement es podran implementar fins a cert punt per ajudar l’escala de la xarxa Ethereum amb el pas del temps. L’escala serà el més important per als desenvolupadors d’Ethereum el 2018. A mesura que es desenvolupen i llancen dapps cada vegada més populars, veurem una afinació contínua de les opcions d’escala disponibles per tal de permetre a Ethereum tot el seu potencial.
Subscriu-te al nostre butlletí per obtenir les últimes novetats, solucions empresarials, recursos per a desenvolupadors i molt més sobre Ethereum. Adreça de correu electrònic Contingut exclusiuInforme
Informe DeFi d’Ethereum Q3 2020
Informe
Informe DeFi d’Ethereum Q2 2020
Guia
Guia completa de xarxes empresarials Blockchain
Seminari web
Com es pot crear un producte Blockchain amb èxit
Seminari web