blog 1NieuwsOntwikkelaarsEnterpriseBlockchain ExplainedEvenementen en conferentiesPersNieuwsbrieven

Abonneer op onze nieuwsbrief.

E-mailadres

Wij respecteren uw privacy

HomeBlogBlockchain uitgelegd

De staat van het opschalen van Ethereum

Een beknopt overzicht van de uitdagingen en oplossingen voor het opschalen van het Ethereum-netwerk. By ConsenSys 24 april 2018 Gepost op 24 april 2018

De geboorte van Enterprise Ethereum in 2017


Ethereum-ontwikkelaars weten al lang dat het opschalen van het netwerk een onderwerp is dat de moeite waard is om te bespreken en te investeren. De kwestie kwam echter niet helemaal uit de ontwikkelaarsgemeenschap, tot eind 2017, toen een gedecentraliseerde applicatie (dApp) genaamd CryptoKitties zoveel verkeer trok dat het netwerk begon te vertragen. Bovenop de netwerklatentie steeg de gasprijs – de vergoeding die nodig is om elke operatie binnen een contract op de Ethereum-blockchain uit te voeren – toen gebruikers streden om hun transacties te valideren.

Hoewel het verhaal nu overdreven en uitgeput is, onthulde de situatie van CryptoKitties dat Ethereum in zijn huidige staat mogelijk niet voorbereid is op de hoeveelheid verkeer die gepaard zou gaan met de lancering van een succesvolle dApp. Lage snelheden en vluchtige gebruikskosten drijven mensen weg van platforms en applicaties. DApp-ontwikkelaars rennen vooruit om de eerste veelgebruikte applicatie uit te brengen, dus Ethereum-ontwikkelaars moeten blijven werken om de blockchain te schalen.

De “Trilemma”

Een theorie van blockchain-technologie is dat een netwerk slechts twee van de volgende kan ondersteunen: beveiliging, decentralisatie en schaalbaarheid. Dit “trilemma” – zoals het bekend is geworden – was de uitdaging van Ethereum-ontwikkelaars, omdat ze proberen de kernprincipes van blockchain (decentralisatie en beveiliging) te behouden en deze tegelijkertijd op te schalen voor brede acceptatie en implementatie. Enkele van de meer directe oplossingen voor schaalbaarheid, bijvoorbeeld, hebben ernstige gevolgen voor de beveiliging of decentralisatie:

  1. Het gebruik van altcoins is een theoretische oplossing voor problemen met schaalbaarheid. De optie is om af te zien van het idee van één blockchain waarvan alle transacties plaatsvinden, en in plaats daarvan een model aan te nemen waarin meerdere altcoins naast elkaar bestaan, die allemaal op afzonderlijke blockchains werken. Door het verminderde verkeer per blockchain zou deze constellatie van blockchains kunnen worden geschaald. Omdat er echter minder knooppunten op elke blockchain inwerken, is elke blockchain gevoeliger voor aanvallen en kwaadwillende gebruikers. Het gebruik van altcoins zorgt daarom voor decentralisatie en verbetert de schaalbaarheid, maar heeft ernstige gevolgen voor de beveiliging.
  2. Blokgrootte vergroten is een andere theoretische oplossing voor problemen met schaalbaarheid. Als de Ethereum-gemeenschap zou stemmen om de grootte van elk blok te vergroten, kunnen alle knooppunten nog steeds alle bewerkingen uitvoeren, maar kunnen er meer transacties in dezelfde tijd worden uitgevoerd, waardoor het netwerk wordt versneld. Bij grotere blokgroottes vereist elke transactie echter meer energie en zullen steeds minder knooppunten die hoeveelheid energie kunnen verbruiken. Het resultaat zou een toekomst zijn waarin het netwerk wordt onderhouden door een handvol supercomputers met de enorme verwerkingskracht die nodig is om elk blok te verifiëren. Een grotere blokgrootte handhaaft daarom de beveiliging en verbetert de schaalbaarheid, maar vermindert aanzienlijk hoe gedecentraliseerd het netwerk is.

De primaire zorg bij de ontwikkeling van blockchain was beveiliging en decentralisatie. De belangrijkste belemmering voor schaalbaarheid is daarom dat elk knooppunt momenteel elke transactie moet verwerken. Hoewel onmiskenbaar veilig en gedecentraliseerd, biedt dit proces niet veel ruimte voor schaalbare groei. De vraag wordt daarom hoe we Ethereum ontwikkelen om te kunnen opschalen zonder de beveiliging en decentralisatie in gevaar te brengen?

Er zijn vier primaire protocollen in ontwikkeling die de problemen van schaalbaarheid aanpakken. Sharding, Plasma en Raiden werden specifiek voorgesteld om Ethereum-schaal te helpen. Het vierde protocol, Casper, is veel breder van opzet, maar zal naast vele andere implicaties op schaalbaarheid hebben.

Sharding

Sharding is een schaalmethode waarbij alle transacties op de originele blockchain worden gehandhaafd, daarom bekend als een “on-chain” -oplossing. Sharding lost het probleem op dat alle transacties op Ethereum opeenvolgend zijn, aangezien elk knooppunt elke transactie moet verwerken. Met sharding kunnen bewerkingen tegelijkertijd naast elkaar worden uitgevoerd, waardoor het aantal transacties per seconde dat de algehele blockchain kan verwerken, toeneemt. Met sharding is het Ethereum-netwerk verdeeld in meerdere groepen knooppunten. Elk van deze groepen is een shard en elke shard verwerkt alle transacties die binnen die groep plaatsvinden. Hierdoor kunnen alle shards tegelijkertijd verschillende transacties verwerken

Binnen elke shard creëerden bepaalde knooppunten die ‘collators’ worden genoemd, regelmatig een ‘collatie’ of een set informatie over die shard. Elke sortering bevat de volgende informatie:

  1. Informatie over de scherf waar de sortering vandaan kwam.
  2. Informatie over de status van de shard voordat de transacties worden toegepast.
  3. Informatie over de toestand van de shard na de transacties wordt toegepast.
  4. Digitale handtekeningen van ⅔ van de sorteerders die de informatie in de sortering valideren

Over het hele netwerk worden de collaties van elke shard samengevoegd tot een enkel blok en toegevoegd aan de Ethereum-blockchain. Sharding stelt deze groepen knooppunten daarom in staat om transacties te verwerken en te verifiëren, terwijl de enige informatie die aan de blockchain wordt toegevoegd, de verdunde informatie is die in collaties wordt gevonden. Als er bijvoorbeeld tien shards zijn en elke shard vijf transacties verwerkt, dan zou het volgende blok een record van vijftig transacties op de blockchain bevatten, in plaats van slechts een paar waarin transacties opeenvolgend werden uitgevoerd.

Er doen zich twee problemen voor met sharding. Ten eerste moet elke shard voldoende knooppunten bevatten om de netwerkbeveiliging te garanderen. Als een scherf te weinig knooppunten bevat, kan ⅔ van de verzamelplaatsen worden aangetast en kwaadwillig gaan handelen. Ten tweede is er geen gemakkelijke manier om een ​​transactie te verwerken die plaatsvindt tussen twee shards in plaats van binnen slechts één (een probleem dat niet bestaat met één hele blockchain). De huidige methode vereist een omslachtige reeks ontvangstbewijzen en bewijzen.

Plasma

Plasma is een andere schaalmethode die transacties ‘buiten de keten’ verwerkt, d.w.z. niet op de primaire Ethereum-blockchain. Plasma maakt het mogelijk dat veel blockchains (“child chains” genoemd) voortkomen uit de originele blockchain (de “root chain” genoemd). Elke onderliggende keten kan daarom zijn eigen transactieregistraties verwerken en bijhouden terwijl hij vertrouwt op de onderliggende beveiliging van de root-chain. Met Plasma is de root chain de globale handhaver van de berekening die plaatsvindt op alle kindketens. De wortelketen hoeft echter alleen te worden berekend als er een dispuut ontstaat binnen een van de kindketens. Met deze methode kan een heel netwerk van kindketens alle transacties op de blockchain verdelen om de snelheid en efficiëntie zo goed mogelijk te optimaliseren. Als de knooppunten op een child chain dit wensen, kunnen ze een exit-transactie indienen en een record van hun transacties naar de root chain exporteren.

Deze methode heeft een bijzondere kracht. Elke plasmaketen kan zijn eigen kwaliteiten en normen hebben. Dit betekent dat verschillende kindketens transacties met verschillende vereisten (d.w.z. privacy) kunnen ondersteunen, terwijl ze allemaal nog steeds plaatsvinden binnen hetzelfde, veilige ecosysteem.

Raiden

Raiden is een andere off-chain schaaloplossing waarmee knooppunten een record tussen hen kunnen behouden zonder dat de root chain elke transactie moet verifiëren. Twee knooppunten kunnen een “statuskanaal” tussen hen openen, dat een tweerichtingskanaal is tussen gebruikers. “Berichten” – in de vorm van transacties – vinden plaats tussen de twee knooppunten en worden door elke partij ondertekend om onveranderlijkheid te garanderen. Raiden is met name handig voor betalingen die frequent en verwacht worden – d.w.z. een gebruiker die weet dat hij een bedrijf $ 10 per week zal betalen voor een dienst, of een gebruiker die weet dat hij regelmatig geld zal uitgeven in zijn plaatselijke supermarkt. Met transacties die zijn geregistreerd en geverifieerd tussen deze twee knooppunten in plaats van op elk blok, wordt de root-chain bevrijd van een enorme hoeveelheid verkeer. Elke deelnemer aan een staatskanaal kan op elk moment ervoor kiezen om de transactie te sluiten, en het nettoresultaat van alle transacties wordt geëxporteerd naar de root blockchain en opgenomen in het volgende blok. Dat betekent dat de gebruiker na een jaar abonnement op de $ 10 / week-service het blok één transactie van $ 520 kan laten verifiëren in plaats van 52 afzonderlijke transacties van $ 10.

De Raiden-oplossing wordt geleverd met één primair voorbehoud en één primair voordeel. Het voorbehoud is dat knooppunten alleen kunnen communiceren met hun “buren” – wat betekent dat als knooppunt A en knooppunt B een statuskanaal open hebben, en knooppunt B en knooppunt C een instructiekanaal open hebben, knooppunt A geen geld rechtstreeks naar knooppunt C kan sturen. Transacties kunnen echter via kanalen worden doorgestuurd, zodat ze onderweg niet kunnen worden gestolen of opgesloten. Knooppunt A zou een transactie naar knooppunt C kunnen sturen door knooppunt B als tussenpersoon te gebruiken op een zodanige manier dat knooppunt B onmogelijk het geld zou kunnen stelen. Als belangrijkste voordeel verlaagt Raiden de gasprijzen drastisch voor elke transactie. Transacties die buiten de keten plaatsvinden tussen knooppunten, vereisen minder gas om te verwerken dan transacties die plaatsvinden in de hoofdketen.

Casper

Casper is een protocol waarmee het huidige Proof of Work (PoW) -model van Ethereum verandert in Proof of Stake (PoS). Met PoW moeten mijnwerkers momenteel energie verbruiken om een ​​cryptografische vergelijking op te lossen en een blok te minen. Ze worden beloond als ze de vergelijking oplossen, maar het proces vereist enorme energie (en zal steeds meer nodig blijven). Dit is duur en energie-inefficiënt en kost momenteel $ 1,2 miljard USD / jaar om het PoW-model te behouden.

In PoS vervangen “validators” mijnwerkers, en zij “valideren” (in plaats van de mijne) blokken op de blockchain. In plaats van energie te besteden aan een bepaald blok, zetten validators hun geld in op een bepaald blok. Het blok met het meeste geld dat erop is ingezet, wordt geverifieerd en aan de blockchain toegevoegd. In wezen wedden validators dat een bepaald blok aan de ketting zal worden toegevoegd door hun geld vast te zetten in een contract totdat het volgende blok wordt toegevoegd. Ze worden beloond als ze hun inzet op het juiste blok hebben geplaatst. Ze verliezen hun geld als ze kwaadwillig handelen door te proberen een blokkering met onjuiste of corrupte informatie te valideren.

Conceptueel zou deze verschuiving de blockchain moeten beschermen tegen kwaadwillende aanvallen. Met PoW kost een mislukte aanval op de blockchain de aanvaller tijd en kracht. Met PoS kost een mislukte aanval op de blockchain de gebruiker direct geld, omdat hij / zij onmiddellijk al het geld verliest dat op het verkeerde blok is ingezet.

De uiteindelijke uitrol van Casper wordt voorafgegaan door twee iteraties van het protocol: Casper FFG en Casper CBC. Deze iteraties zullen worden geïmplementeerd op Ethereum om PoS op het netwerk te testen en mogelijke problemen te identificeren voordat volledig wordt overgeschakeld.

Casper FFG

Casper FFG (Friendly Finality Gadget) wordt de eerste iteratie van Casper, waarschijnlijk uitgebracht tijdens Ethereum’s volgende harde vork, Constantinopel. In Casper FFG worden nog steeds blokken gedolven met PoW. Elke vijftig blokken komen validators echter binnen om het PoS-mechanisme te testen. Dit ‘ijkpunt’ gebruikt het PoS-protocol om de finaliteit te beoordelen en te bevestigen. Finaliteit betekent dat een operatie volledig en volledig onveranderlijk is. In FFG zetten de validators geld in om de vorige vijftig blokken in de keten af ​​te ronden.

Casper CBC

Casper CBC (Correct-by-Construction) wordt de tweede iteratie van Casper. Meestal wordt een protocol formeel gespecificeerd en vervolgens bewezen dat het voldoet aan alle gegeven eigenschappen. Met CBC wordt het PoS-protocol slechts gedeeltelijk gespecificeerd en vervolgens verder verfijnd om te voldoen aan de eigenschappen die het moest volgen. In wezen, in plaats van vanaf het begin volledig gedefinieerd te zijn, wordt het protocol actief en constant afgeleid. Dit wordt bereikt door de implementatie van een bewijs dat bekend staat als een ‘ideale tegenstander’, dat uitzonderingen, fouten en toekomstige fouten van het protocol kan oproepen..

Het uiteindelijke Casper-protocol zal waarschijnlijk worden geïmplementeerd met lessen van zowel FFG als CBC. Het protocol is veel breder van opzet dan alleen schaalbaarheid, inclusief energie- en beveiligingsverbeteringen. Minder energie per knooppunt vereist om een ​​blok aan de keten toe te voegen, betekent echter dat het netwerk de huidige schaalbaarheidsproblemen zal verbeteren. Hoewel Casper niet specifiek wordt ontwikkeld om problemen met schaalvergroting aan te pakken, zal het zeker een positieve invloed hebben op het vermogen van het netwerk om meer verkeer te verwerken.

Op zoek op de weg

De vier bovenstaande voorstellen sluiten elkaar niet uit – ze kunnen en zullen waarschijnlijk allemaal tot op zekere hoogte worden geïmplementeerd om het Ethereum-netwerk in de loop van de tijd te helpen opschalen. Schaalvergroting zal top of mind zijn voor Ethereum-ontwikkelaars in 2018. Naarmate er steeds meer populaire dapps worden ontwikkeld en gelanceerd, zullen we een voortdurende verfijning van de beschikbare schaalopties zien om Ethereum zijn volledige potentieel te geven..

Abonneer u op onze nieuwsbrief voor het laatste Ethereum-nieuws, bedrijfsoplossingen, bronnen voor ontwikkelaars en meer.Ethereum Q3 2020 DeFi-rapportVerslag doen van

Ethereum Q3 2020 DeFi-rapport

Ethereum Q2 2020 DeFi-rapportVerslag doen van

Ethereum Q2 2020 DeFi-rapport

Volledige gids voor Blockchain-bedrijfsnetwerkenGids

Volledige gids voor Blockchain-bedrijfsnetwerken

Hoe u een succesvol blockchain-product bouwtWebinar

Hoe u een succesvol blockchain-product bouwt

Inleiding tot tokenisatieWebinar

Inleiding tot tokenisatie

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