Bitcoin SegWit-implementatie: belangrijke lessen voor blockchain-ontwikkelaars

Ben je een Bitcoin- of blockchain-ontwikkelaar? U kijkt waarschijnlijk naar schaalbaarheid, netwerklatentie, transactiekosten en soortgelijke problemen en probeert openbare blockchains te verbeteren. De implementatie van Bitcoin SegWit heeft belangrijke lessen en ik zal dit project in dit artikel uitleggen. Ik zal echter eerst uitleggen wat Segregated Witness (SegWit) is.

Bitcoin-acceptatie en uitdagingen waarmee gebruikers worden geconfronteerd

Bitcoin heeft de macht in handen gegeven van mensen met hun verstoorde en veilige netwerk en geniet een hoge populariteit. Je koopt je ochtendcuppa er echter nog steeds niet bij, of wel?

Ondanks de populariteit zijn dagelijkse transacties nog steeds niet in Bitcoin, vanwege de volgende uitdagingen:

  1. Elk knooppunt in het Bitcoin-netwerk moet alle blokken en transacties opslaan en deelnemen aan de transactievalidatie. Een Bitcoin-netwerk kan alleen zo snel zijn als het langzaamste knooppunt. Bitcoin gebruikt het ‘Proof of Work’ (POW) consensusalgoritme dat de deelname van elk knooppunt verplicht stelt. Lees meer over het POW-algoritme in “PoW Vs. PoS: een vergelijking tussen twee blockchain-consensusalgoritmen “.
  2. Het POW-algoritme vereist dat Bitcoin-mijnwerkers een steeds complexere cryptografische puzzel oplossen, daarom gebruiken ze zware rekenkracht. Dit verhoogt de netwerkbelasting en is bovendien zeer energie-intensief. Het effect is netwerklatentie.
  3. Bitcoin-gebruikers willen dat hun transacties snel verlopen. Netwerklatentie en gebrek aan schaalbaarheid vertragen ze echter. Bitcoin-blokken kunnen slechts een beperkt aantal transacties aan en om hun transacties te prioriteren, betalen gebruikers hoge mijnwerkerskosten. Deze vergoedingen bleven stijgen.

Bitcoin SegWit loste het probleem met transactiekosten in belangrijke mate op, maar het kwam voort uit een ander probleem, dat ik nu zal uitleggen.

Herkomst van Bitcoin SegWit: Bitcoin-maakbaarheid

Bitcoin had ook een ander potentieel ernstig probleem. Bitcoin gebruikt gegevenscodering, die eerst een leesbare tekst omzet in een gecodeerde ‘cijfertekst’. Alleen de persoon met de privésleutel kan de cijfertekst terug decoderen naar de oorspronkelijke platte tekst met behulp van de privésleutel.

Vervormbaarheid is een bug in een coderingstechnologie waarmee cyberaanvallers de cijfertekst in een andere cijfertekst kunnen omzetten. Hackers kunnen de gewijzigde cijfertekst vervolgens ontsleutelen in een geheel andere, maar gerelateerde, leesbare tekst. Ze kunnen bijvoorbeeld het adres van de ontvanger en het betalingsbedrag wijzigen bij een betalingstransactie! Bitcoin-encryptie had deze smeedbaarheidsfout.

“ Segregated Witness (Consensus Layer) ”, d.w.z. SegWit ‘Bitcoin Improvement Proposal’ (BIP) 141 ging over het oplossen van deze smeedbaarheidsfout.

Hoe de implementatie van Bitcoin SegWit het probleem met de maakbaarheid oploste

Bitcoin-ontwikkelaar Peter Wiulle kwam met het SegWit-voorstel in december 2015. De oplossing werkte als volgt:

  1. Het creëerde een andere structuur, de “Getuige” genaamd. Dit heeft gegevens voor het verifiëren van een transactie, maar niet de transactiegegevens.
  2. De nieuwe Witness-structuur zet zich apart van de rest van de transactiegegevens in voor het Bitcoin-blok, vandaar de naam “Segregated Witness”.
  3. Stel dat hackers de transactiegegevens in handen krijgen en proberen misbruik te maken van de smeedbaarheidsbug. Ze hebben geen toegang meer tot de digitale handtekening met SegWit.
  4. Dus zelfs als ze erin slagen om de cijfertekst in iets anders te veranderen, is hun inspanning niet nuttig zonder de digitale handtekening.

Dit is hoe het Bitcoin SegWit-voorstel van plan was om de smeedbaarheidsprobleem op te lossen. Het voorstel bevatte echter meer wijzigingen en deze droegen bij aan een effectieve toename van de Bitcoin-blokkering. Lees verder om erachter te komen hoe.

Bitcoin SegWit vergroot effectief de blokgrootte van Bitcoin


De blokgrootte van de Bitcoin is 1 megabyte (MB). Ook vormde de handtekeninginformatie een groot deel van de transactiegegevens, daarom kon een blok slechts enkele transacties bevatten.

Het SegWit-voorstel creëerde een andere parameter, de “Gewichtseenheid” (WU). Elke byte van het transactiegegevensgedeelte van het blok komt overeen met 4 WU’s. Elke byte van de “Witness” -structuur is echter gelijk aan 1 WU.

Het voorstel definieerde ook het maximale gewicht van een Bitcoin-blok als 4 miljoen WU’s. Doe je eenvoudige wiskunde en je kunt zien hoe de nieuwe blokken met SegWit effectief meer dan 1 MB groot zijn! Hierdoor konden miners meer transacties in een blok opnemen.

Omdat elk blok nu meer effectieve ruimte heeft, neemt de felle concurrentie om een ​​transactie in een blok op te nemen af. Dit verlaagt op zijn beurt de transactiekosten!

Als de Bitcoin-gemeenschap had besloten om de limiet van de blokgrootte van 1 MB expliciet te overschrijven, moesten ze een hard fork implementeren. Cryptogemeenschappen geven echter vaak niet de voorkeur aan hard forks vanwege de instabiliteit die ze brengen in het algehele netwerk en ecosysteem.

In het geval van de Bitcoin SegWit-implementatie bleef de regel van 1 MB blokgroottelimiet van kracht, maar de nieuwe WU-parameter omzeilde deze. Daarom was er geen harde vork om SegWit te implementeren.

Bitcoin SegWit voors en tegens, en acceptatie

Je hebt net gezien hoe SegWit de bug in de maakbaarheid oploste en de transactiekosten van Bitcoin verlaagde. Er zijn echter extra voordelen. Beschouw het voorbeeld van het “Lightning Network”.

Het Lightning Network is een off-chain oplossing om kleine, frequente betalingstransacties mogelijk te maken. Dit draait bovenop de Bitcoin-blockchain en registreert daar niet elke transactie. Deze oplossing registreert alleen een periodiek overzicht van transacties in de Bitcoin-blockchain.

Omdat het systeem niet alle tussenliggende transacties in de Bitcoin-blockchain vastlegt, hadden gebruikers het vertrouwen nodig dat hun tussenliggende transacties veilig waren. De smeedbaarheidsfout zou dat vertrouwen niet toelaten. De implementatie van Bitcoin SegWit hielp ook de ontwikkeling van Lightning Network.

Ondanks de vele voordelen van SegWit, moet u het niet beschouwen als een geavanceerde Bitcoin-schaaloplossing. Dit is geen geautomatiseerde schaalbaarheidsmaatregel, het was een eenmalige omzeiling van alleen de limiet voor de blokgrootte van Bitcoin. Bovendien kan een effectieve toename van de blokgrootte ervoor zorgen dat langzamere knooppunten in de toekomst meer tijd nodig hebben om Bitcoin-blokken te laden.

Bitcoin SegWit werd in augustus 2017 geïmplementeerd, na vele debatten in de Bitcoin-gemeenschap over de voor- en nadelen ervan. De adoptie is echter nog lang niet voltooid en u kunt de statistieken bekijken hier.

Als Bitcoin- of blockchain-ontwikkelaar kun je belangrijke lessen trekken uit de implementatie van Bitcoin SegWit. Houd bij het ontwikkelen van uw verbetervoorstellen rekening met aspecten van schaalbaarheid, beveiliging en decentralisatie op de lange termijn.

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