Ethereum 2.0 logo en tekst

Deze cryptomunten passen sharding toe voor snellere transacties

Er komen nieuwe blockchains per lopende meter bij, lijkt het wel. Allerlei problemen worden getackeld, van grensoverschrijdende financiële transacties tot supply chain management. Bij dit alles blijft er toch een hardnekkig probleem over waar elke blockchain mee te maken heeft, namelijk een gebrek aan schaalbaarheid.

Naarmate meer computers zich bij het peer-to-peer-netwerk aansluiten, neemt de efficiëntie van het hele systeem doorgaans af.

Schaalbaarheid is al geïdentificeerd als een probleem met cryptocurrencies zoals Bitcoin en Ethereum's Ether. Als een gedistribueerd grootboek acceptatie door financiële technologiebedrijven (FinTech) wil bereiken en honderden keren sneller wil concurreren met betalingsnetwerken, moet het een manier vinden om de schaalbaarheid en doorvoer te vergroten en latentieproblemen aan te pakken. Latentie is een vertraging in de dataoverdracht over een datacommunicatienetwerk.

Et voilà, daar is sharding!

Sharding is een van de vele populaire methoden die door ontwikkelaars worden onderzocht om de transactionele doorvoer te vergroten. Hierdoor wordt ook de transactie snelheid vergroot.

Simpel gezegd, sharding is een manier om de reken- en opslagwerklast te spreiden over een peer-to-peer (P2P) netwerk, zodat niet elke node verantwoordelijk is voor het verwerken van de transactionele belasting van het hele netwerk. In plaats daarvan houdt elke node alleen informatie bij over zijn partitie of shard.

Het moge duidelijk zijn dat we het in deze blog eens uitgebreid gaan hebben over sharding. Wat het precies is en welke projecten met hun cryptomunten aan sharding doen.

Je kunt jezelf al een beetje opwarmen met deze video die op een korte maar krachtige manier sharding uitlegt.

Bekijk snel

Wat is sharding?

Sharding is een slimme manier om zowel de netwerklatentie als de bandbreedteproblemen aan te pakken, die de schaalbaarheid van blockchain duidelijk beperken. Het betekent dat meerdere transacties op hetzelfde moment geverifieerd en verwerkt kunnen worden, als het netwerk groeit.

Er zijn diverse versies van sharding mogelijk.

Gepartitioneerde of network sharding

Hierbij communiceren shards niet rechtstreeks met elkaar via een centraal relais.

State sharding

Dit betekent dat de volledige status van het netwerk (lees: de globale status, de vorige geschiedenis) is verdeeld over de nodes en over shards.  Zo kunnen nodes met elkaar communiceren zonder verificatieconflicten in eerdere blocks. Elke shard bestaat uit zijn eigen gegevens, waardoor deze onderscheidend en onafhankelijk is in vergelijking met andere shards.

Sharding verwijst naar het splitsen van een volledig netwerk in meerdere delen die ‘shards’ worden genoemd. Het Ethereum netwerk doet dit bijvoorbeeld, maar ook andere netwerken zijn hier mee aan de slag.

Transactie sharding

Dit tilt de complexiteit naar een hoger niveau en behandelt de distributie van transacties over verschillende shards, maar alle nodes houden de hele blockchain in hun state.

Image
Sharding grafisch uitgelegd
Cointelegraph.com

Sharding is absoluut de meest complexe oplossing voor het schaalbaarheidsprobleem van de Ethereum blockchain. Dat is ook de reden waarom dit zo een beetje tot het laatste bewaard is voordat het toegepast werd op Ethereum. Op deze manier hadden ontwikkelaars de nodige tijd om het volledig te onderzoeken en te testen in productieomgevingen.

Voordat we op de technische details ingaan, is het belangrijk om te weten welke rol nodes spelen in een netwerk. Nodes zijn verantwoordelijk voor het verifiëren van het werk van de miners en ervoor te zorgen dat de consensusregels worden gevolgd. De beste manier om dit te doen, is door een volledige kopie van een grootboek te bewaren, op die manier is het gemakkelijk om het werk van een miner te verifiëren.

Een probleem is echter dat bijvoorbeeld de Ethereum blockchain al 1 TB-opslag nadert, dus het is onpraktisch voor een gewoon persoon om een ​​node te runnen.

Dit vormt een groot probleem: als nodes te duur worden om te draaien, zal het netwerk gevoeliger zijn voor centralisatie. Tegelijkertijd zorgt het feit dat elke transactie door elke node moet worden verwerkt ervoor dat een netwerk nooit schaalt.

Sharding is een mogelijke oplossing voor dit probleem. Sharding probeert niet om de transacties van de blockchain af te halen. Wat het doet, is te proberen de blockchain in meerdere delen op te splitsen, zodat nodes niet verantwoordelijk zijn voor het verwerken van elke transactie die op een netwerk wordt uitgezonden.

Het blockchain trilemma

Sharding roept de vraag op: moet elke node in het netwerk elke transactie verwerken om een ​​blockchain als veilig te beschouwen? Wat nog belangrijker is, is dat Sharding de meest formidabele optie is om het schaalbaarheidstrilemma op te lossen. Tot op heden kan geen enkel blockchain-netwerk alle drie de volgende kenmerken vertonen zonder een van hen op te offeren:

Image
Het blockchain trilemma
Cryptoticker.io

Met sharding kom je nu ook een stap dichterbij.  Onder andere Solana (SOL) en de Algorand blockchain claimen dit trilemma echter ook te hebben opgelost.

Elke shard doet dienst als zijn eigen zelfstandige blockchain. De gebruikers op elke shard hebben hun eigen rekeningsaldi buiten het hoofd netwerk en kunnen alleen transacties uitvoeren met andere gebruikers op de shard.

Een gemakkelijke manier om het uit te leggen, is door je voor te stellen dat een netwerk of blockchain in duizenden eilanden is opgesplitst. Elk eiland kan zijn eigen ding doen, het kan zijn eigen kenmerken hebben en iedereen die bij dat eiland hoort, kan ervan genieten.

Als ze contact willen opnemen met andere eilanden, zullen ze een soort protocol moeten gebruiken. Dat is wat sharding toestaat. Het creëert een manier voor elke shard om individuele ontvangsten van elke transactie op te slaan. Omdat ze cryptografisch beveiligd zijn, kunnen ze op elk moment worden teruggebracht naar de hoofdketen.

Dit is een voorbeeld dat door Vitalik Buterin gebruikt wordt. Een ander, bijna nog eenvoudiger voorbeeld is het volgende;

Als je aan het winkelen bent, ga je op een gegeven moment naar de kassa om af te rekenen. Er is echter maar één kassa open, dus dat gaat wel even duren. Als je echter nog een aantal kassa’s openmaakt, kan iedereen sneller betalen en ook sneller naar huis.

Zijn er nadelen aan sharding?

Er zijn op dit moment twee nadelen aan sharding, communicatie en veiligheid

Communicatie

Als je een blockchain opsplitst in geïsoleerde segmenten, verschijnt elke shard als een afzonderlijk blockchain-netwerk. Gebruikers en applicaties van het ene subdomein zullen niet kunnen communiceren met gebruikers en applicaties van een ander subdomein, zonder de toepassing van een speciaal, intershard communicatiemechanisme. Dit voegt een extra complicatie toe waar ontwikkelaars een oplossing voor moeten zien te vinden.

Veiligheid

In een gesegmenteerde blockchain wordt beveiliging ook een punt van zorg, omdat het voor hackers gemakkelijker is om een ​​enkele shard over te nemen vanwege de verminderde hash-kracht die nodig is om individuele segmenten te besturen. Dit is ook bekend als een single-shard takeover-aanval of een aanval van 1%. 

Image
Een aanval van 1% grafisch weergegeven
Cointelegraph.com

Als een segment of shard eenmaal is gehackt, kunnen de aanvallers mogelijk ongeldige transacties indienen bij het hoofdnetwerk, of is het mogelijk dat informatie in dat specifieke segment ongeldig wordt gemaakt en permanent verloren gaat.

Ethereum's oplossing voor dit beveiligingsrisico is willekeurige steekproeven, waarbij shard-notarissen willekeurig worden toegewezen aan verschillende secties om blockverificatie te verifiëren.

Wie gebruikt sharding?

Sharding wordt door diverse blockchains gebruikt, onder andere Ethereum (ETH), Cardano (ADA), Zilliqa (ZIL), NEAR (NEAR), Polkadot (DOT), Iota (MIOTA) en Apollo (APL). We gaan nu dan ook bekijken wat ze precies doen op hun respectievelijke blockchains.

Ethereum’s Beacon Chain

De Beacon Chain maakt deel uit van de Ethereum 2.0 Serenity-roadmap. De Beacon Chain is de 'hoofdketen' van het Casper PoS-systeem van Ethereum en heeft als belangrijkste verantwoordelijkheden:

  • Bewaar en onderhoud de set actieve, in de wachtrij geplaatste en verlaten validators
  • Verwerk crosslinks
  • Verwerk zijn eigen block-voor-block-consensus, evenals de finaliteitsgadget

Finaliteit, in zeer losse bewoordingen, betekent dat als een bepaalde operatie eenmaal is uitgevoerd, deze voor altijd in de geschiedenis zal worden geëtst en niets die operatie kan terugdraaien. Klinkt bekend, toch? Dat is namelijk precies hoe de blockchain werkt.

Deze finaliteit is vooral belangrijk op gebieden die met financiën te maken hebben. Stel je voor dat Karen een bepaald bedrag aan activa in een bedrijf bezit. Als er een glitch (de onverwachte output die het gevolg is van een kortdurende elektronische of softwarematige storing) in de bedrijfsprocessen optreedt, hoeft ze het eigendom van dat activum niet terug te draaien.

Terug naar de Beacon Chain, de belangrijkste functie is het beheren van het proof-of-stake protocol voor zichzelf en alle shard chains. Dit heeft een aantal aspecten, waaronder:

  • Beheren van validators en hun inzet.
  • Nominatie van de gekozen block proposer voor elke shard bij elke stap.
  • Validators organiseren in commissies om te stemmen over de voorgestelde blocks.
  • De consensusregels toepassen.
  • Beloningen en straffen toepassen op validators.
  • Een ankerpunt zijn waarop de shards hun staten registreren om cross-shard-transacties te vergemakkelijken.

Een voordeel is dat dit ervoor zorgt dat de vereiste rekenkracht, opslagruimte en bandbreedte lineair afneemt.

Nadelen zijn lagere gegevens beschikbaarheid en cross-shard-transacties zijn vereist om gegevens te goed te keuren. 

Zilliqa BFT sharding

De manier waarop Zilliqa sharding probeert te implementeren, is via een heel ander pad dan Ethereum. De manier waarop het is uitgevoerd, volgt de onderstaande logica:

  • Voer alle single-shard-transacties parallel uit.
  • Voer geen transacties uit die van invloed zijn op hetzelfde smart contract parallel.
  • Voer geen transacties uit die van invloed zijn op meer dan één shard, parallel aan een andere transactie.

In wezen maakt het voorstel van Zilliqa geen gebruik van een centrale coördinator, maar het zorgt ervoor dat dApps zich in de meeste shards moeten bevinden, waardoor het belangrijkste voordeel wordt weggenomen.

Een voordeel is dat de exponentiële schaalbaarheid toeneemt door toegenomen verwerkingskracht en distributie van informatie.

Als nadeel is er dat het verwerken van betalingen erg complex wordt zodra de state wordt gedeeld door shards. dApps zullen geen transacties parallel uitvoeren die hetzelfde smart contract beïnvloeden.

Image
Sharding model van Zilliqa
zilliqa.com

Polkadot’s Parachain

Om een ​​effectieve gedistribueerde database-sharding te bereiken, gebruikt Polkadot een technologie genaamd Parachain.

Een parachain (parallelliseerbare ketting) is een eenvoudigere vorm van blockchain. Ze zijn de diverse individuele layer-1 blockchains die parallel lopen binnen het Polkadot-ecosysteem (op zowel de Polkadot- als Kusama-netwerken). Verbonden met en beveiligd door de centrale Relay Chain, delen en profiteren parachains van de veiligheid, schaalbaarheid, interoperabiliteit en governance van Polkadot.

Een belangrijk kenmerk van parachains is dat de berekeningen die ze uitvoeren inherent onafhankelijk zijn. Volledig gegeneraliseerde systemen van Turing-complete smart contracts stuiten op problemen bij het bepalen welke transacties met elkaar in botsing komen. Dit betekent dat transacties die mogelijk kunnen worden geparallelliseerd, vaak op volgorde worden uitgevoerd, waardoor kostbare rekentijd wordt verspild.

Door Turing-compleet te zijn, heeft Ethereum de mogelijkheid om toekomstige overeenkomsten te begrijpen en uit te voeren, zelfs die waar nog niet aan is gedacht.

Door duidelijke grenzen tussen parachains te trekken, kunnen we ze allemaal tegelijk uitvoeren zonder bang te hoeven zijn voor botsingen. Als er 10 parachains zijn, kan er 10 keer het werk uitgevoerd worden met dezelfde beveiligingsbron.

Image
Polkadot sharding
Polkadot.network

Zeer gespecialiseerde parachains hebben een ander doel. Ze kunnen gegevensopslag- en transactiebewerkingen op de meest efficiënte manier implementeren voor hun probleemdomein, zonder te worden opgescheept in een blockchain-specifieke scripttaal of virtuele machine.

Het is mogelijk om parachains te maken die hun eigen parachains hebben, enzovoort. Dit creëert een boomachtige structuur die kan worden gebruikt om sterk gedistribueerde berekeningen uit te voeren, zonder de algehele belasting van de rootrelaisketen zelf te verminderen.

Een voordeel is dat berekeningen die door elke shard worden uitgevoerd, inherent onafhankelijk zijn en voor verhoogde netwerkcapaciteit zorgen.

Als nadeel kun je zien dat er een lagere beschikbaarheid en beveiliging van gegevens door verspreid mining is en er geen manier om data tussen shards te controleren is. 

Cardano's Hydra

Hydra vertrouwt op state kanalen als een schaaloplossing op de tweede laag (2nd layer). State kanalen sharden Cardano's zonder het grootboek zelf te sharden. Meer in het algemeen behandelen state kanalen transacties buiten de keten om(off-chain), waardoor transacties worden weggenomen van de belangrijkste blockchain van Cardano. Samen verbeteren deze factoren de transactiedoorvoer van Cardano.

Hydra "zit gracieus" bovenop Cardano's pool-systeem, volgens John Hoskinson, oprichter van Cardano en ook co-founder van Ethereum.

Hydra is het resultaat van vijf jaar onderzoek en de inspanningen van meer dan twee dozijn teamleden.

Elke stake pool-exploitant kan zijn eigen state kanaal of Hydra-'hoofd' bedienen. Simulaties suggereren dat elk 'hoofd' ongeveer 1.000 transacties per seconde kan verwerken. Met 1.000 stake pools die elk 1.000 TPS verwerken, kan Cardano een doorvoer behalen van wel 1 miljoen TPS (Transacties Per Seconde).

Naast betere prestaties en schaalbaarheid, zal Hydra ook worden uitgebreid om interoperabiliteit mogelijk te maken met platforms zoals Bitcoin en het Lightning Network. Hierdoor kunnen Cardano en Hydra in de toekomst betalingssystemen en gedecentraliseerde beurzen (DEX) ondersteunen.

Bekijk deze video waarin John Hoskinson in bijna tien minuten de opzet van Hydra uitlegt.

Voordelen zijn dat door een betalingslaag en een computationele laag in te voeren, Cardano voor onbeperkte schaalbaarheid en snelle transacties zorgt. Het maakt het ook mogelijk updates uit te voeren zonder de betalingen en transacties te verstoren.

Een nadeel kan het governance proces zijn. Hierbij kan bijvoorbeeld gestemd worden over de toekomst van de Cardano blockchain. Daarom is het belangrijk dat deelnemers goed moeten snappen en begrijpen waarover het gaat. Zo niet, kan dit eventueel negatief uitpakken.

Elrond

Elrond introduceert een nieuw state-sharding-schema, Adaptive State Sharding genaamd, met een dynamisch model waarmee het netwerk zich kan aanpassen aan de bevolking en de vraag naar veranderingen zonder de veiligheid, beschikbaarheid en decentralisatie in gevaar te brengen.

Elrond is anders in vergelijking met andere blockchains voor de volgende redenen:

  • In vergelijking met Ethereum verwijdert Elrond zowel energie- als rekenverspilling van PoW-algoritmen door een SPoS-consensus (Secure Proof of Stake) te implementeren terwijl parallellisme van transactieverwerking door middel van sharding wordt gebruikt.
  • In vergelijking met Algorand heeft Elrond geen enkele blockchain, maar verhoogt het de doorvoer van transacties met behulp van sharding. Elrond verbetert ook Algorands idee van willekeurige selectie door de selectietijd van de consensusgroep te verkorten van maximaal 12 seconden tot minder dan een seconde, maar gaat ervan uit dat de tegenstanders zich niet binnen een ronde kunnen aanpassen.
  • In vergelijking met Zilliqa verlegt Elrond de grenzen van sharding door niet alleen transactie-sharding te gebruiken, maar ook state-sharding. Elrond elimineert het PoW-mechanisme volledig en gebruikt SPoS voor consensus. Beide architecturen bouwen hun eigen smart contract engine, maar Elrond streeft naar EVM-compliance om interoperabiliteit tussen blockchains te bereiken.

EVM is een tool die door programmamanagers wordt gebruikt om: programma- / contractprestaties te kwantificeren en te meten en om een vroegtijdig waarschuwingssysteem te bieden voor afwijkingen van een baseline. Bovendien worden risico's in verband met overschrijdingen van kosten en planning beperkt en er wordt een manier geboden om de uiteindelijke kosten te voorspellen en de resultaten te plannen.

Voordelen van Elrond zijn onveranderlijke beveiliging, verhoogde efficiëntie, cross-chain interoperabiliteit, volledige decentralisatie en high-throughput schaalbaarheid.

Een nadeel is dat het een goed idee is maar er een relatief zwak team achter staat.

Image
Nodes worden geshuffled bij Elrond sharding, grafisch weergegeven
Elrond whitepaper

Behalve deze vier blockchains, zijn er nog diverse andere blockchains die met sharding werken. NEAR (NEAR), Apollo (APL), IOTA (MIOTA), TERRA (LUNA), PChain (PI), Radix (XRD) en QuarkChain (QKC) zijn een paar andere namen die op dit gebied actief zijn.

Conclusie

We hebben uitvoerig gekeken wat sharding eigenlijk precies is. Heel simpel gezegd, het opdelen van de takenlast. Dit kan op verschillende manieren gedaan worden, en de verschillende blockchains die met sharding werken gebruiken ook deze verschillende opties. Sharding is een goede stap in de richting om het blockchain trilemma op te lossen en de transactie snelheid gaat enorm vooruit.

De nadelen van sharding zijn ook belicht, en vooral communicatie en veiligheid zijn thema's. Elke blockchain heeft daar weer zijn eigen oplossingen voor.

Ten slotte hebben we nog diverse sharding projecten onder de loep genomen. 

Hopelijk zijn alle onderwerpen over sharding in een zo begrijpelijk mogelijke manier beschreven. Mocht je echter nog vragen hebben na het lezen van deze blog, kom dan graag voorbij in onze AllesOverCrypto Facebookgroep. Diverse AOC'ers en de leden zullen je graag verder helpen. Zie je daar!

Coverfoto Vladimir Kazakov/Shutterstock


Starten met crypto en geen idee waar je moet beginnen?

Kom dan naar onze gratis online crypto training!

Bekijk hier wat je gaat leren!

Image
Online Bitcoin Training van allesovercrypto

 

 
Alle uitingen van AllesOverCrypto, waaronder begrepen alle producten (o.a. Crypto Signalen en de Crypto Masterclass), berichten en e-mails, zijn de professionele mening van AllesOverCrypto en kan op géén enkele wijze worden opgevat als een persoonlijke uitnodiging, een advies of enige aanbeveling om tot aankoop van één of meer cryptovaluta over te gaan en daarin te beleggen. AllesOverCrypto is geen financieel adviseur en beoogt dat uitdrukkelijk ook niet te zijn.

De uitingen van AllesOverCrypto hebben uitsluitend een educatief karakter en kunnen op geen enkele wijze als financieel, juridisch of fiscaal advies worden opgevat. AllesOverCrypto is geen financieel, juridisch- en/of fiscaal adviseur. Er komt geen adviesrelatie tot stand tussen jou en AllesOverCrypto.

De door AllesOverCrypto gepresenteerde informatie is door haar met de grootste aandacht en zorg samengesteld. AllesOverCrypto kan echter niet instaan voor de juistheid en/of volledigheid ervan. Het gebruik van deze informatie gebeurt op jouw eigen risico. Je dient ervan bewust te zijn dat de gepresenteerde informatie, mede door de snelheid waarmee de cryptomarkt zich beweegt, al snel achterhaald is dan wel kan zijn. Wees hiervan bewust bij het bestuderen van de informatie. Daarnaast wordt uitdrukkelijk verzocht de informatie zelf te verifiëren.

Eenieder die in één of meer cryptovaluta wil beleggen dient zijn/haar eigen onderzoek te doen alvorens een beslissing te nemen tot aan- of verkoop van cryptovaluta. AllesOverCrypto is op geen enkele wijze bij dit proces betrokken. Uitsluitend jijzelf bent verantwoordelijk voor jouw eigen aan-en verkoopbeslissingen. Het aankopen van cryptovaluta brengt vanwege de aard van het product en de volatiliteit van de cryptomarkt grote risico’s met zich mee. Deze risico’s zijn zo groot dat het zelfs mogelijk is je hele aankoopbedrag te verliezen. Koop dus geen cryptovaluta die je niet kunt veroorloven te verliezen.