Sharding versus off-chain: wat is beter voor de schaalbaarheid van blockchain?

De schaalbaarheid van blockchain is een essentiële kwestie die de verdere acceptatie van deze revolutionaire technologie beïnvloedt. Er zijn verschillende oplossingen voor dit probleem, en in dit artikel zullen we er twee bekijken: sharding en off-chain. We zullen dit doen door te verwijzen naar voorbeelden van verschillende schaalbaarheidsprojecten: FLETA, Elrond en GEO Protocol.

sharding versus offchain

Het probleem

Het probleem van de schaalbaarheid van blockchain kan worden onderverdeeld in verschillende delen: datagrootte, transactiesnelheid en kosten.

Gegevensgrootte

Nieuwe transacties in elk blok (vooral een populaire, zoals Bitcoin of Ethereum) leiden tot constante bloktoevoegingen aan het grootboek. Dit leidt op zijn beurt tot een voortdurende toename van legacy-gegevens die moeten worden opgeslagen door de volledige knooppunten van de blockchain (aangezien dat de essentie is van gedistribueerde grootboektechnologie – DLT). Wanneer het aantal gebruikers en transacties toeneemt, neemt deze accumulatie van gegevens enorm toe en is er geen manier om het proces op de een of andere manier om te keren of te vertragen. 

Transactiesnelheid

Elke blockchain-transactie vereist peer-to-peer-verificatie door andere netwerkleden (consensusmechanisme) die aanzienlijk langzamer kunnen worden naarmate het aantal gebruikers en transacties toeneemt. Bitcoin kan slechts 6 transacties per seconde aan. Vergelijk het met Visa’s gemiddelde van 8.000 of met zijn piekcapaciteit van 43.000 transacties per seconde.

Transactiekosten

Hetzelfde geldt voor transactiekosten. We kunnen de kosten zien stijgen in tijden dat er meer gebruikers en transacties zijn op populaire blockchain-netwerken. Dat komt omdat er meer knooppunten (miners of validators) nodig zijn met de netwerkgroei om ze te verwerken (in het geval van het meest gebruikte proof-of-work – PoW – consensusmechanisme), wat meer operationele kosten met zich meebrengt. Wanneer de prijs van een bepaalde munt stijgt, zorgt het er ook voor dat de transacties die vroeger centen aan vergoedingen kosten, dollars of zelfs tientallen dollars kosten.. 

Natuurlijk zijn sommige prominente blockchains zoals Ethereum veel sneller en goedkoper dan Bitcoin, maar dit lost het probleem niet helemaal op. Het punt is dat je in blockchain decentralisatie en censuurbestendigheid kunt krijgen, maar altijd ten koste van schaalbaarheid en snelheid. Pogingen om blockchain-systemen schaalbaarder en sneller te maken, leiden tot meer centralisatie en / of minder beveiliging, wat in tegenspraak is met het idee van de technologie.

Oplossingen

Deze problemen zijn bekend en worden op een aantal verschillende manieren aangepakt, van het verbeteren van de codebase van blockchain, zachte vorken en harde vorken (die over het algemeen slechts incrementele verbeteringen toevoegt) aan verschillende Layer 2-projecten van derden gericht op het oplossen van het schaalbaarheidsprobleem van bepaalde blockchains.

Laten we slechts twee benaderingen van het schaalbaarheidsprobleem van blockchain in detail bekijken, namelijk sharding en off-chain.

Sharding-oplossing

Sharding is een manier om het schaalbaarheidsprobleem op te lossen en wordt vanwege zijn efficiëntie al heel lang gebruikt in databasebeheer. Het idee is om een ​​database op te splitsen in shards – in wezen horizontale segmenten – die elk worden opgeslagen op een aparte server die de belasting spreidt en de prestaties verbetert..

Wanneer toegepast op het blockchain-rijk (wat een relatief nieuwe benadering is), betekent sharding dat elk knooppunt slechts een bepaald deel van de blockchain-gegevens bevat en niet de hele grootboekkopie (zoals het geval is met een ‘normaal’ blockchain-systeem). Daarbij onderhouden de knooppunten die delen van de gehele blockchain op een gedeelde manier, met behoud van het gedecentraliseerde principe dat eigen is aan de DLT. Dus bij sharding bevat een enkel knooppunt niet de hele grootboekkopie en laadt ook geen informatie van de shard op alle andere knooppunten op de blockchain. 

Sharding blockchains gebruiken normaal gesproken proof-of-stake consensus-algoritmen (of een wijziging daarvan), aangezien de meer gebruikelijke proof-of-work niet samen met sharding kan worden geïmplementeerd. PoS heeft een aantal voordelen ten opzichte van PoW, zoals een aanzienlijk lager energieverbruik en geen speciale hardware nodig. Van nature, het heeft enkele gebreken ook.

Maar laten we meer illustratief worden en eens kijken naar een paar projecten die momenteel sharding gebruiken.

Elrond

elrond

Gebouwd door een team van ondernemers, ingenieurs en onderzoekers met veelzijdige ervaring bij Intel, Microsoft, Google, NTT en NEM, Elrond is een openbaar blockchain-project gericht op het bieden van schaalbaarheid – vergelijkbaar in doorvoer met gecentraliseerde systemen met behoud van een gedecentraliseerd karakter – minimale energie- en rekenvereisten en robuuste beveiliging. Het project beweert ook cross-chain interoperabiliteit te bieden die kan worden geïmplementeerd door een adaptermechanisme te gebruiken op het Ethereum Virtual Machine-niveau. (Ondanks dat het Ethereum VM gebruikt, is Elrond niet gepositioneerd als een Layer 2-project voor Ethereum – het gebruikt alleen de bestaande Ethereum-frameworks.)

Dit alles wordt bereikt door gebruik te maken van twee hoofdfuncties: Adaptive State Sharding en een Secure Proof of Stake (SPoS) consensusmechanisme.

Adaptive State Sharding is een benadering van schaalbaarheid die drie soorten sharding combineert: netwerk / communicatie, transactie / verwerking, status / opslag. Volgens het projectteam zal het de communicatie tussen de shards verbeteren, de opslag verminderen en de prestaties verhogen dankzij parallelle verwerking. Met deze benadering kan het aantal shards dynamisch worden gewijzigd op basis van beschikbare validatiebronnen en netwerkgebruik. Zo kan het netwerk zich aanpassen aan het aantal gebruikers en veranderingen eisen zonder de veiligheid, beschikbaarheid en decentralisatie in gevaar te brengen. Dit leidt tot lineaire schaalbaarheid: de schaalbaarheid van het netwerk is ontworpen om mee te groeien met het aantal knooppunten in het netwerk. De netwerkdoorvoer van Elrond is ook gemeld om 10.000 TPS te overschrijden. Tijdens de Laatste bijeenkomst, Elrond behaalde 65k TPS met 

De opkomst van een nieuwe shard is alleen mogelijk wanneer de bestaande shard 400 knooppunten bereikt. Dat wil zeggen, als er minder dan 800 knooppunten zijn, zullen er geen twee shards zijn. En als er meer dan 1.200 knooppunten zijn, worden er automatisch drie shards gemaakt.

Wat betreft Secure Proof of Stake, gebruikt Elrond in wezen een combinatie van PoS- en pBFT-consensusmechanismen. Over het algemeen is het een aangepast Byzantijns fouttolerantiemechanisme, waarbij consensus wordt bereikt als 1/3 van de knooppunten, die willekeurig zijn geselecteerd in een loterij met twee niveaus, eerlijk is, terwijl de ingezette tokens nog steeds een rol spelen bij het stemmen en zelfs met de kans om de loterij te winnen. Naast sancties en het gewicht van de stemmen, wordt een rating toegepast op de ingezette storting. Als een knooppunt zich aan de regels houdt, neemt zijn rating toe. Maar als het iets probeert te pushen dat in strijd is met de algemene consensus, daalt de rating.

elrond SPOS

Figuur 1. Elrond’s Secure Proof of Stake consensusmechanisme.

Op dit punt komt het sharding-gedeelte in het spel. Bij andere PoS-blockchains kan het ongeveer 12 seconden duren om een ​​consensusgroep te selecteren, aangezien de hele zware blockchain en talloze deelnemers erbij betrokken zijn en informatie over het hele netwerk wordt verspreid. Elrond daarentegen heeft een afzonderlijke consensusgroep in elk van zijn fragmenten, en informatie-uitwisseling voor het bereiken van consensus vindt plaats binnen elk van de groepen afzonderlijk. Als zodanig duurt het over het algemeen vier seconden om een ​​groep op te zetten en consensus te bereiken. Bovendien migreren validators voor een betere veiligheid en fouttolerantie van shard naar shard door eerst naar een soort bufferzone te gaan – de validatorspool – van waaruit ze in willekeurige volgorde aan shards worden toegewezen. Bovendien kunnen de knooppunten zelf ook in de scherven worden geschud. Vanwege deze shuffles is de letter S toegevoegd aan de naam van het consensusmechanisme van Elrond: SPoS (Secure PoS).

Na het bereiken van consensus, wanneer 2/3 + 1 handtekeningen van leden van de consensusgroep zijn verzameld, wordt het blok goedgekeurd en ondertekend met de verzamelde handtekening van de groep. Vervolgens wordt het blok door de shard gedistribueerd en wordt de header voor vastlegging naar de metachain verzonden. De rest van de scherven ontvangen informatie over elkaars toestand van de metachain.  

Elrond is momenteel in de testnet-fase (uitgebracht in mei 2019) en wil een platform worden voor eenvoudige implementatie van programmeerbaar geld en dApps. Onlangs (in juni 2019) het project ging open source.

Token verkoop: Elrond IEO is gelanceerd op het Binance-lanceerplatform en gepland op 1 juli. 

elrond testnet

Afbeelding: Elrond haalde 36kTPS tijdens een meetup

FLETA

fleta

FLETA streeft naar een duurzaam, ontwikkelaarsvriendelijk ecosysteem voor dApps. Het project probeert bestaande Layer 1-problemen, zoals schaalbaarheid en transactiesnelheid, op te lossen en nog meer decentralisatie naar blockchain te brengen. FLETA gebruikt daarvoor zijn eigen technologieën: structuur met meerdere ketens, herontwerp van blokken, parallelle sharding en een nieuw proof-of-formulation (PoF) consensusalgoritme, in tegenstelling tot de meer gebruikelijke PoW en PoS van blockchain.

Vanwege de parallelle sharding-technologie met verbeterde TPS van elke afzonderlijke shard, evenals de algehele TPS-toename wanneer het aantal shards op het netwerk toeneemt, beweert FLETA dat het tot 20.000 transacties per seconde kan verwerken. Dat is de hoogste TPS tot nu toe onder bestaande blockchain-projecten, bijna twee keer zoveel als de piek-TPS van het Elrond-testnet (waarnaar hierboven wordt verwezen), en kan nu al worden vergeleken met gecentraliseerde systemen zoals het eerder genoemde Visa. Met 500 shards kan het FLETA-netwerk 10 miljoen transacties per seconde verwerken!

Shards op het FLETA-netwerk kunnen parallel werken, zonder dubbele uitgaven, aangezien elke afzonderlijke shard wordt gescheiden en de gegevens niet onderling worden gedeeld. Dus blijkbaar verhoogt het de decentralisatie in vergelijking met andere blockchain-projecten, waaronder Elrond, waar scherven overdreven verbonden zijn via de metachain (zie hierboven). 

FLETA maakt ook gebruik van een onafhankelijke structuur met meerdere ketens, waarbij subketens zijn gescheiden van de hoofdketen. Dit vermindert de overbelasting van de hoofdketen drastisch, evenals buitensporige vergoedingen voor dApp-gebruikers en buitensporige ontwikkelingskosten. Afgezien van de hoofdketen, bestaat de multi-chain-structuur van FLETA uit een token-keten en een dApp-keten.

De belangrijkste keten is waar de uitgiftetransactie plaatsvindt. Het creëert het uitgiftecontract en ontvangt tokens. De tokens worden op hun beurt verhandeld op de token-keten, die ook het bloknummer en de hash-waarde van de hoofdketen vermeldt om een ​​nieuw blok te maken. Bovendien kan de token-keten een subketen maken om dApps uit te voeren.

Het meest interessante punt over FLETA is het nieuwe consensusmechanisme: de PoF, die wordt gebruikt om onnodige vorken te voorkomen.

fleta PoF

Fig. 2. FLETA’s Proof-of-Formulation consensusmechanisme.

Er zijn formuleerders die rechtstreeks verantwoordelijk zijn voor het genereren van blokken; waarnemers wie de blokkades verifiëren; en tenslotte, toestemmers die het eens zijn over de volgorde van het genereren van blokken.

De consensus bestaat uit een block mining-procedure, waarbij blokken in een bepaalde volgorde worden gegenereerd (overeengekomen door de toestemmers). Er is een groep van 20 formuleerders met een rangorde van 1 tot 20 die wordt bepaald door hun score, die de mijnbouw van de formuleerder en de beloningsvolgorde bepaalt. 

Volgens de ontwikkelaars vermindert deze procedure het verspreidingsbereik van het blok, wat resulteert in een snellere generatie van blokken. Het waarnemerknooppunt biedt onmiddellijke bevestigingen en voorkomt mogelijke forks. Het netwerk wordt dus verondersteld stabiel te worden en de transactiesnelheid wordt verhoogd. Alleen tijd en praktijk zullen echter uitwijzen of dit nieuwe consensusmechanisme effectiever is dan meer traditionele.

FLETA pakt ook het interoperabiliteitsprobleem niet aan zoals Elrond.

Off-chain oplossing

Hoewel de sharding-benadering probeert de schaalbaarheid van blockchain van binnenuit te verbeteren, zijn er alternatieven die het probleem meer ontwrichtend benaderen. Off-chain is een van de meest ‘radicale’ vanuit een Layer 1 blockchain-perspectief. Maar het brengt een aantal belangrijke verbeteringen en nieuwe mogelijkheden met zich mee die de acceptatie naar nieuwe hoogten kunnen tillen.

Sharding maakt nog steeds gebruik van een enkele gedistribueerde database, die gebruikelijk is voor het hele netwerk en bepaalde beperkingen met zich meebrengt door het ontwerp. Ook brengt de opsplitsing van de database in afzonderlijke shards het nieuwe probleem met zich mee van effectieve en veilige synchronisatie van de onderdelen tussen elkaar, waardoor nog een ander punt van mogelijke mislukking aan het hele systeem wordt toegevoegd.. 

Aan de andere kant lost de off-chain benadering zowel schaalbaarheid als interoperabiliteitsproblemen van blockchain (en niet-blockchain) systemen op, verbetert de snelheid en doorvoerbeperkingen, verhoogt de privacy en maakt het systeem nog minder gecentraliseerd om uit te breiden wanneer het echt gedistribueerd wordt..  

Laten we dus een voorbeeld bekijken om een ​​dieper inzicht te krijgen in hoe dit alles kan worden geïmplementeerd.

GEO Protocol

geo-protocol

GEO-protocol is een open source-infrastructuurprotocol dat op een lichtgewicht, kostenefficiënte manier interoperabiliteit van waardeoverdrachtsnetwerken biedt en tevens een vrijwel onbeperkte schaalbaarheid mogelijk maakt. Het belangrijkste doel van het project is om een transportprotocol voor het toekomstige internet van waarde.

Om dit te bereiken, moet het basisprobleem van de schaalbaarheid van blockchain uiteindelijk eerst worden opgelost en vervolgens moet het interoperabiliteitsprobleem van de anderszins geïsoleerde blockchain-ecosystemen, evenals het gebrek aan verbinding van de blockchain-wereld met de wereld van traditionele financiën, worden aangepakt. Het GEO-protocol pakt beide problemen aan, maar hier zullen we ons meer concentreren op het deel van de schaalbaarheid.

Het belangrijkste knelpunt met blockchain-systemen in termen van schaalbaarheid is het gemeenschappelijke grootboek zelf, evenals de behoefte aan algemene consensus van deze of dat soort.

Omdat GEO Protocol blockchain-agnostisch is, berooft het zichzelf helemaal van een gemeenschappelijk grootboek en vertrouwt het op een volledig gedistribueerd netwerk van knooppunten en een ontwrichtende lokale consensusbenadering, waarbij alleen de knooppunten die rechtstreeks deelnemen aan een transactie die transactie daadwerkelijk bevestigen. Speciale entiteiten – waarnemers – de atomiciteit van betalingen tussen de ketens garanderen en deze worden alleen aangepakt in het zeldzame geval van mogelijke conflicten die het gevolg kunnen zijn van netwerkconnectiviteitsproblemen voor bepaalde knooppunten enz..

geo offchain

Fig. 3. GEO Protocol netwerkstructuur.

Bovendien wordt alle transactiegerelateerde informatie alleen lokaal opgeslagen door deelnemende knooppunten. Noch het netwerk als geheel, noch waarnemers, noch enige andere deelnemers zijn op de hoogte van de inhoud van een bepaalde transactie of weten zelfs maar van het bestaan ​​ervan.

Dit maakt ultieme privacy mogelijk, evenals mogelijkheden om het netwerk bijna eindeloos te schalen, aangezien er geen centrale autoriteit is die het netwerk controleert, en zelfs geen gedistribueerde autoriteit (zoals miners of validators in op blockchain gebaseerde systemen). Het GEO-netwerk is dus volledig gedecentraliseerd en toch kan het volledige functionaliteit en werking bieden zoals het hoort.

In termen van doorvoer, aangezien het niet nodig is om onnodig buitensporige informatie over de netwerken te delen, zal elk betalingspad afzonderlijk en onafhankelijk functioneren. De toename van het aantal transacties heeft dus geen invloed op de algehele TPS van het netwerk. 

Een toename van het aantal GEO-netwerkgebruikers en -deelnemers zal alleen maar meer betalingspadmogelijkheden en meer kanaalliquiditeit creëren, waardoor het netwerkeffect en de algehele efficiëntie van het netwerk worden versterkt.

Elke blockchain kan dus het GEO-netwerk gebruiken voor zijn eigen schaalbaarheid en voor interoperabiliteit met andere blockchain- en niet-blockchain-ecosystemen. En vanuit het oogpunt van het netwerk kan blockchain dienen als de asset-ondersteunende laag voor GEO-asset-equivalenten. Dit leidt tot een gezonde symbiotische relatie tussen systemen van verschillende typen op het wereldwijde internet van waarde.

Conclusie

Schaalbaarheid is een van de belangrijkste problemen die de massale acceptatie van blockchain-technologie in de weg staan. Deze uitdaging kan verschillende oplossingen hebben, waaronder sharding en off-chain. Elk van deze heeft zijn voor- en nadelen. 

Hoewel sharding de schaalbaarheid van blockchain aanzienlijk verbetert, is het nog steeds sterk afhankelijk van het algemene grootboek, een probleem dat je niet echt van binnenuit kunt oplossen. Off-chain elimineert dit volledig, wordt blockchain-agnostisch, heft de meeste doorvoerbeperkingen op en maakt interoperabiliteit mogelijk.

Aan de andere kant hebben off-chain oplossingen nog steeds blockchain nodig vanwege hun onbetrouwbare karakter en andere voordelen. Het goede hier is dat we niet hoeven te kiezen tussen manieren om het schaalbaarheidsprobleem op te lossen, omdat ze efficiënt kunnen samenwerken en nieuwe mogelijkheden bieden voor alle crypto-netwerken..