Sharding vs Off-Chain: Hva er bedre for Blockchain-skalerbarhet?

Blockchain-skalerbarhet er et viktig problem som påvirker videre bruk av denne revolusjonerende teknologien. Det er forskjellige løsninger på dette problemet, og i denne artikkelen vil vi vurdere to av dem: sharding og off-chain. Vi vil gjøre det ved å referere til eksempler på flere skalerbarhetsprosjekter: FLETA, Elrond og GEO Protocol.

skjæring vs offchain

Problemet

Problemet med blockchain-skalerbarhet kan deles inn i flere deler: datastørrelse, transaksjonshastighet og kostnad.

Datastørrelse

Nye transaksjoner i hver blokk (spesielt en populær, som Bitcoin eller Ethereum) fører til stadige blokkeringer i hovedboken. Dette fører igjen til en fortsatt økning av eldre data som skal lagres av blockchainens fulle noder (siden det er selve essensen av distribuert ledgerteknologi – DLT). Når antallet brukere og transaksjoner øker, svulmer denne opphopningen av data enormt, og det er ingen måte å reversere eller bremse prosessen. 

Transaksjonshastighet

Hver blockchain-transaksjon krever peer-to-peer-verifisering av andre nettverksmedlemmer (konsensusmekanisme) som kan bli betydelig tregere når antall brukere og transaksjoner vokser. Bitcoin kan bare håndtere 6 transaksjoner per sekund. Sammenlign det med Visas gjennomsnitt på 8000 eller med sin maksimale kapasitet på 43.000 transaksjoner per sekund.

Transaksjons kostnader

Det samme gjelder transaksjonskostnader. Vi kan se kostnadene stige i tider når det er flere brukere og transaksjoner på populære blockchain-nettverk. Det er fordi det trengs flere noder (gruvearbeidere eller validatorer) med nettverksveksten for å behandle dem (i tilfelle den mest brukte beviset på arbeid – PoW – konsensusmekanisme) som innebærer flere driftskostnader. Når prisen på en bestemt mynt vokser, gjør det også at transaksjonene som før kostet cent i gebyrer koster dollar eller til og med dusinvis av dollar.. 

Selvfølgelig er noen fremtredende blokkjeder som Ethereum mye raskere og billigere enn Bitcoin – men dette løser ikke problemet helt. Saken er at i blockchain kan du få desentralisering og sensurmotstand, men alltid til en pris av skalerbarhet og hastighet. Forsøk på å gjøre blockchain-systemer mer skalerbare og raske ved design fører til mer sentralisering og / eller mindre sikkerhet, noe som strider mot selve ideen til teknologien.

Løsninger

Disse problemene er velkjente og adressert på en rekke forskjellige måter, fra å forbedre blockbains kodebase, myke gafler og harde gafler (som generelt bare tilføyer inkrementelle forbedringer) til forskjellige tredjeparts Layer 2-prosjekter som tar sikte på å løse skalerbarhetsproblemet for bestemte blokkjeder.

La oss gå gjennom i detalj bare to tilnærminger til blockchain-skalerbarhetsproblemet, nemlig skjæring og utenfor kjeden.

Skjæringsløsning

Sharding er en måte å løse skalerbarhetsproblemet på, og det har vært brukt i lang tid i databasestyring på grunn av effektiviteten. Tanken er å dele en database i skjær – i hovedsak horisontale segmenter – som hver er lagret på en egen server som sprer belastningen og forbedrer ytelsen.

Når den brukes på blockchain-riket (som er en relativt ny tilnærming), betyr sharding at hver node bare inneholder en viss del av blockchain-dataene og ikke hele reskontokopien (som det er tilfelle med et ‘normalt’ blockchain-system). Ved å gjøre dette opprettholder nodene de delene av hele blockchain på en delt måte, og bevarer det desentraliserte prinsippet som er innfødt til DLT. I sharding inneholder en enkelt node verken hele reskontokopien eller laster informasjon om sharden på alle andre noder i blockchain. 

Sharding blockchains bruker vanligvis proof-of-stake konsensusalgoritmer (eller en modifisering av disse), siden det vanligste proof-of-work ikke er mulig å implementere sammen med sharding. PoS har en rekke fordeler fremfor PoW, som betydelig lavere energiforbruk og ikke behov for spesiell maskinvare. Naturlig, det har noen feil også.

Men la oss få mer illustrerende og vurdere noen få prosjekter som for øyeblikket bruker skjæring.

Elrond

elrond

Bygget av et team av gründere, ingeniører og forskere med allsidig erfaring fra Intel, Microsoft, Google, NTT og NEM, Elrond er et offentlig blockchain-prosjekt som fokuserer på å tilby skalerbarhet – sammenlignbar i gjennomstrømning til sentraliserte systemer mens du beholder en desentralisert natur – minimale energi- og beregningskrav og robust sikkerhet. Prosjektet hevder også å tilby tverrkjedet interoperabilitet som kan implementeres ved hjelp av en adaptermekanisme på Ethereum Virtual Machine-nivå. (Til tross for at den bruker Ethereum VM, er Elrond ikke posisjonert som et Layer 2-prosjekt for Ethereum – det bruker bare de eksisterende Ethereum-rammene.)

Alt dette oppnås ved å bruke to viktige funksjoner: Adaptive State Sharding og en Seco Proof of Stake (SPoS) konsensusmekanisme.

Adaptive State Sharding er en tilnærming til skalerbarhet som kombinerer tre sharding-typer: nettverk / kommunikasjon, transaksjon / behandling, tilstand / lagring. I følge prosjektgruppen vil det forbedre kommunikasjonen mellom skjærene, redusere lagring og øke ytelsen takket være parallell behandling. Denne tilnærmingen tillater at antall skjær endres dynamisk etter tilgjengelige valideringsressurser og nettverksbruk. Dermed kan nettverket tilpasse seg antall brukere og kreve endringer uten å gå på bekostning av sikkerhet, tilgjengelighet og desentralisering. Dette fører til lineær skalerbarhet: Skalerbarhet i nettverket er designet for å vokse med antall noder i nettverket. Elronds nettverksgjennomstrømning er også rapportert å overstige 10.000 TPS. I løpet av Siste møte, Elrond oppnådde 65k TPS med 

Fremveksten av en ny skjær er bare mulig når den eksisterende skjær når 400 noder. Det vil si at hvis det er mindre enn 800 noder, vil det ikke være to skjær. Og hvis det er mer enn 1200 noder, opprettes tre skjær automatisk.

Når det gjelder Secure Proof of Stake, bruker Elrond i hovedsak en blanding av PoS og pBFT-konsensusmekanismer. Generelt er det en modifisert bysantinsk feiltoleransemekanisme, hvor konsensus oppnås hvis 1/3 av nodene, som er tilfeldig valgt et to-nivå lotteri, er ærlige, mens de innsatte tokens fremdeles spiller en rolle i avstemningen og selv i sannsynligheten for å vinne i lotteriet. I tillegg til straffer og vekten av avstemningen, blir en vurdering brukt på det innsatte innskuddet. Hvis en node spiller etter reglene, vokser dens rangering. Men hvis den prøver å presse noe som motarbeider den generelle konsensus, faller vurderingen.

elrond SPOS

Figur 1. Elronds Secure Proof of Stake konsensusmekanisme.

På dette tidspunktet kommer den skjærende delen inn i bildet. I andre PoS-blokkeringer kan det ta rundt 12 sekunder å velge en konsensusgruppe, siden hele den tunge blockchain og mange deltakere er involvert, og informasjon distribueres i hele nettverket. Elrond har derimot en egen konsensusgruppe i hver av sine skjær, og informasjonsutveksling for å oppnå konsensus skjer innen hver av gruppene hver for seg. Generelt sett tar det fire sekunder å sette opp en gruppe og oppnå konsensus. Videre, for bedre sikkerhet og feiltoleranse, migrerer validatorer fra skjær til skjær ved å bevege seg inn i en slags buffersone først – valideringsbassenget – hvorfra de tildeles skjær i tilfeldig rekkefølge. Pluss at nodene selv kan også blandes i skjærene. På grunn av disse blandingene har bokstaven S blitt lagt til navnet på Elronds konsensusmekanisme: SPoS (Secure PoS).

Etter at konsensus er oppnådd, når 2/3 + 1 signaturer fra medlemmer av konsensusgruppen samles inn, blir blokken godkjent og signert med gruppens samlede signatur. Deretter distribueres blokken gjennom skjæret, og overskriften blir sendt til metakjeden for kommisjon. Resten av skjærene mottar informasjon om hverandres tilstand fra metakjeden.  

Elrond er for tiden i testnet fase (utgitt i mai 2019) og har som mål å bli en plattform for enkel distribusjon av programmerbare penger og dApps. Nylig (i juni 2019) prosjektet gikk åpen kildekode.

Token Salg: Elrond IEO har blitt lansert på Binance launchpad og planlagt 1. juli. 

elrond testnet

Bilde: Elrond oppnådde 36kTPS under et møte

FLETA

fleta

FLETA har som mål å gi et bærekraftig, utviklervennlig økosystem for dApps. Prosjektet prøver å løse eksisterende Layer 1-problemer som skalerbarhet og transaksjonshastighet, samt bringe enda mer desentralisering til blockchain. FLETA benytter sine egne teknologier for det: flerkjedestruktur, redesign av blokkering, parallell sharding og en ny konsensusalgoritme for proof-of-formulering (PoF), i motsetning til blockchains vanligste PoW og PoS.

På grunn av sin parallelle skjæringsteknologi med forbedret TPS for hvert enkelt skjær, samt den totale TPS-økningen når antall skjær i nettverket stiger, hevder FLETA at den kan håndtere opptil 20 000 transaksjoner per sekund. Det er den høyeste TPS til dags dato blant eksisterende blockchain-prosjekter, nesten dobbelt så mye som topp-TPS i Elrond testnet (referert til ovenfor), og kan allerede sammenlignes med sentraliserte systemer som det nevnte Visa. Med 500 skjær er FLETA-nettverket i stand til å håndtere 10 millioner transaksjoner per sekund!

Skjær på FLETA-nettverket kan operere parallelt uten dobbeltbruk, siden hver enkelt skjær er skilt og dataene ikke deles mellom dem. Så tilsynelatende øker det desentralisering sammenlignet med andre blockchain-prosjekter, inkludert Elrond, hvor skjær er altfor koblet gjennom metamaskinen (se ovenfor). 

Dessuten bruker FLETA en uavhengig flerkjedestruktur, der underkjeder er atskilt fra hovedkjeden. Dette reduserer overbelastningen av hovedkjeden drastisk sammen med store avgifter for dApp-brukere, samt for store utviklingskostnader. Bortsett fra hovedkjeden, består FLETAs flerkjedestruktur av en tokenkjede og dApp-kjede.

Hovedkjeden er der emisjonstransaksjonen skjer. Det oppretter emisjonskontrakten og mottar tokens. Tokene blir i sin tur handlet på tokenkjeden, som også viser blokknummeret og hashverdien til hovedkjeden for å opprette en ny blokk. I tillegg kan tokenkjeden opprette en underkjede for å kjøre dApps.

Det mest interessante punktet om FLETA er dens nye konsensusmekanisme – PoF, som brukes til å forhindre unødvendige gafler.

fleta PoF

Fig. 2. FLETAs konsistensmekanisme for bevis for formulering.

Det er formulatorer som er direkte ansvarlige for blokkgenerering; observatører som verifiserer blokkene; og endelig, samtykke som er enige om blokkgenereringssekvensen.

Konsensusen består av en blokkeringsprosedyre, der blokker blir generert i en bestemt rekkefølge (avtalt av samtykkerne). Det er en gruppe på 20 formulatorer med rangeringer fra 1 til 20 som er definert av poengsummen deres, som bestemmer gruvedrift og belønningssekvens. 

I følge utviklerne reduserer denne prosedyren blokkens formidlingsområde, noe som resulterer i raskere blokkgenerering. Observatørnoden gir øyeblikkelig bekreftelse og forhindrer potensielle gafler. Dermed skal nettverket bli stabilt og transaksjonshastigheten økes. Imidlertid vil bare tid og praksis vise om denne nye konsensusmekanismen er mer effektiv enn mer tradisjonelle.

FLETA tar heller ikke opp interoperabilitetsproblemet slik Elrond gjør.

Off-chain løsning

Mens sharding-tilnærmingen prøver å forbedre blockchain-skalerbarhet innenfra, er det alternativer som tar en mer forstyrrende tilnærming til problemet. Off-chain er en av de mest ‘radikale’ fra et lag 1-blockchain-perspektiv. Men det bringer en rekke store forbedringer og nye muligheter som kan føre adopsjon til nye høyder.

Sharding bruker fortsatt en enkelt distribuert database, som er vanlig for hele nettverket og pålegger spesielle begrensninger av design. Inndelingen av databasen i separate skjær bringer også opp det nye problemet med effektiv og sikker synkronisering av delene mellom hverandre, og tilfører enda et punkt med potensiell feil i hele systemet.. 

På den annen side løser tilnærmingen utenfor kjeden både skalerbarhets- og interoperabilitetsproblemer i blockchain (og ikke-blockchain) -systemer, forbedrer hastighets- og gjennomstrømningsbegrensninger, øker personvernet og gjør systemet enda mindre sentralisert for å utvide når det blir virkelig distribuert.  

Så la oss se på et eksempel for å få et dypere innblikk i hvordan alt dette kan implementeres.

GEO Protokoll

geo-protokoll

GEO-protokoll er en åpen kildekode-infrastrukturprotokoll som gir interoperabilitet mellom verdioverføringsnettverk på en lett, kostnadseffektiv måte, samt muliggjør praktisk talt ubegrenset skalerbarhet. Hovedmålet med prosjektet er å lage en transportprotokoll for fremtidens internett av verdi.

For å oppnå dette, bør det grunnleggende problemet med blockchain-skalerbarhet til slutt løses først, og deretter bør interoperabilitetsproblemet til de ellers silede blockchain-økosystemene, samt mangel på forbindelse mellom blockchain-verdenen og verden av tradisjonell økonomi, behandles. GEO Protocol adresserer begge problemene, men her vil vi konsentrere oss om skalerbarhetsdelen mer.

Hovedflaskehalsen med blockchain-systemer når det gjelder skalerbarhet er selve hovedboksen, samt behovet for generell enighet av denne eller den typen.

Å være blockchain-agnostiker, fratar GEO Protocol seg av en felles hovedbok helt, avhengig av et fullt distribuert nettverk av noder og en forstyrrende lokal konsensustilnærming, der bare nodene som direkte deltar i en transaksjon faktisk bekrefter den transaksjonen. Spesielle enheter – observatører – garanterer tverrkjeden atomicitet for betalinger og adresseres bare i sjeldne tilfeller av mulige konflikter som kan være et resultat av nettverksforbindelsesproblemer for bestemte noder osv..

geo offchain

Fig. 3. GEO Protocol-nettverksstruktur.

I tillegg lagres all transaksjonsrelatert informasjon kun av deltagende noder. Verken nettverket som helhet, observatører eller andre deltakere er klar over innholdet i en bestemt transaksjon eller vet til og med om dens eksistens.

Dette muliggjør ultimat privatliv, samt muligheter for å skalere nettverket nesten uendelig, siden det ikke er noen sentral myndighet som kontrollerer nettverket, og ikke engang en distribuert (som gruvearbeidere eller validatorer i blockchain-baserte systemer). Dermed er GEO-nettverket helt desentralisert, og likevel kan det gi fullskala funksjonalitet og drift som det skal.

Når det gjelder gjennomstrømning, siden det ikke er behov for å dele overdreven informasjon på tvers av nettverkene, vil hver betalingsbane fungere separat og uavhengig. Dermed påvirker ikke økningen i antall transaksjoner nettets totale TPS. 

En økning i antall GEO-nettverksbrukere og deltakere vil bare skape flere betalingsmuligheter og mer kanallikviditet, styrke nettverkseffekten og den generelle effektiviteten til nettverket.

Dermed kan enhver blockchain bruke GEO-nettverket for sin egen skalerbarhet, samt for interoperabilitet med andre blockchain og ikke-blockchain økosystemer. Og fra nettverkets synspunkt kan blockchain fungere som eiendelestøttelag for GEO-eiendelekvivalenter. Dette fører til et sunt symbiotisk forhold mellom systemer av forskjellige typer på det globale verdiverdien.

Konklusjon

Skalerbarhet er et av de viktigste problemene som står i veien for masseadopsjon av blockchain-teknologi. Denne utfordringen kan ha forskjellige løsninger, inkludert skjæring og off-chain. Hver av disse har sine fordeler og ulemper. 

Sharding, mens det i stor grad forbedrer blockchain-skalerbarhet, er fortsatt sterkt avhengig av den felles hovedboken, et problem du egentlig ikke kan overvinne innenfra. Off-chain eliminerer dette helt, blir blockchain agnostiker, løfter det meste av gjennomstrømningsbegrensningene og muliggjør interoperabilitet.

På den annen side krever fortsatt off-chain-løsninger blockchain for deres pålitelige natur og andre fordeler. Det gode her er at vi ikke trenger å velge mellom måter å løse skalerbarhetsproblemet på, siden de effektivt kan samarbeide og bringe nye muligheter til alle kryptonettverk..