Sinds het begin van Bitcoin heeft blockchain-technologie de manier waarop we waarde waarnemen en geld als geheel beschouwen, volledig opnieuw ontworpen. Blockchain spreekt tot de verbeelding van velen en wekt veel belangstelling in verschillende industrieën. Het is vervolgens uitgegroeid tot een van de meest opwindende technologische ontwikkelingen van de 21e eeuw en een ongelooflijk gewilde infrastructuur.
Dit sentiment wordt voornamelijk gevoed door de aangeboren wens om een revolutie op te bouwen en eraan deel te nemen die net zo groot is als de creatie van internet in de jaren 80 en 90. Terwijl internet het rijk van online intercommunicatie op gang bracht, pioniert blockchain met nieuwe vormen van welvaartscreatie via data- en digitale activanetwerken.
Deze netwerken zijn hun eigen strikt gedecentraliseerde, technische ecosysteem dat is ontworpen om grootboek- en slimme contractdiensten te leveren aan applicaties, ook wel dApps genoemd. Ethereum, de op één na meest waardevolle cryptocurrency, is ontworpen om het bouwen van deze applicaties te vergemakkelijken en om gebruikers uiteindelijk meer controle te geven over hun financiën en online gegevens.
Het idee met Ethereum is om een soort 'wereldcomputer' te ontwikkelen waarmee dApps hun gebruiksscenario's kunnen uitvoeren, groeien en uitbreiden en uiteindelijk grote bedrijven en platforms zoals Amazon of Twitter kunnen uitdagen. Ethereum zou dus dienen als een gedecentraliseerde 'wereldcomputer', open voor iedereen en die niet kan worden gemanipuleerd of afgesloten.
Om dit te bereiken, moet Ethereum enorme hoeveelheden gegevens binnen zijn systeem kunnen opslaan en bewaren, een mogelijkheid die het momenteel niet heeft. Ethereum zou echter zijn schaalbaarheidsprobleem kunnen oplossen door een methode genaamd sharding te implementeren, een upgrade die inderdaad is ingesteld om live te gaan met Ethereum2.0.
Wat is Sharding?
In de informatica is sharding een techniek die wordt gebruikt voor het schalen van applicaties, zodat ze meer gegevens kunnen ondersteunen. Het proces bestaat uit het opsplitsen van grote tabellen met gegevens in kleinere brokken, shards genaamd, die over meerdere servers zijn verspreid. Elke shard heeft zijn eigen gegevens, waardoor deze onderscheidend en onafhankelijk is in vergelijking met andere shards.
Sharding is van bijzonder voordeel voor blockchain-netwerken, omdat het hen in staat stelt de latentie en gegevensoverbelasting te verminderen door het netwerk op te splitsen in kleinere partities en hen in staat te stellen meer transacties per seconde te verwerken. Sharding is met name nodig als een dataset te groot is om in een enkele database te worden opgeslagen en, gezien de vele projecten en ontwikkelaars die op het netwerk bouwen, is dit inderdaad het geval met Ethereum.
Volgens data-analyse zijn er zelfs meer dan 3,000 gedecentraliseerde applicaties (dApps) draaien op de Ethereum-blockchain, dus schaalbaarheid door sharding is een absolute vereiste voor Ethereum om zijn leidende status in het ecosysteem te behouden en de algehele efficiëntie van zijn netwerk te waarborgen.
Hoe het werkt
Om volledig te begrijpen hoe sharding werkt in blockchain, is het van vitaal belang om de functies van nodes te bekijken en te begrijpen hoe gegevens worden opgeslagen en verwerkt.
Nodes zijn een cruciaal onderdeel van blockchain-infrastructuren, omdat zonder hen de gegevens van een blockchain niet toegankelijk zouden zijn. Alle nodes zijn met elkaar verbonden en wisselen constant de laatste blockchain data uit zodat alle nodes up-to-date kunnen blijven. Kort gezegd vormen knooppunten de fundamentele laag van blockchain, omdat ze het mogelijk maken om gegevens op te slaan, te bewaren en te verspreiden over de infrastructuur.
In gedecentraliseerde netwerken moet elk knooppunt kritieke informatie kunnen opslaan, zoals transactiegeschiedenis en rekeningsaldi. Door gegevens en transacties over meerdere knooppunten te spreiden, kan blockchain zijn eigen beveiliging garanderen, maar dit model is niet het meest effectief in termen van schaalbaarheid. Hoewel het gedistribueerde grootboeksysteem blockchain decentralisatie- en beveiligingsfuncties biedt, kan een netwerk dat grote hoeveelheden transacties moet verwerken en grote hoeveelheden gegevens moet opslaan, overweldigd raken, verstopt raken en latentie of traagheid ervaren.
Ethereum kan bijvoorbeeld tussen de 10 en 20 transacties per seconde doen, maar dit is eigenlijk niet zo performant voor een blockchain van zijn omvang, en de reden achter zijn lage snelheid is het Proof of Work (PoW) consensusprotocol dat inherent is aan zijn raamwerk. Daarom heeft de Ethereum-blockchain dringend behoefte aan schaalbaarheid.
Door middel van sharding kan een blockchain-netwerk zijn werklast echter horizontaal spreiden, zodat niet elk knooppunt al zijn transacties hoeft af te handelen of te verwerken, wat een meer gecompartimenteerd en efficiënt ontwerp mogelijk maakt.
Horizontale partitionering
Sharding wordt bereikt door de horizontale partitionering van een database of netwerk in verschillende rijen die shards worden genoemd. Deze horizontale architectuur creëert een dynamischer ecosysteem omdat shards gespecialiseerde acties kunnen uitvoeren op basis van hun kenmerken. Een shard kan bijvoorbeeld verantwoordelijk zijn voor het opslaan van de transactiegeschiedenis en de status van een bepaald adres of kan samenwerken met andere shards om transacties voor een genoemd digitaal activum te verwerken.
Om beter te begrijpen hoe horizontale partitionering werkt, zal het onderstaande model dit illustreren.
Het model toont een grote database bestaande uit 6 rijen. De vooraf gesharde tabel wordt vervolgens opgesplitst in 3 kleinere, horizontale shards om de verwerking van de grote gegevenstabel beter beheersbaar te maken. Horizontale partitionering zet de tafel alleen om in een kleinere, efficiëntere versie van zichzelf met behoud van de originele kenmerken. Hetzelfde concept kan ook worden toegepast op blockchain-infrastructuren, waarbij de toestand van de keten kan worden gefragmenteerd in kleinere, beter beheersbare brokken, ook wel shards genoemd.
Horizontaal versus verticaal schalen
Als het gaat om het onderwerp schaalbaarheid, hebben blockchain-infrastructuren een paar opties: Layer-2-oplossingen, verticale schaling en horizontale partitionering.
Layer-2's zijn off-chain schaalbaarheidsoplossingen die bovenop de blockchain zijn gebouwd. Het idee met Layer-2s is om in wezen de onderliggende basislaag te omzeilen en er een extra architectuur bovenop te plaatsen. Deze extra laag behandelt complexe berekeningen en probeert de verschillende knelpunten in de architectuur van de basislaag te verminderen. Plasma en Raiden zijn de meest voorkomende voorbeelden van Layer-2-schaalbaarheid en misschien wel het meest opvallende project dat gebruikmaakt van Layer-2 is Polygon, voorheen Matic.
Dan komt verticale schaling. Verticale schaling omvat de uitbreiding van een netwerk door meer kracht en geheugen toe te voegen aan de kernverwerkingseenheid van een systeem en wordt gedaan door de efficiëntie van elke afzonderlijke transactie te verbeteren. Om dit te doen, voegt verticaal schalen in feite meer verwerkingskracht toe aan een bestaande virtuele machine om de verwerkingscapaciteit te versterken.
Verticale schaaloplossingen zijn eerder beperkt in hun effectiviteit, maar zijn veel gemakkelijker te implementeren in tegenstelling tot horizontale schalen. Als er bijvoorbeeld een probleem is waarbij het lokale geheugen van een virtuele machine niet voldoende is om een inkomende lading transacties te verwerken, kan een verticale schaaloplossing dit mogelijk verhelpen. In dit scenario zou een verticale schaal meer geheugen toevoegen aan de infrastructuur van de virtuele machine, waardoor de overbelasting van de verwerking wordt verminderd en de transactiedoorvoer wordt vergroot.
Als een inkomende transactiebelasting echter de hardwarecapaciteit van de virtuele machine overschrijdt, omdat deze deze niet fysiek kan verwerken, is een horizontale schaaloplossing vereist.
Zoals hierboven besproken, helpt horizontale schaling of sharding de algehele doorvoer van blockchain-infrastructuren te verbeteren door meer clusters of individuele virtuele machines toe te voegen aan de bestaande basislaag. Hoewel het een uiterst efficiënt systeem voor schaalvergroting is, brengt sharding inderdaad zijn complexiteit met zich mee, aangezien het langer duurt om te worden geïmplementeerd en volledig operationeel is.
Bovendien, als het gaat om het actief implementeren van schaalbaarheidsoplossingen in blockchain-infrastructuren, zijn er een paar vragen die moeten worden beantwoord vanuit een puur technisch en fundamenteel standpunt.
Sharding voor meer decentralisatie
Er is zeker een argument te maken met betrekking tot de correlatie tussen sharding en decentralisatie in blockchain. Bij de introductie van het concept van schaalbaarheid in de context van blockchain-technologie, moet worden opgemerkt dat, omdat deze systemen al werken als gedistribueerde netwerken, het inherent moeilijk is om hun algehele doorvoer te vergroten door hardware-entiteiten eraan toe te voegen, zoals knooppunten, miners of validators.
Dit wordt verder geaccentueerd door het feit dat blockchain-ontwikkelaars ernaar streven de algehele onveranderlijkheid van de basislaagketen te behouden en vastbesloten zijn niet te knoeien met de onderliggende architectuur.
Dit levert op zijn beurt een aantal voordelen op voor het opschalen van oplossingen, omdat het hen in staat stelt de bestaande beveiliging en betrouwbaarheid van de basislaagketen te benutten om de potentiële transactiedoorvoer uit te breiden, zonder de fundamentele infrastructuur aan te tasten. De Bliksem netwerk is hier een heel goed voorbeeld van, omdat het zijn technologie gebruikt om de veiligheid van Bitcoin te benutten om de algehele transactiecapaciteit van het systeem te vergroten.
Omdat sharding grote hoeveelheden gegevens opsplitst in kleinere, efficiëntere, horizontale partities, kan bovendien een meer gedecentraliseerd ecosysteem als geheel worden gecreëerd. Als de volledige gegevensstructuur van een blockchain-netwerk zich in één supernode zou bevinden en slechts een paar individuen zouden het kunnen gebruiken en openen, zou dit het in de eerste plaats gemakkelijker maken voor aanvallers om die structuur te manipuleren en te exploiteren en ten tweede zou het de de vertrouwde, gedecentraliseerde ambities die eigen zijn aan blockchain-ecosystemen.
Zo kunnen met name schaalbaarheid en sharding worden gezien als integrale componenten van de algehele ontwikkeling van blockchain-netwerken en als ultieme katalysator voor de gedecentraliseerde 'raison d'être' van blockchain.
Sharden met ETH 2.0
Volgens blokverkenner Etherscan nemen Ethereum-volledige knooppunten al minstens 5 terabyte aan ruimte in beslag, wat 10 keer meer is dan wat de gemiddelde computer kan bevatten. Bovendien zullen de knooppunten van Ethereum alleen maar groter en moeilijker te gebruiken worden naarmate het platform zich ontwikkelt en het gebruikersbestand in de loop van de tijd groeit.
Het is dan ook duidelijk dat Ethereum op handen zijnde schaalbaarheid vereist, en sharding is hier juist de oplossing voor. Dus laten we nu bespreken hoe sharding met Ethereum 2.0 zal werken.
Verdeel knooppunten en heers
Samen met Casper en Ethereum WebAssembly (ewasm), is sharding een van de belangrijkste kenmerken van de langverwachte Ethereum 2.0-upgrade. Momenteel moet elk knooppunt op het Ethereum-netwerk elke transactie verifiëren, een functie die inherent zorgt voor de levendigheid van zijn netwerk. Dit is zo dat zelfs als 80% van de Ethereum-knooppunten tegelijkertijd zou uitvallen, het netwerk nog steeds zou werken.
Dit huidige model maakt Ethereum niet noodzakelijk langzamer, maar het is inderdaad problematisch omdat het de netwerkbronnen van ETH niet volledig optimaliseert. Laten we bijvoorbeeld zeggen dat er drie afzonderlijke knooppunten op het Ethereum-netwerk zijn die een transactie verifiëren en deze knooppunten zijn gedefinieerd als knooppunt X, knooppunt Y en knooppunt Z. Op dit moment zal elk knooppunt om een transactie te verifiëren, gedefinieerd als data T moeten de hele dataset van T verifiëren om te worden bevestigd.
Hoewel dit de algehele veiligheid van het netwerk garandeert, creëert het een knelpunt waar elke transactie doorheen moet. In feite wordt het netwerk gedwongen te wachten op elk knooppunt om elke transactie te verifiëren, wat natuurlijk niet het meest ideale of efficiënte scenario is. Met Ethereum 2.0 en zijn sharding-voorstel zou de dataset van T echter worden opgesplitst in T1, T2 en T3, en zouden knooppunten X, Y en Z elk slechts één van de kleinere gegevensscherven hoeven te verwerken om verifieer de volledige dataset van T.
'We willen 10,000+ transacties per seconde kunnen verwerken zonder dat elk knooppunt een supercomputer moet zijn of dat elk knooppunt een terabyte aan staatsgegevens moet opslaan, en dit vereist een uitgebreide oplossing waarbij de werklast van staatsopslag, transactieverwerking en zelfs het downloaden en opnieuw uitzenden van transacties zijn verspreid over nodes.' ShardingFAQ's - Ethereum-wiki
Door gegevens op te splitsen in kleinere, individuele subsets kan Ethereum een grotere transactiedoorvoer bereiken en een snellere, duurzamere omgeving creëren waarin het zijn toekomstige doelen kan nastreven en als ecosysteem kan blijven groeien.
Sharding-mechanica
Ethereum 2.0 zal proberen de efficiëntie van zijn netwerk te maximaliseren door een basislaagovergang van Proof of Work (PoW) naar Proof of Stake (PoS) te voltooien. Het consensusalgoritme Proof of Work (PoW) is gebaseerd op het concept van een miner om het netwerk veilig en gesynchroniseerd te houden, en vereist grote hoeveelheden rekenkracht om te werken. Anderzijds vervangt Proof of Stake het energieverbruik door een financiële verplichting.
In dit geval zal het Proof of Stake-protocol van ETH 2.0, Casper genaamd, niet langer miners nodig hebben, maar validators implementeren die, door ten minste 32 ETH in een staking-pool te plaatsen, transacties kunnen valideren en nieuwe blokken kunnen creëren. Casper wordt geleverd via de Beacon Chain, de systeemketen van Ethereum 2.0, en zorgt ervoor dat shards met elkaar kunnen communiceren.
Dit is natuurlijk een behoorlijke infrastructurele stap-up en gebruikers mogen daarom verwachten dat ze in het algemeen te maken krijgen met een nieuwe, meer geoptimaliseerde vorm van Ethereum. Om te beginnen zal ETH 2.0 gebruikersaccounts specifiek maken voor een bepaalde scherf en transacties opsplitsen in 'transactiepakketten', waarbij elk pakket aan een bepaalde scherf wordt toegewezen. Deze pakketten worden verder onderverdeeld in transactiegroepheaders en -lichamen, waarbij elk onderdeel specifieke kenmerken van de shard definieert.
Zoals geïllustreerd in de afbeelding hierboven, heeft elke transactiegroepkop een apart linker- en rechtergedeelte. Het linkerdeel van de kop bevat de volgende componenten:
- Shard-ID: om de shard te identificeren waartoe de transactiegroep behoort.
- Pre-State Root: De status van de root van die specifieke shard voordat de transactiegroep erin wordt geplaatst.
- Hoofdmap na status: de status van de hoofdmap van de shard nadat de transactiegroep erin is geplaatst.
- Ontvangstroot: bevestiging dat de transactiegroep de root van de shard is binnengegaan.
Het rechterdeel van de koptekst toont daarentegen een groep willekeurig geselecteerde validators die transacties binnen de shard zelf verifiëren. Deze transactiepakketten moeten bovendien een dubbel verificatieproces ondergaan om aan de hoofdketen te worden gehecht. Het eerste verificatieproces omvat validators die willekeurig worden toegewezen aan een scherf om te stemmen over de geldigheid van elk transactiepakket. Als validators ja stemmen, moet een aparte commissie voor de Beacon Chain deze stem verifiëren met behulp van een slim contract voor shardingmanagers. Als de tweede stem ook positief is, wordt het transactiepakket toegevoegd aan de hoofdketen en onderdeel van het grootboek, waardoor een onveranderlijke crosslink naar de transactiegroep op die scherf ontstaat.
Cross-Shard-communicatie
De infrastructuur van ETH 2.0 stelt shards in staat om effectief met elkaar te communiceren met als doel een echt interoperabel en wederzijds voordelig ecosysteem te produceren. Vitalik Buterin, de visionair en oprichter van Ethereum, beschreef het concept van cross-shard-communicatie op DevCon 2018 in Praag het best door te stellen:
Stel je voor dat Ethereum is opgesplitst in duizenden eilanden. Elk eiland kan zijn eigen ding doen. Elk van het eiland heeft zijn eigen unieke kenmerken en iedereen die op dat eiland behoort, dwz de accounts, kan met elkaar communiceren EN ze kunnen vrijelijk genieten van al zijn functies. Als ze contact willen opnemen met andere eilanden, zullen ze een soort protocol moeten gebruiken. – Vitalik Buterin Devcon 2018 – LinkedIn
Als we Buterins shard-eiland-analogie in gedachten houden, is het duidelijk dat als deze scherven succesvol met elkaar willen communiceren, ze een specifiek cross-shard-protocol nodig hebben. Het favoriete intercommunicatieprotocol van ETH 2.0 is het zogenaamde 'ontvangstparadigma'. Zoals eerder weergegeven in de bovenstaande afbeelding, is de ontvangstbasis een onderdeel van de koptekst van de transactiegroep en wordt deze gebruikt om te bevestigen dat een transactiegroep de hoofdmap van de shard in een Merkle-structuur is binnengegaan.
Elke afzonderlijke transactie in de groep genereert een ontvangstbewijs in de specifieke shard waartoe het behoort. De Beacon Chain, de systeemketen van Ethereum 2.0, zal dan zijn gedistribueerde gedeelde geheugen gebruiken om al deze transactiebonnen erin op te slaan, vandaar de term 'ontvangstparadigma'. Dit is zodat andere shards de bonnen in de Beacon Chain kunnen bekijken en ermee kunnen werken, maar vanwege de onveranderlijke aard van de blockchain kunnen ze zelf niet met de transactiebonnen knoeien.
Dit is een belangrijke functie omdat shards hierdoor precies weten wanneer het gepast is om met elkaar te communiceren en dit alleen doen wanneer dat nodig is. In wezen stelt dit ETH 2.0-specifieke ontwerp shards in staat om elkaars activiteit te verifiëren en ervan te profiteren, terwijl de finaliteit en het doel van elke individuele scherf behouden blijft.
Cross-Shard operationele complexiteit en latentie
Twee van de meest urgente problemen als het gaat om ETH 2.0 cross-shard-communicatie, zijn operationele complexiteit en latentie. Vitalik Buterin heeft echter twee voorstellen aangekondigd om dit te verhelpen en de ontwikkeling van een volledig geshard Ethereum te garanderen.
Deze voorstellen zullen:
- Verdeel verschillende verantwoordelijkheden en taken van de individuele scherven naar de Beacon Chain.
- Zorg ervoor dat elke shard zijn eigen status en uitvoering heeft.
- Verminder complexiteit in de structuur van de shard en behoud verschillende netwerkfunctionaliteiten.
- Geef shards voldoende functionaliteit om slimme contractuitvoering in de verschillende transactiegroepen te ondersteunen.
- Introduceer 3 nieuwe transactietypes: nieuw uitvoeringsscript, nieuwe validator en opname. Het nieuwe uitvoeringsscript maakt een uitvoeringsscript dat ETH kan bevatten, de nieuwe validator kan nieuwe validators aan het systeem toevoegen en Withdrawal kan validators uit de Beacon Chain verwijderen.
Verder is een ander probleem dat ETH 2.0 probeert op te lossen netwerklatentie in cross-shard-communicatie. Als een gebruiker bijvoorbeeld een token van shard X naar shard Y wil verzenden, vernietigt een transactie op shard X het token daar, maar slaat een record op van de verzonden waarde, het adres en de bestemmingsshard, in dit geval shard Y.
Na enige vertraging leert elke afzonderlijke shard over de statuswortel van andere shards, waardoor ze de transactie kunnen verifiëren en kunnen bevestigen dat het adres van shard Y geldig is. Shard X zal dan een transactiebon produceren die zal worden hersteld door Shard Y, en waarmee de waarde in Shard X kan worden vernietigd en naar Shard Y kan worden verplaatst.
Zoals je je kunt voorstellen, veroorzaakt dit proces nogal wat vertragingen en neemt het de schaalbaarheidsdoelstellingen van ETH 2.0 volledig weg. Daarom heeft Ethereum een oplossing hiervoor voorgesteld, genaamd Fast Cross-Shard Transfers Via Optimistic Receipt Roots. Hoewel de titel misschien misleidend is, is het eigenlijk een vrij eenvoudig systeem dat inhoudt dat voorwaardelijke toestanden worden opgeslagen en optimistisch is over de geldigheid van een ingediende transactie.
Kortom, dit betekent dat als Bob 50 tokens op Scherf B heeft en Alice 20 tokens naar Bob stuurt vanuit Scherf A, maar Scherf B de staat van Scherf A nog niet kent en daarom de overdracht niet volledig kan valideren, de staat van Bob's account (Shard B) zal tijdelijk 70 tokens tonen als de overdracht van Alice echt is of 50 tokens als dat niet het geval is.
Dit komt omdat validators die de transactie van Shard A naar Shard B verifiëren, optimistisch zeker kunnen zijn van de finaliteit van de overdracht en van het feit dat Bob's account uiteindelijk zal worden omgezet in 70 tokens zodra de transactie van Alice is gevalideerd. Validators kunnen dus net doen alsof Bob de 70 tokens al heeft.
Zodra de transactie van Shard A naar Shard B is geverifieerd, wordt deze permanent of wordt deze eenvoudig teruggedraaid als deze niet geldig was. Dit Fast Cross-Shard Transfer-systeem vermindert de knelpunten die worden veroorzaakt door netwerklatentie aanzienlijk en, indien succesvol geïmplementeerd, zal Ethereum 2.0 de doorvoer versnellen en de algehele schaalbaarheid verbeteren.
Ethereum 2.0 terzijde, laten we nu kort bespreken hoe sharding wordt geïmplementeerd in andere projecten en, meer specifiek, in Zilliqa, NEAR en polkadot.
Scheren met Zilliqa
Een ander project dat interessante waardeproposities naar voren brengt en dat ook sharding implementeert, is Zilliqa. Zilliqa, opgericht in 2017, is een blockchain voor rekenintensieve use-cases voor ondernemingen en opkomende technologie, met als belangrijkste functionaliteiten sharding en parallelle transactieverwerking.
Terwijl het netwerk draait op Proof of Work (PoW)-algoritmen die veel rekenkracht vereisen, is Zilliqa ontworpen om op aanvraag te schalen door extra ZIL-nodes en miners aan boord te nemen, waardoor meer shards aan het netwerk kunnen worden toegevoegd.
ZIL is het native token van Zilliqa en, volgens het sharding-model, als Zilliqa 20,000 nodes zou hebben, zou zijn netwerk kunnen worden opgesplitst in 25 subnetwerken met elk 800 nodes die gegevens parallel en gelijktijdig zouden kunnen verwerken. De architectuur van Zilliqa is ingewikkeld omdat het gebruik maakt van twee blockchains, ook parallel. Het project maakt gebruik van transactieblokken, TX-Blocks genaamd, om transacties te bevatten die zijn verzonden door netwerkgebruikers en directoryserviceblokken, of DS-Blocks, om gegevens te bevatten over de netwerkminers die de infrastructuur van Zilliqa beveiligen en ondersteunen.
Zilliqa's blockchain-sharding is een tweeledig proces. Ten eerste kiest het Directory Service Committee-knooppunten die het sharding-proces initiëren en knooppunten aan elke shard toewijzen. Ten tweede, zodra transacties in de shard zijn geverifieerd, kunnen ze vervolgens worden geverifieerd door het hele netwerk en een wereldwijde staat binnengaan die elke transactie in elke shard annexeert aan een enkele, verifieerbare bron van waarheid op de Zilliqa-blockchain.
In wezen houdt een shard-transactie op het Zilliqa-netwerk in dat een gebruiker een transactie start die vervolgens wordt overgedragen naar een shard die de transactie valideert en vergelijkt met andere transacties om een 'microblok' van transacties te creëren. Vervolgens wordt door de scherf consensus bereikt over de geldigheid van het microblok, dat vervolgens wordt toegewezen aan de Directory Service Committee die microblokken samenvoegt met het 'laatste blok'. De DS-commissie bereikt vervolgens de ultieme consensus over dit blok voordat het aan de blockchain wordt toegevoegd.
Sharden met NEAR
Een project dat een nogal alternatieve vorm van sharding implementeert, is niemand minder dan NEAR Protocol. NEAR, gelanceerd in 2020, is een Proof of Stake (PoS) door de gemeenschap bestuurd, sharded blockchain-platform met interoperabiliteit en schaalbaarheid als kern.
NEAR maakt gebruik van zijn Nightshade-technologie om enorme doorvoermogelijkheden te bereiken waarbij validators transacties parallel verwerken om de algehele transactiecapaciteit van de blockchain te verbeteren. Hoewel het sharding-model op basis van shard-ketens en een beacon-keten in feite krachtig is, biedt het echter enkele infrastructurele complexiteiten vanwege het feit dat zowel shard-ketens als de beacon-keten in wezen afzonderlijke entiteiten zijn binnen hetzelfde blockchain-ecosysteem.
NEAR Protocol pakt deze kwestie aan en introduceert een aantrekkelijk sharding-ontwerp door de infrastructuur te modelleren als een enkele blockchain, waarin elk blok logisch alle transacties voor alle shards bevat en de hele status van de shards verandert. Via Nightshade kan NEAR zijn ethos van blockchain-singulariteit behouden door de transacties van elk blok in fysieke blokken te sharden, idealiter met één brok per shard, en ze samen te voegen tot één blok.
Sharden Met Polkadot
Polkadot maakt gebruik van een sharding-model dat volledig verschilt van het op Ethereum gebaseerde sharding-mechanisme en maakt gebruik van de cross-chain-compositiefuncties om sharding via parachains te activeren. Het oorspronkelijke ontwerp van Polkadot is dat van een netwerk met meerdere ketens dat Layer-0-betrouwbaarheid, beveiliging en schaalbaarheid biedt aan alle Layer-1-blockchains die bovenop zijn architectuur zijn gebouwd.
Deze Layer-1's vertegenwoordigen het parachain-netwerk, waarbij parachains de verschillende blockchains zijn die parallel lopen in het Polkadot-ecosysteem, op zowel de Polkadot- als Kusama-netwerken.
Parachains zijn verbonden met en beveiligd door Polkadot's Relay Chain en ze kunnen profiteren van de veiligheid, schaalbaarheid en interoperabiliteit van Polkadot. Het parachain-netwerk kan inderdaad worden beschouwd als een geavanceerd sharding-paradigma dat de kenmerken van de Polkadot-hoofdketen implementeert en op een parallelle, shard-achtige manier werkt.
Parachain-projecten zoals Clover kunnen bijvoorbeeld gasloze transacties bieden en nieuwe lagen van schaalbaarheid en interoperabiliteit brengen voor niet-geharde Layer-1-infrastructuren. Dit komt omdat Polkadot, als een netwerk met meerdere ketens dat is gebouwd op parachains, in staat is om meerdere parallelle transacties op meerdere ketens tegelijk te verwerken, wat uiteindelijk het concept van cross-chain sharding belichaamt.
Conclusie
Sharding is de basis van schaalbaarheid in gedecentraliseerde netwerken en biedt een verscheidenheid aan opwindende kansen voor die projecten die het willen implementeren of op zijn minst willen experimenteren met het concept ervan.
Het probleem wordt momenteel bepaald door het feit dat blockchain-netwerken exponentieel groeien en uitbreiden vanwege hun populariteit, gebruiksscenario en uiteindelijk hun vraag. Dit veroorzaakt op zijn beurt een reeks on-chain knelpunten, complexiteiten en netwerkinefficiënties en is allesbehalve een uitdrukking van hun grote behoefte aan een geschikte schaaloplossing.
Ethereum 2.0 zal zijn sharding-mogelijkheden in de niet zo verre toekomst introduceren en dit is een van de meest verwachte gebeurtenissen in de geschiedenis van de ETH-blockchain. De verwachtingen blijven ongelooflijk hoog, want als de sharding van ETH 2.0 succesvol is, zal het de schaalbaarheid van het Ethereum-netwerk op lange termijn garanderen en het project begeleiden in zijn zoektocht om de gedecentraliseerde, open voor iedereen, onmogelijk te sluiten 'wereld' te worden. computer'.
Disclaimer: dit zijn de meningen van de schrijver en mogen niet als beleggingsadvies worden beschouwd. Lezers zouden hun eigen onderzoek moeten doen.
Bron: https://www.coinbureau.com/technology/what-is-sharding-complete-beginners-guide/
- 000
- 2020
- 9
- absoluut
- toegang
- Account
- Extra
- advies
- algoritme
- algoritmen
- Alles
- Alle transacties
- Het toestaan
- Amazone
- analytics
- aangekondigd
- toepassingen
- architectuur
- aanwinst
- baken ketting
- BEST
- Bitcoin
- blockchain
- Blockchain technologie
- lichaam
- het stimuleren
- bouw
- Gebouw
- ondernemingen
- Buterin
- Inhoud
- vervoer
- gevallen
- veroorzaakt
- uitdagen
- MuntBureau
- Coindesk
- Gemeen
- Communicatie
- bestanddeel
- Computer Science
- Overeenstemming
- consumptie
- voortzetten
- contract
- Wij creëren
- Cross-Chain
- cryptogeld
- Actueel
- DApps
- gegevens
- gegevens Analytics
- Database
- transactie
- omgang
- Deals
- decentralisatie
- vertraging
- vertragingen
- Vraag
- Design
- vernietigd
- ontwikkelaar
- ontwikkelen
- ontwikkelaars
- Ontwikkeling
- digitaal
- Digitaal actief
- Gedistribueerd grootboek
- ecosysteem
- ecosystemen
- effectief
- doeltreffendheid
- energie-niveau
- Enterprise
- Milieu
- ETH
- eth 2.0
- ethereum
- Ethereum 2.0
- Ethereum blockchain
- Ethereum-gas
- ethereum-netwerk
- Ethos
- EVENTS
- uitvoering
- Uitvouwen
- uit te breiden
- uitbreiding
- experiment
- Exploiteren
- Mode
- SNELLE
- Kenmerk
- Voordelen
- vergoedingen
- Financiën
- financieel
- Voornaam*
- formulier
- oprichter
- Achtergrond
- vol
- toekomst
- GAS
- gas vergoedingen
- Globaal
- goed
- Groep
- Groeien
- Groeiend
- gids
- Hardware
- Hoge
- geschiedenis
- houden
- Hoe
- HTTPS
- reusachtig
- idee
- identificeren
- beeld
- Laat uw omzet
- industrieën
- informatie
- Infrastructuur
- integraal
- belang
- Internet
- Interoperabiliteit
- investering
- problemen
- IT
- sleutel
- Groot
- laatste
- leidend
- Grootboek
- Hefboomwerking
- bliksem
- Bliksem netwerk
- Beperkt
- laden
- lokaal
- lang
- Machines
- groot
- maken
- Mijnwerkers
- model
- geld
- Nabij
- netwerk
- netwerken
- knooppunten
- Aanbod
- online.
- open
- Meningen
- Opties
- bestellen
- Overige
- paradigma
- Plasma
- platform
- platforms
- polkadot
- zwembad
- PoS
- PoW
- energie
- presenteren
- project
- projecten
- bewijs
- voorstel
- publiek
- zoektocht
- lezers
- Realiteit
- verminderen
- onderzoek
- Resources
- beoordelen
- lopen
- lopend
- veilig
- Schaalbaarheid
- Scale
- scaling
- Wetenschap
- veiligheid
- ziet
- gekozen
- sentiment
- -Series
- Diensten
- reeks
- sharding
- gedeeld
- eigenaardigheid
- Maat
- slim
- slim contract
- So
- Oplossingen
- OPLOSSEN
- Tussenruimte
- snelheid
- spleet
- verspreiden
- inzet
- staking
- Land
- Staten
- Status
- blijven
- mediaopslag
- shop
- ingediend
- geslaagd
- supercomputer
- ondersteuning
- duurzaam
- system
- Systems
- tech
- Technisch
- Technologie
- niet de tijd of
- teken
- tokens
- top
- transactie
- Transacties
- X
- us
- gebruikers
- waarde
- Verificatie
- Bekijk
- Virtueel
- virtuele machine
- Vitalik
- vitalik buterin
- Stemmen
- wachten
- Rijkdom
- Wat is
- WIE
- binnen
- Mijn werk
- Bedrijven
- X
- Zilliqa