Blockchain-schaalbaarheid: wanneer, waar en hoe?

Blockchain-schaalbaarheid, een heel reëel probleem!

(als je het probleem wilt helpen oplossen, bekijk dan onze blockchain-cursussen en begin met experimenteren)

Cryptocurrencies worden steeds meer mainstream. Laten we eens kijken hoe populair bitcoin en ethereum in de loop van de tijd zijn geworden. Dit is een grafiek van het aantal dagelijkse bitcoin-transacties dat door de jaren heen wordt gevolgd:

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Hoffelijkheid van afbeeldingen: Wikipedia

En hier hebben we het aantal Ethereum-transacties per maand door de jaren heen:

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Hoffelijkheid afbeelding: Etherscan

Dit ziet er misschien erg indrukwekkend uit, maar hier is het punt: het oorspronkelijke ontwerp van cryptocurrencies was niet bedoeld voor wijdverbreid gebruik en aanpassing. Hoewel het beheersbaar was toen het aantal transacties minder was, zijn er naarmate ze populairder zijn geworden, een groot aantal problemen naar voren gekomen.

Train om een ​​Blockchain-ontwikkelaar te worden

Start vandaag nog met uw gratis proefperiode!

Het schaalbaarheidsprobleem van cryptocurrencies

Om bitcoin en ethereum te laten concurreren met meer reguliere systemen zoals visa en paypal, moeten ze hun spel serieus opvoeren als het gaat om transactietijden. Terwijl PayPal 193 transacties per seconde beheert en Visa 1667 transacties per seconde beheert, doet ethereum slechts 20 transacties per seconde, terwijl bitcoin maar liefst 7 transacties per seconde beheert! De enige manier waarop deze cijfers kunnen worden verbeterd, is door te werken aan hun schaalbaarheid.


Als we de belangrijkste schaalbaarheidsproblemen in de cryptocurrencies zouden categoriseren, zouden ze zijn:

  • Het kost tijd om een ​​transactie in het blok te plaatsen.
  • De tijd wordt genomen om tot een consensus te komen.

De tijd die nodig is om een ​​transactie in het blok te zetten

In bitcoin en ethereum gaat een transactie door wanneer een miner de transactiegegevens in de blokken plaatst die ze hebben gedolven. Dus stel dat Alice 4 BTC naar Bob wil sturen, zij zal deze transactiegegevens naar de mijnwerkers sturen, de mijnwerker zal het dan in hun blok plaatsen en de transactie wordt als voltooid beschouwd..

Naarmate bitcoin echter steeds populairder wordt, wordt dit tijdrovender. Bovendien is er ook de kleine kwestie van transactiekosten. Zie je, wanneer mijnwerkers een blok delven, worden ze tijdelijke dictators van dat blok. Als u wilt dat uw transacties doorgaan, moet u tol betalen aan de verantwoordelijke mijnwerker. Deze “tol” wordt transactiekosten genoemd.

Hoe hoger de transactiekosten, hoe sneller de miners ze in hun blok plaatsen. Hoewel dit ok is voor mensen die een enorme opslagplaats aan bitcoins hebben, is het misschien niet de financieel meest haalbare optie. In feite is hier een interessante studie voor jou. Dit is de hoeveelheid tijd die mensen moesten wachten als ze de laagst mogelijke transactiekosten betaalden:

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Als u de laagst mogelijke transactiekosten betaalt, moet u wachten op een mediane tijd van 13 minuten voordat uw transactie doorgaat.

Vaker wel dan niet moesten de transacties wachten tot een nieuw blok werd gedolven (dat is 10 minuten in bitcoin), omdat de oudere blokken vol zouden lopen met transacties. Bitcoin heeft een maximale grootte van 1 mb (dit wordt later uitgebreid), wat de transactiecapaciteit ernstig beperkt.

Oké, dus hoe zit het met ethereum?

Theoretisch gezien zou Ethereum 1000 transacties per seconde moeten verwerken. In de praktijk wordt ethereum echter beperkt door een limiet van 6,7 miljoen gas per blok.

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Denk aan deze situatie om te begrijpen wat “gas” betekent. Alice heeft een slim contract voor Bob afgegeven. Bob ziet dat de elementen in het contract X hoeveelheid gas gaan kosten. Gas betekent de hoeveelheid rekenkracht van Bob. Dienovereenkomstig zal hij Alice in rekening brengen voor de hoeveelheid gas die hij heeft verbruikt.

Dit is hoe de gasprijsgrafiek eruit ziet:

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Met dank aan: Etherscan.

Wat betekent dit voor de schaalbaarheid van Blockchain?

Aangezien elk blok een gaslimiet heeft, kunnen de mijnwerkers alleen transacties toevoegen waarvan de gasbehoefte overeenkomt met iets dat gelijk is aan of kleiner is dan de gaslimiet van het blok..

Ethereum gas limiet

Nogmaals, een aantal transacties die doorgaan, is beperkt.

De tijd die nodig is om tot een consensus te komen

Momenteel zijn alle op blockchain gebaseerde valuta’s gestructureerd als een peer-to-peer-netwerk. De deelnemers, oftewel de knooppunten, krijgen geen extra speciale privileges. Het idee is om een ​​egalitair netwerk te creëren. Er is geen centrale autoriteit en ook geen hiërarchie. Het is een platte topologie.

Alle gedecentraliseerde cryptocurrencies zijn op deze manier gestructureerd vanwege een simpele reden, om trouw te blijven aan hun filosofie. Het idee is om een ​​valutasysteem te hebben, waarin iedereen als gelijk wordt behandeld en er geen bestuursorgaan is dat op basis van een gril de waarde van de valuta kan bepalen. Dit geldt voor zowel bitcoin als ethereum.

Als er nu geen centrale entiteit is, hoe zou iedereen in het systeem dan te weten komen dat een bepaalde transactie heeft plaatsgevonden? Het netwerk volgt het roddelprotocol. Bedenk hoe roddels zich verspreiden. Stel dat Alice 3 ETH naar Bob heeft gestuurd. De knooppunten die het dichtst bij haar in de buurt zijn, zullen dit te weten komen, en dan zullen ze de knooppunten het dichtst bij hen vertellen, en dan zullen ze het hun buren vertellen, en dit zal zich blijven verspreiden totdat iedereen het weet. Knopen zijn in feite uw nieuwsgierige, irritante familieleden.

Onthoud dat de knooppunten een betrouwbaar systeem volgen. Dit betekent dat het feit dat knooppunt A zegt dat een transactie geldig is, niet betekent dat knooppunt B denkt dat dit zo is. Knooppunt B zal zijn eigen reeks berekeningen uitvoeren om te zien of de transactie daadwerkelijk geldig is of niet. Dit betekent dat elk knooppunt zijn eigen kopie van de blockchain moet hebben om ze daarbij te helpen. Zoals u zich kunt voorstellen, verloopt het hele proces hierdoor erg traag.

Het probleem is dat, in tegenstelling tot andere stukjes technologie, hoe meer het aantal knooppunten in een cryptocurrency-netwerk toeneemt, hoe langzamer het hele proces wordt. Consensus vindt plaats op een lineaire manier, wat betekent dat er drie knooppunten A, B en C zijn.

Om consensus te bereiken, zou eerst A de berekeningen uitvoeren en verifiëren en dan B zal hetzelfde doen en dan C.

Als er echter een nieuw knooppunt in het systeem is met de naam “D”, zou dat nog een knooppunt toevoegen aan het consensussysteem, waardoor de totale tijdsperiode toeneemt. Naarmate cryptocurrencies populairder zijn geworden, zijn de transactietijden langzamer geworden.

Dit is vooral een probleem met ethereum, omdat het het meeste aantal knooppunten heeft van alle cryptocurrencies. Dankzij de ICO-rage wil iedereen een stukje ethereum hebben, waardoor het aantal knooppunten in zijn netwerk aanzienlijk is toegenomen. In feite had ethereum vanaf mei 2017 25.000 knooppunten in vergelijking met de 7000 van Bitcoin !! Dat is meer dan drie keer. In feite neemt het aantal knooppunten van april tot mei toe met 81% … dat is bijna het dubbele!

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Hoffelijkheid afbeelding: Trust Nodes.

Dus wat zijn de oplossingen voor de schaalbaarheidsproblemen van Blockchain??

Zowel ethereum als Bitcoins hebben een groot aantal oplossingen bedacht die al zijn of zullen worden geïmplementeerd. Laten we enkele van de belangrijkste bespreken.

Degenen die we zullen behandelen zijn:

  • Segwit.
  • Blokgrootte vergroten.
  • Sharding.
  • Bewijs van inzet.
  • Kanalen buiten de keten.
  • Plasma

Segwit (exclusief alleen voor bitcoin)

Dr.Peter Wiulle van Blockstream zag Segwit als een van de kenmerken van de zijketen die parallel loopt aan de belangrijkste bitcoin-blockchain.

sidechain-diagram

Het activeren van Segwit oftewel Segregated Witness zou betekenen dat alle handtekeninggegevens van elke transactie van de hoofdketen naar de zijketen gaan. Wat bedoelen we met handtekeninggegevens? Laten we eens kijken naar de gegevens achter de schermen van een transactie:

De transactiegegevenscode

Dit is hoe de transactie eruit ziet in het codeformulier. Stel dat Alice 0,0015 BTC naar Bob wil sturen en om dit te doen, stuurt ze inputs die 0,0015770 BTC waard zijn. Dit is hoe het transactiedetail eruit ziet:

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Met dank aan: djp3 youtube-kanaal.

Het eerste dat je ziet:

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Is de naam van de transactie oftewel de hash van de invoer- en uitvoerwaarde.

  • Vin_sz is het aantal invoergegevens, aangezien Alice de gegevens verzendt met slechts één van haar eerdere transacties, is het 1.
  • Vout_sz is 2 omdat de enige outputs Bob en de verandering zijn.

Dit zijn de invoergegevens:

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Zie de invoergegevens? Alice gebruikt slechts één invoertransactie omdat vin_sz 1 is. De invoergegevens zijn 0,0015770 BTC.

Onder de invoergegevens staan ​​haar handtekeninggegevens (onthoud dit voor de volgende sectie)

Onder dit alles staan ​​de uitvoergegevens:

  • Het eerste deel van de gegevens geeft aan dat Bob 0,0015 BTC krijgt.
  • Het tweede deel geeft aan dat 0.00005120 BTC is wat Alice terugkrijgt als wisselgeld.
  • Onthoud nu dat onze invoergegevens 0,0015770 BTC waren? Dit is groter dan (0,0015 + 0,00005120). Het tekort van deze twee waarden is de transactiekost die de mijnwerkers innen.

Dit is de anatomie van een eenvoudige transactie.

Dus wat gebeurt er bij het activeren van Segwit?

Het probleem met deze handtekeninggegevens is dat ze erg omvangrijk zijn. In feite is 65% van de gegevens die door de transactie worden opgenomen, te wijten aan de handtekening. En deze gegevens zijn alleen nuttig voor het eerste verificatieproces, ze zijn later helemaal niet nodig.

Dus wat gebeurt er bij het activeren van Segwit?

De handtekeninggegevens gaan van de hoofdketen naar het uitgebreide blok in de parallelle keten:

Wat dit zal doen, is dat het veel ruimte in het blok zelf vrijmaakt voor meer transacties.

Het was de bedoeling dat de handtekeninggegevens zouden worden gerangschikt in de vorm van een Merkle-boom in de zijketen. De Merkle-root van de transacties werd samen met de coinbase-transactie in het blok geplaatst (de eerste transactie in elk blok die in feite de blokbeloning aangeeft). Toen ze dit deden, kwamen de ontwikkelaars echter iets onverwachts tegen. Ze ontdekten dat bij het plaatsen van de merkle-root op die specifieke plaats, ze op de een of andere manier de totale blokgroottelimiet verhoogden ZONDER de blokgroottelimiet te verhogen!

Vanaf 24 augustus 2017 werd segwit geactiveerd op bitcoin. Laten we eens kijken wat Segwit daarover te zeggen had:

Wat is Segwit? Een spoedcursus voor beginners!

Met dank aan: segwit.co

Voors en tegens van Segwit

Voordelen van segwit:

  • Verhoogt een aantal transacties dat een blok kan aannemen.
  • Verlaagt transactiekosten.
  • Verkleint de omvang van elke afzonderlijke transactie.
  • Transacties kunnen nu sneller worden bevestigd omdat de wachttijd zal afnemen.
  • Helpt bij de schaalbaarheid van bitcoin.
  • Aangezien het aantal transacties in elk blok zal toenemen, kan dit de totale totale vergoedingen die een miner kan innen, verhogen.
  • Verwijdert transactie-maakbaarheid en helpt bij het activeren van het bliksemprotocol (hierover later meer)
  • Verwijdert het kwadratische hashing-probleem: Kwadratische hashing is een probleem dat gepaard gaat met het vergroten van de blokgrootte. Het probleem is dat bij bepaalde transacties de hashing van handtekeningen kwadratisch wordt geschaald

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Met dank aan: Bitcoincore.org

Kortom, het verdubbelen van het aantal transacties in een blok zal het aantal transacties verdubbelen en dat zal op zijn beurt het aantal handtekeninggegevens verdubbelen dat in elk van die transacties zal zitten. Dit zou de transacties nog omvangrijker maken en de transactietijd enorm verlengen. Dit opent de poorten voor kwaadwillenden die mogelijk de blockchain willen spammen.

Segwit lost dit op door de berekening van de signature hash te veranderen en daardoor het hele proces efficiënter te maken.

Nadelen van segwit:

  • Mijnwerkers krijgen nu lagere transactiekosten voor elke afzonderlijke transactie.
  • De implementatie is complex en alle wallets zullen segwit zelf moeten implementeren. De kans is groot dat ze het de eerste keer niet goed doen.
  • Het zal het gebruik van bronnen aanzienlijk verhogen, aangezien de capaciteit, transacties, bandbreedte alles zal toenemen.
  • Zoals de oprichting van Bitcoin Cash laat zien, heeft het uiteindelijk de Bitcoin Core-gemeenschap opgesplitst.
  • Een ander probleem met Segwit is het onderhoud. De zijketen met de handtekeninggegevens moet ook door mijnwerkers worden onderhouden. In tegenstelling tot de belangrijkste blockchain hebben de mijnwerkers hier echter geen financiële voordelen, het moet pro bono worden gedaan of er moet een beloningsschema worden bedacht om de mijnwerkers te stimuleren..

Blokgrootte vergroten

Nu, aangezien het grootste probleem van bitcoin en ethereum de beperkte blokkering is, waarom verhogen we ze dan niet gewoon? Het was niet de bedoeling dat Bitcoin een limiet van 1 MB had, maar Satoshi werd gedwongen om het op te geven omdat ze niet wilden dat Bitcoin vastliep door spamtransacties.

Hoewel dit in de praktijk misschien een goed idee lijkt, is de implementatie hiervan allesbehalve geweest. Dit heeft in feite geleid tot veel discussie in de Bitcoin-gemeenschap, waarbij partijen hartstochtelijk pleiten voor en tegen de vergroting van de blokgrootte. Laten we eens kijken naar enkele van deze argumenten:

Argumenten tegen vergroting van de blokgrootte

  • Mijnwerkers zullen de prikkel verliezen omdat transactiekosten zullen dalen: aangezien de blokgroottes zullen toenemen, kunnen transacties gemakkelijk worden ingevoerd, wat de transactiekosten aanzienlijk zal verlagen. De vrees bestaat dat dit de mijnwerkers kan ontmoedigen en naar groenere weiden kan verhuizen. Als het aantal miners afneemt, zal dit de algehele hashrate van bitcoin verminderen.
  • Bitcoins mogen niet voor alledaagse doeleinden worden gebruikt: sommige leden van de gemeenschap willen niet dat bitcoin wordt gebruikt voor normale dagelijkse transacties. Deze mensen hebben het gevoel dat bitcoins een hoger doel hebben dan alleen gewone dagelijkse valuta zijn.
  • Het zal de gemeenschap opsplitsen: een vergroting van de blokgrootte zal onvermijdelijk een splitsing in het systeem veroorzaken die twee parallelle bitcoins zal maken en dus de gemeenschap in het proces zal splitsen. Dit kan de harmonie in de gemeenschap verstoren.
  • Het zal een grotere centralisatie veroorzaken: aangezien de netwerkomvang toeneemt, zal de hoeveelheid verwerkingskracht die nodig is om te minen ook toenemen. Hierdoor worden alle kleine mijnpools verwijderd en worden mijnbouwbevoegdheden exclusief aan de grootschalige pools gegeven. Dit zal op zijn beurt de centralisatie vergroten, wat indruist tegen de essentie van bitcoins.

Argumenten voor de vergroting van de blokgrootte

  • Het vergroten van de blokgrootte werkt in feite in het voordeel van de mijnwerker: een grotere blokgrootte betekent meer transacties per blok, wat op zijn beurt het bedrag aan transactiekosten verhoogt dat een mijnwerker kan maken door het minen van een blok.
  • Bitcoin moet meer groeien en toegankelijker worden voor de “gewone man”. Als de blokgrootte niet verandert, is de kans heel reëel dat de transactiekosten hoger en hoger zullen worden. Als dat gebeurt, zal de gewone man het nooit kunnen gebruiken en het zal uitsluitend worden gebruikt door de rijke en grote bedrijven. Dat is nooit het doel van bitcoin geweest.
  • De veranderingen zullen niet allemaal tegelijk gebeuren, ze zullen geleidelijk gebeuren. De grootste angst die mensen hebben als het gaat om de verandering van de blokgrootte, is dat er te veel dingen tegelijkertijd worden beïnvloed en dat dit een grote verstoring zal veroorzaken. Mensen die “pro block size increment” zijn, denken echter dat dit een ongegronde angst is, aangezien de meeste veranderingen in de loop van de tijd zullen worden afgehandeld..
  • Er is al veel steun voor het vergroten van de blokgrootte en mensen die niet met de tijd meegaan, kunnen achterblijven.
  • Segwit is geen permanente oplossing.

Hoe dan ook, op 21 mei 2017 vond de New York Agreement plaats waarbij werd besloten dat Segwit geactiveerd zal worden en de blokgroottes zullen toenemen tot 2 mb.

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Met dank aan: DCG-artikel in medium.

Mensen die niet blij waren met het idee om Segwit te activeren, gingen weg van de hoofdketen en maakten Bitcoin Cash met een maximale blokgrootte van 8 mb.

Een vergroting van de blokgrootte werd ook gesuggereerd voor ethereum, maar vanwege veel redenen willen mensen dat vanaf het moment van schrijven niet echt doen in Ethereum:

  • Ten eerste is het belangrijkste dat de schaalbaarheid van Ethereum belemmert de snelheid van consensus tussen knooppunten. Het vergroten van de blokgrootte zal dit probleem nog steeds niet oplossen. Sterker nog, naarmate het aantal transacties per blok toeneemt, zal ook het aantal berekeningen en verificaties per knooppunt toenemen.
  • Om steeds meer transacties mogelijk te maken, moeten de blokgroottes periodiek worden verhoogd. Dit zal het systeem meer centraliseren omdat normale computers en gebruikers dergelijke omvangrijke blockchains niet kunnen downloaden en bewaren. Dit druist in tegen de egalitaire geest van een blockchain.
  • Ten slotte zal het vergroten van de blokgrootte alleen plaatsvinden via hardfork, wat de gemeenschap kan splitsen. De laatste keer dat er een grote hardfork plaatsvond in ethereum, was de hele gemeenschap verdeeld en kwamen er twee afzonderlijke valuta’s tot stand. Mensen willen niet echt dat dit nog een keer gebeurt.

Bewijs van inzet

De verandering van bewijs van werk naar bewijs van inzet

Een van de grootste dingen die nu gebeuren, is de verschuiving van Ethereum van bewijs van werk naar bewijs van inzet.

  • Bewijs van werk: Dit is het protocol dat de meeste cryptocurrencies zoals ethereum en Bitcoin tot nu toe hebben gevolgd. Dit betekent dat miners cryptocurrencies “minen” door cryptopuzzels op te lossen met behulp van speciale hardware.
  • Bewijs van inzet: Dit protocol maakt het hele mijnbouwproces virtueel. In dit systeem hebben we validators in plaats van miners. De manier waarop het werkt, is dat je als validator eerst een deel van je ether als inzet moet opsluiten. Nadat je dat hebt gedaan, begin je met het valideren van blokken, wat in feite betekent dat als je blokken ziet waarvan je denkt dat ze aan de blockchain kunnen worden toegevoegd, je deze kunt valideren door erop te wedden. Wanneer en als het blok wordt toegevoegd, krijgt u een beloning die evenredig is met de inzet die u hebt geïnvesteerd. Als u echter op het verkeerde of kwaadaardige blok gokt, wordt de inzet die u hebt geïnvesteerd van u afgenomen.

Om “proof of stake” te implementeren, gaat ethereum het Casper consensus-algoritme gebruiken. In het begin zal het een hybride stijlsysteem zijn waarbij de meerderheid van de transacties nog steeds het bewijs van werkstijl zal zijn, terwijl elke 100e transactie het bewijs van de inzet zal zijn. Wat dit zal doen, is dat het een echte wereldtest biedt voor het bewijs van inzet op het platform van Ethereum. Maar wat betekent dat voor ethereum en wat zijn de voordelen van dit protocol? Laten we kijken.

Voordelen van een bewijs van inzet

  • Verlaagt de totale energie- en monetaire kosten: de bitcoin-mijnwerkers ter wereld besteden ongeveer $ 50.000 per uur aan elektriciteit. Dat is $ 1,2 miljoen per dag, $ 36 miljoen per maand en ~ $ 450 miljoen per jaar! Kijk maar eens rond die cijfers en de hoeveelheid stroom die wordt verspild. Door gebruik te maken van “Proof-of-stake” maakt u het hele proces volledig virtueel en bespaart u al deze kosten.
  • Geen ASIC-voordeel: aangezien het hele proces virtueel zal zijn, hangt het er niet van af wie de betere apparatuur of ASIC’s heeft (applicatiespecifieke geïntegreerde schakeling).
  • Maakt een aanval van 51% moeilijker: een aanval van 51% vindt plaats wanneer een groep mijnwerkers meer dan 50% van de hashkracht ter wereld krijgt. Het gebruik van een bewijs van inzet ontkent deze aanval.
  • Kwaadwillende-vrije validators: elke validator die zijn geld vasthoudt in de blockchain, zou ervoor zorgen dat hij geen verkeerde of kwaadaardige blokkades aan de ketting toevoegt, omdat dat zou betekenen dat hun volledige geïnvesteerde inzet van hen zou worden afgenomen.
  • Blok maken: maakt het maken van nieuwere blokken en het hele proces sneller. (Meer hierover in de volgende sectie).
  • Schaalbaarheid: maakt de blockchain schaalbaar door het concept van “sharding” te introduceren (hierover later meer.)

Hoe helpt dit bij de schaalbaarheid van Blockchain?

De introductie van proof-of-stake zal de blockchain een stuk sneller maken, omdat het veel eenvoudiger is om te controleren wie de meeste inzet heeft dan om te zien wie de meeste hashing-kracht heeft. Dit maakt het veel eenvoudiger om tot een consensus te komen. Bovendien is het implementeren van een ‘proof of stake blockchain’ een integraal onderdeel van Serenity, de 4e en laatste vorm van ethereum (hierover later meer.)

Tegelijkertijd maakt proof-of-stake de implementatie van sharding eenvoudiger. In een proof-of-work-systeem is het gemakkelijker voor een aanvaller om individuele shards aan te vallen die mogelijk geen hoge hashrate hebben.

Bovendien krijgen mijnwerkers in POS geen blokvergoeding en kunnen ze alleen verdienen via transactiekosten. Dit stimuleert hen om de blokgrootte te vergroten om meer transacties binnen te krijgen (via gasmanagement).

Wat is de toekomst van proof of stake?

Vanaf nu wordt Casper fase één geïmplementeerd op de blockchain, waarbij elk 100ste blok wordt gecontroleerd via proof-of-stake. Yoichi Hirai van Ethereum Foundations heeft casper-scripts door wiskundige bugdetectoren uitgevoerd om ervoor te zorgen dat het volledig bugvrij is.

Uiteindelijk is het plan om het merendeel van de blokcreatie te verplaatsen door middel van proof-of-stake en de manier waarop ze dat willen doen is … door de ijstijd binnen te gaan. De ijstijd is een tijdbom die de mijnbouw exponentieel moeilijker zal maken. Het hebben van een onmogelijk hoge moeilijkheidsgraad zal de hash-snelheid aanzienlijk verminderen, wat op zijn beurt de snelheid van de hele blockchain en de DAPPS die erop draait, zal verminderen. Dit zal iedereen die bij ethereum betrokken is, dwingen om door te gaan naar proof-of-stake.

Deze hele overgang is echter niet zonder obstakels. Een van de grootste angsten die mensen hebben, is dat mijnwerkers een hardfork in de ketting kunnen dwingen op een punt voordat de ijstijd begint en vervolgens door kunnen gaan met mijnbouw in die ketting. Dit kan mogelijk rampzalig zijn, want dat zou betekenen dat er 3 verschillende ketens van ethereum tegelijkertijd kunnen draaien: Ethereum classic, ethereum proof of work en Ethereum proof of stake.

Dit is momenteel allemaal speculatie. Voorlopig is het een feit dat het voor een schaalbaar model van cruciaal belang is dat ethereum een ​​bewijs van inzet gebruikt om de snelheid en de flexibiliteit te krijgen die het vereist.

Sharding

Het grootste probleem waarmee ethereum wordt geconfronteerd, is de snelheid van transactieverificatie. Elk volledig knooppunt in het netwerk moet de volledige blockchain downloaden en opslaan. Wat sharding doet, is dat het een transactie opsplitst in shards en deze over het netwerk verspreidt. De knooppunten werken naast elkaar aan afzonderlijke scherven. Dit vermindert op zijn beurt de totale tijd die nodig is.

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 hoort, d.w.z. de accounts, kan met elkaar communiceren EN ze kunnen vrijelijk genieten van al zijn kenmerken. Als ze contact willen leggen met andere eilanden, zullen ze een soort protocol moeten gebruiken.

Dus de vraag is, hoe gaat dat de blockchain veranderen?

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Hoe ziet een normaal blok in bitcoin of ethereum (pre-sharding) eruit??

Er is dus een blokheader en de body die alle transacties in het blok bevat. De Merkle-root van alle transacties staat in de blokkop.

Denk hier eens over na.

  • Had bitcoin echt blokken nodig??
  • Had het echt een blokketting nodig???
  • Satoshi had eenvoudig een reeks transacties kunnen maken door de hash van de vorige transactie op te nemen in de nieuwere transactie, om zo te zeggen een ‘transactieketen’ te maken.

De reden waarom ze deze transacties in een blok regelen, is om één interactieniveau te creëren en het hele proces schaalbaarder te maken. Wat ethereum suggereert, is dat ze dit veranderen in twee niveaus van interactie.

Het eerste niveau

Het eerste niveau is de transactiegroep. Elke shard heeft zijn eigen transactiegroep.

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Met dank aan: Hackernoon

De transactiegroep is onderverdeeld in de transactiegroepkop en de transactiegroep.

Transactiegroepkop

  • De koptekst is verdeeld in afzonderlijke linker- en rechterdelen.

Het linkerdeel:

  • Shard-ID: de ID van de shard waartoe de transactiegroep behoort.
  • Pre state root: Dit is de staat van de root van shard 43 voordat de transacties werden toegepast.
  • Post state root: dit is de status van de root van shard 43 nadat de transacties zijn toegepast.
  • Receipt root: de ontvangst root nadat alle transacties in shard 43 zijn toegepast.

Het juiste deel:

  • Het rechterdeel staat vol met willekeurige validators die de transacties in de shard zelf moeten verifiëren. Ze zijn allemaal willekeurig gekozen.

Transactiegroeplichaam

  • Het heeft alle transactie-ID’s in de scherf zelf.

Eigenschappen van Level One

  • Elke transactie specificeert de ID van de shard waartoe deze behoort.
  • Een transactie die bij een bepaalde shard hoort, laat zien dat deze heeft plaatsgevonden tussen twee accounts die eigen zijn aan die specifieke shard.
  • Transactiegroep heeft transacties die alleen bij die Shard-ID horen en er uniek voor zijn.
  • Specificeert de pre- en post-state root.

Laten we nu eens kijken naar het hoogste niveau, ook wel het tweede niveau genoemd.

Het tweede niveau

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Met dank aan: Hackernoon.

Nee, wees niet bang! Het is gemakkelijker te begrijpen dan het lijkt.

Er is de normale blokketen, maar nu bevat deze twee primaire wortels:

  • De root van de staat
  • De transactiegroep root

De staatswortel vertegenwoordigt de hele staat, en zoals we eerder hebben gezien, wordt de staat opgesplitst in scherven, die hun eigen substaten bevatten.

De transactiegroep root bevat alle transactiegroepen binnen dat specifieke blok.

Eigenschappen van niveau twee

  • Niveau twee is als een eenvoudige blockchain, die transactiegroepen accepteert in plaats van transacties.
  • Transactiegroep is alleen geldig als: a) Pre state root overeenkomt met de shard root in de globale staat.

    b) De handtekeningen in de transactiegroep zijn allemaal gevalideerd.

  • Als de transactiegroep binnenkomt, wordt de globale status-root de post-state-root van die specifieke Shard-ID.

Dus hoe verloopt cross-shard-communicatie??

Onthoud nu onze analogie met het eiland?

De scherven zijn eigenlijk als eilanden. Dus hoe communiceren deze eilanden met elkaar? Onthoud dat het doel van shards is om veel parallelle transacties tegelijkertijd te laten plaatsvinden om de prestaties te verbeteren. Als ethereum willekeurige cross-shard-communicatie toestaat, dan verslaat dat het hele doel van sharding.

Dus welk protocol moet worden gevolgd voor cross-shard-communicatie?

ethereum koos ervoor om het ontvangstparadigma voor cross-shard-communicatie te volgen. Bekijk dit eens:

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Met dank aan: hackernoon

Zoals u hier kunt zien, is elke individuele ontvangst van een transactie eenvoudig toegankelijk via meerdere Merkle-bomen van de transactiegroep Merkle-root. Elke transactie in een scherf zal twee dingen doen:

  • Wijzig de staat van de scherf waartoe het behoort
  • Genereer een bon

Hier is nog een interessant stuk informatie. De bonnen worden opgeslagen in een gedistribueerd gedeeld geheugen, dat kan worden gezien door andere shards, maar niet kan worden gewijzigd. Daarom kan de cross-shard-communicatie als volgt via de ontvangsten plaatsvinden:

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Met dank aan: Hackernoon

Wat zijn de uitdagingen bij het implementeren van sharding?

  • Er moet een mechanisme zijn om te weten welk knooppunt welke shard implementeert. Dit moet op een veilige en efficiënte manier gebeuren om parallellisatie en veiligheid te garanderen.
  • Volgens Vlad Zamfir moet er eerst een bewijs van de inzet worden geïmplementeerd om sharding gemakkelijker te maken. In een proof-of-work-systeem is het gemakkelijker om shards aan te vallen met minder hashrate.
  • De knooppunten werken op een betrouwbaar systeem, wat betekent dat knooppunt A knooppunt B niet vertrouwt en dat ze allebei tot een consensus moeten komen, ongeacht dat vertrouwen. Dus als een bepaalde transactie wordt opgesplitst in shards en gedistribueerd naar knooppunt A en knooppunt B, zal knooppunt A een soort bewijsmechanisme moeten bedenken dat ze klaar zijn met het werk van hun kant van de scherf.

Staatskanalen buiten de keten

Wat is een staatskanaal?

EEN staat kanaal is een tweerichtingscommunicatiekanaal tussen deelnemers waardoor ze interacties kunnen uitvoeren die normaal gesproken op de blockchain zouden plaatsvinden, buiten de blockchain. Wat dit zal doen, is dat het de transactietijd exponentieel verkort, aangezien u niet langer afhankelijk bent van een derde partij zoals een mijnwerker om uw transactie te valideren.

Dus wat zijn de vereisten om een ​​off-chain state channel te doen?

  • Een segment van de blockchain-status is vergrendeld via meerdere handtekeningen of een soort slim contract, waarover een aantal deelnemers overeenstemming heeft bereikt.
  • De deelnemers communiceren met elkaar door transacties met elkaar te ondertekenen zonder iets aan de mijnwerkers te laten voorleggen.
  • De volledige transactieset wordt vervolgens toegevoegd aan de blockchain.

De staatskanalen kunnen worden gesloten op een punt dat vooraf is bepaald door de deelnemers volgens Slock.it-oprichter Stephan Thual. Het kan zijn:

  • Tijd verstreken bv. de deelnemers kunnen overeenkomen om een ​​staatskanaal te openen en na 2 uur te sluiten.
  • Het kan worden gebaseerd op het totale aantal uitgevoerde transacties, bijvoorbeeld. sluit de keten nadat $ 100 aan transacties heeft plaatsgevonden.

offchain staatskanalen

Hoffelijkheid afbeelding: Stephan Tual Medium-artikel

Dus in de afbeelding hierboven. We hebben een auto die rechtstreeks in wisselwerking staat met de oplader en die in totaal $ 39,19 aan transacties uitvoert. Ten slotte wordt na een reeks interacties het hele transactieblok aan de blockchain toegevoegd. Stel je voor hoeveel tijd het zou hebben gekost als ze elke afzonderlijke transactie door de blockchain moesten laten lopen!

Het off-chain staatskanaal dat bitcoin wil implementeren, is het bliksemnetwerk.

Wat is het bliksemnetwerk?

De bliksem netwok is een off-chain microbetalingssysteem dat is ontworpen om transacties sneller te laten werken in de blockchain. Het werd geconceptualiseerd door Joseph Poon en Tadge Dryja in hun whitepaper, die tot doel had de blokgroottelimiet en de transactievertragingsproblemen op te lossen. Het werkt bovenop Bitcoin en wordt vaak “Layer 2” genoemd. Zoals Jimmy Song opmerkt in zijn mediumartikel:

“Het Lightning Network werkt door een dubbel ondertekende transactie te creëren. Dat wil zeggen, we hebben een nieuwe cheque waarvoor beide partijen moeten tekenen om deze geldig te laten zijn. De cheque geeft aan hoeveel er van de ene partij naar de andere wordt verzonden. Naarmate er nieuwe microbetalingen worden gedaan van de ene partij naar de andere, wordt het bedrag op de cheque gewijzigd en ondertekenen beide partijen het resultaat. “

Het netwerk stelt Alice en Bob in staat om met elkaar te communiceren zonder dat ze gevangen worden gehouden door een derde deel, ook wel de mijnwerker genoemd. Om dit te activeren, moet de transactie worden afgetekend door zowel Alice als Bob voordat deze naar het netwerk wordt uitgezonden. Deze dubbele ondertekening is van cruciaal belang om de transactie te laten doorgaan.

Hier staan ​​we echter voor een ander probleem.

Aangezien de dubbele controle sterk afhankelijk is van de transactie-ID, zal dit een fout in het systeem veroorzaken als om de een of andere reden de ID wordt gewijzigd en het Lightning Network zal niet worden geactiveerd. Als u zich afvraagt ​​wat de transactie-ID is, is dit de transactienaam oftewel de hash van de invoer- en uitvoertransacties.

Dit is de transactie-identificatie.

Een bug genaamd “Transaction Malleability” kan ervoor zorgen dat de transactie-ID verandert. Dit zal echter geen probleem meer zijn, omdat Segwit activering deze bug verwijdert.

ethereum is ook van plan om zoiets als het bliksemnetwerk te activeren dat “Raiden” wordt genoemd.

Plasma

Plasma zal samen met het bliksemnetwerk / Raiden een geheel nieuwe laag introduceren in de ethereum-architectuur:

toekomstige blockchain-lagen

Bronvermelding: gemiddeld.

Plasma is een reeks contracten die bovenop de root chain draaien (de belangrijkste Ethereum blockchain). Als je je de architectuur en de structuur zou moeten voorstellen, denk dan aan de belangrijkste blockchain en de plasmablokketens als een boom. De belangrijkste blockchain is de root, terwijl de plasmaketen oftewel kindblokkettingen de takken zijn.

Blockchain-schaalbaarheid: wanneer, waar en hoe?

Dit vermindert de belasting van de hoofdketting aanzienlijk. Periodiek blijven de vestigingen rapportages sturen naar de hoofdketen. In feite kunt u de Root Chain zien als het hoogste gerechtshof en alle takken als de ondergeschikte rechtbanken die zijn bevoegdheden ontleent aan het hoofdgerechtshof..

Alle brancheketens kunnen hun eigen unieke tokens uitgeven die ketenvalidators kunnen stimuleren om voor de ketens te zorgen en ervoor te zorgen dat deze foutloos zijn. Elke branch heeft zijn eigen onafhankelijke gegevens en wanneer het bepaalde gegevens naar de hoofdketen moet verzenden, dumpt het niet alle inhoud, maar verzendt het gewoon de hash van de blogkop naar de hoofdketen.

Plasma bespaart niet alleen veel ruimte in de hoofdketen, het verhoogt ook de snelheid van het transactieproces exponentieel. Als het correct wordt geïmplementeerd, kan dit een van de meest revolutionaire wijzigingen zijn die ooit zijn aangebracht in ethereum en cryptocurrency in het algemeen.

Vooruitkijken – Blockchain-schaalbaarheid

Cryptocurrency, en vooral bitcoin en ethereum, worden steeds meer mainstream. Om gelijke tred te houden met het toegenomen gebruik, moeten ze het serieus opvoeren als het gaat om schaalbaarheid. Gelukkig zijn er enkele fascinerende oplossingen die hen een aantal zeer interessante resultaten zouden kunnen opleveren. Kunnen ze het schaalbaarheidsprobleem echter echt oplossen? Dat valt nog maar te bezien.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map