Deze pagina dient alleen ter informatie. Bepaalde diensten en functies zijn mogelijk niet beschikbaar in jouw rechtsgebied.
Artikel

Wat is SegWit? een introductie tot Bitcoins slimme aanpak voor on-chain opschalen

Een beginnersvriendelijke inleiding van Bitcoins SegWit: wat SegWit is, waarom het belangrijk is en wat het bereikt

Toen Satoshi Nakamoto Bitcoin ontwierp, bepaalde hij dat de capaciteit van elk blok niet groter mocht zijn dan één miljoen. Het aantal transacties dat kan worden vastgelegd in één miljoen is extreem beperkt. In de begintijd was de capaciteit van elk blok van één miljoen voldoende om het transactievolume van de nichemarkt aan te kunnen, maar naarmate het aantal Bitcoin-gebruikers toenam, werd het steeds drukker.

Volgens de tistieken werkt het Bitcoin-netwerk elke tien minuten een nieuw blok bij. Ondanks de capaciteit van één miljoen, bevat elk blok maximaal enkele tientallen transacties. Op dit moment kan Bitcoin gemiddeld zeven transacties per seconde verwerken. Dat betekent dat er onder bepaalde omstandigheden een achterstand van tienduizenden transacties op de Bitcoin-blockchain kan ontstaan, en de transactiekosten voor Bitcoin-overschrijvingen kunnen oplopen tot tientallen dollars. Wanneer het netwerk overbelast is, kan het zelfs enkele dagen duren voordat Bitcoin-transacties worden verwerkt.

Daarom hadden gebruikers in de cryptowereld dringend behoefte aan een efficiënte technische oplossing om het probleem van de trage verwerking Bitcoin-transacties op te lossen. Deze oplossing zou ervoor moeten zorgen dat Bitcoin sneller en met lagere transactiekosten (de vergoeding die aan de miners wordt betaald) aankomt.De oplossing kwam in de vorm van Segregated Witness (SegWit).

Maak kennis met SegWit

SegWit-technologie werd in 2015 voorgesteld door Bitcoin-ontwikkelaar Pieter Wuille en andere Bitcoin Core-medewerkers als oplossing voor het probleem van de trage transactieverwerking. In 2017 werd SegWit officieel geïmplementeerd via een soft fork op het Bitcoin-netwerk. Hierdoor werd de informatieverwerkingscapaciteit van een enkel Bitcoin-blok met 1,7 keer vergroot.

Momenteel maken de drie grootste cryptocurrency’s (Bitcoin, Litecoin en Bitcoin Cash) allemaal gebruik van SegWit. De voordelen van SegWit zijn vooral het uitbreiden van de blokcapaciteit, het verhogen van de transactiesnelheid en het optimaliseren van de schaalbaarheid van transacties.

De technische principes van SegWit

Laten we eens kijken naar de technische principes en implementatie van SegWit. Professionele gebruikers weten dat elke transactie uit twee delen bestaat: basistransactiegegevens en ‘witness’-gegevens. De basisgegevens bevatten informatie over het saldo, terwijl de witness-gegevens de identiteit van de gebruiker verifiëren.

Gebruikers zijn vooral geïnteresseerd in de kerngegevens over hun assets, zoals hun saldo. De verificatie van de gebruikersidentiteit hoeft niet veel ruimte in beslag te nemen in de transactie. Simpel gezegd: de ontvanger van een transactie hoeft alleen te weten dat de asset beschikbaar is, niet alle details over de afzender.

Maar in de transactiestructuur van Bitcoin namen de witness-gegevens (de handtekening) veel ruimte in beslag. Dit vertraagde de transacties en verhoogde de kosten. SegWit-technologie helpt om de witness-gegevens uit de transactiegegevens te halen en apart op te slaan, wat de transactie versnelt.

De belangrijkste voordelen van SegWit

Grotere blokcapaciteit

Uit statistieken blijkt dat handtekeninggegevens tot 65% van de ruimte in een Bitcoin-transactieblok kunnen innemen. Het is mogelijk dat na het implementeren van SegWit de oorspronkelijke blokopslagruimte wordt vrijgegeven en dat er meer transactiegegevens kunnen worden verwerkt.

Hogere transactiesnelheid

Vergelijkbaar met de Ethereum layer-2 worden Bitcoin-gegevens in lagen verwerkt om de transactiesnelheid te verhogen. Na de implementatie van SegWit zal het Bitcoin-transactiesysteem meer rekenkracht en opslag concentreren op de verwerking van transactiegegevens. Hierdoor wordt de belasting aanzienlijk verminderd en zal het aantal transacties per seconde (TPS) in theorie alleen maar toenemen. Uit gegevens blijkt dat na het implementeren van SegWit de gemiddelde kosten per transactie dalen tot $ 1.

Gunstig Lightning Network

Het Lightning Network is de meest besproken layer-2 uitbreidingsoplossing voor Bitcoin om het schaalbaarheidsprobleem van Bitcoin buiten de blockchain om op te lossen.

Het Lightning Network probeert een nieuwe netwerklaag op de Bitcoin-blockchain te maken en tegelijkertijd een betalingskanaal op te zetten. Hierdoor kunnen grote overschrijvingstransacties onder alle extreme omstandigheden snel en soepel worden voltooid, wat betekent dat de gegevens off-chain worden verwerkt. SegWit zorgt voor een snelle verwerking van de gegevens met de hoogste prioriteit op de chain.

Het verlichten van de druk voor de implementatie van het Lightning Network creëert indirect de voorwaarden voor het Lightning Network.

Het is de moeite waard om te vermelden dat binnen het technische kader van SegWit de transactiegegevens en handtekeninggegevens volledig gescheiden zijn. In het hele transactieverwerkingssysteem worden de handtekeningegevens van de gebruiker ook uitgesloten, dus er is geen mogelijkheid dat de transactiegegevens worden gemanipuleerd. Eén klik voorkomt dat verkeerde informatie permanent in de blockchain wordt vastgelegd. Het heeft ook positieve voordelen voor de uitbreiding en toepassing van het herstelprogramma voor transactiegegevens.

Bovendien wordt SegWit ook gezien als de eerste voorloper van Bitcoin-ordinals, die de limiet uitbreiden van hoeveel willekeurige gegevens in een transactie kunnen worden geplaatst, waardoor er inscripties op elke Bitcoin-satoshi kunnen worden gegraveerd. In 2021 maakte Taproot een systeem dat het gemakkelijker maakt om willekeurige witness-gegevens op te slaan en bleef het de gegevenslimiet die in een Bitcoin-transactie wordt geplaatst uitbreiden. Hierdoor werden de non-fungible tokens met Bitcoin-ordinals die tegenwoordig bestaan mogelijk.

Hoe SegWit wordt toegepast

Voor gewone gebruikers zijn er drie belangrijke voordelen van SegWit-technologie:

  1. Veiliger: hogere beveiliging dan gewone adressen

  2. Sneller: uitbreidbare blokcapaciteit en snellere transactiecontrole

  3. Goedkoper: transactiekosten zijn lager dan gewone wallet-adressen

Maar hoe is deze technologie van toepassing op gewone gebruikers? Als je naar je eigen wallet kijkt en het geïsoleerde wallet-adres gebruikt om Bitcoin-overboekingen te ontvangen, dan kun je profiteren van de hierboven beschreven voordelen. Uit gegevens die eind augustus 2020 zijn verzameld blijkt dat het gebruik van Bitcoins SegWit 67% had bereikt, wat betekent dat de cijfers momenteel hoger moeten liggen.

Momenteel is de adresindeling van Bitcoin voornamelijk onderverdeeld in vier typen:

Legacy

Legacy-indeling (P2PKH) (adressen die beginnen met 1): traditionele adressen.

Bijvoorbeeld: 1Fh7ajXabJBpZPZw8bjD3QU4CuQ3pRty9u. Het originele adresformaat van Bitcoin, dat nog steeds wordt gebruikt.

P2PKH betekent Pay To PubKey Hash (Pay To Public Key Hash).

Nested

Nested indeling (P2SH) (sommige adressen die beginnen met 3): multi-signature adres.

Bijvoorbeeld: 3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQXP2SH. (Pay-to-Script-Hash), een hash van het betalingsscript, oftwel in- en uitvoerscripts voor Bitcoin-transacties met behulp van redemption scripts en hashes van redemption scripts.

De adresstructuur is vergelijkbaar met P2PKH, maar het ondersteunt complexere functies dan traditionele adressen. P2SH-scriptfuncties worden meestal gebruikt met multi-signature adressen, die meerdere digitale handtekeningen kunnen bevatten om transacties te autoriseren. Een adres dat bijvoorbeeld met 3 begint, wordt beheerd door drie personen en twee van hen stemmen ermee in om een overboeking te doen.

De bovenstaande twee adressen zijn traditionele overboekingsadressen voor transacties en maken geen gebruik van segregated witness-technologie. Hieronder staan twee gangbare segregated witness-adressen.

Nested SegWit-indeling (P2SH) (adressen die beginnen met 3): adres dat compatibel is met segregated witness.

Bijvoorbeeld: 3KF9nXowQ4asSGxRRzeiTpDjMuwM2nypAN. Adressen die beginnen met 3.

Omdat de P2SH-methode wordt gebruikt voor verpakking, begint het met SegWit compatibele adres ook met 3, wat kan worden herkend door oude nodes.

Je hoeft niet te weten of het Bitcoin-adres dat met een 3 begint een multi-signature adres of een met segregated witness compatibel adres is. Je hoeft alleen maar te weten dat het adres dat met een 3 begint algemeen wordt ondersteund en dat je Bitcoin kunt verzenden naar adressen die beginnen met 1 en bc1.

Native

Native SegWit-indeling (Bech32) (adressen die beginnen met bc1): native segregated witness-adres.

Bijvoorbeeld: bc1qf3uwcxaz779nxedw0wry89v9cjh9w2xylnmqc3

Bech32 is een adresindeling die speciaal is ontwikkeld voor SegWit. Bech32 werd eind 2017 gedefinieerd in BIP173. Een van de belangrijkste kenmerken van dit formaat is dat het hoofdlettergevoelig is (het adres bevat alleen 0-9, az) om verwarring te voorkomen en beter leesbaar te zijn bij het invoeren.

Omdat er minder tekens in het adres nodig zijn, gebruikt het adres Base32 in plaats van de traditionele Base58, waardoor berekeningen handiger en efficiënter zijn. Gegevens kunnen ook compacter worden opgeslagen in QR-codes.

Bech32-adressen bieden betere beveiliging, beter geoptimaliseerde foutdetectie met checksums en minimaliseren de kans op ongeldige adressen. Bech32-adressen zijn compatibel met SegWit. Omdat er geen extra ruimte nodig is om SegWit-adressen in P2SH-adressen te plaatsen, zijn de transactiekosten lager bij gebruik van Bech32-adressen.

Bech32-adressen hebben verschillende voordelen ten opzichte van oudere Base58-adressen (die werden gebruikt om Bitcoin byte arrays om te zetten in leesbare strings). Met Bech32 adressen zijn QR-codes kleiner, beter bestand tegen fouten, veiliger en hoofdletterongevoelig. Ze bestaan ook alleen uit kleine letters, waardoor ze gemakkelijker te lezen en te typen zijn.

Native P2WPKH-/P2WSH-indeling (Bech32)(adres begint met bc1q): native segregated witness-adres.

Voorbeeld van native P2WPKH: bc1qmgjswfb6eXcmuJgLxvMxAo1tth2QCyyPYt8shzNative

Voorbeeld van P2WSH: bc1q09zjqeetautmyzrxn9d2pu5c5glv6zcmj3qx5axrltslu90p88pqykxdv4wj

SegWit-adressen van versie 0 beginnen altijd met bc1q. Bij deze generatie Pay-to-Witness-Public-Key-Hash (P2WPKH)-adressen is de lengte van het P2WPKH-adres altijd 42 tekens.

Bij het Pay-to-Witness-Script-Hash (P2WSH)-adres is de lengte van het P2WSH-adres altijd 62 tekens. P2WPKH wordt meestal gebruikt voor gewone adressen, en P2WSH wordt meestal gebruikt voor multi-signature adressen.

In 2019 werd ontdekt dat als het laatste teken van een Bech32-adres een P is, en als er per ongeluk een of meer Q's achteraan worden getypt, de checksumverificatie nog steeds kan slagen. De walletsoftware zal dan aannemen dat het adres correct is ingevoerd en toestaan dat de Bitcoins naar het verkeerde adres worden verzonden, waardoor de Bitcoins onbruikbaar worden.

Het goede nieuws is dat Bech32 alleen wordt gebruikt voor SegWit, en SegWit-adressen hebben een maximale lengte: ze kunnen slechts 20 of 32 bytes lang zijn. Als je een extra Q typt na een adres dat 20 of 32 bytes lang is, zal het ingevoerde adres ongeldig zijn omdat het de maximale lengte overschrijdt. De wallet zal dit probleem zien en weigeren om Bitcoins te verzenden.

Aanvankelijk werd voorgesteld om een vergelijkbare limiet voor de adreslengte in te voeren voor Taproot, maar de hieronder genoemde oplossing maakt dit overbodig. Een flexibele adreslengte is handiger om Taproot in de toekomst te verbeteren.

P2TR

P2TR-indeling (Bech32m) (adres begint met bc1p): Taproot-adres.

Bijvoorbeeld: bc1pqs7w62shf5ee3qz5jaywle85jmg8suehwhOawnqxevre9k7zvqdz2mOn

Om de Bech32-bug op te lossen, is er een nieuwe standaard genaamd Bech32m voorgesteld. Bech32m is een eenvoudige aanpassing: er wordt een extra cijfer toegevoegd aan de Bech32-checksumformule om ervoor te zorgen dat eventuele extra tekens een ongeldige checksum genereren.

Deze nieuwe standaard geldt alleen voor Taproot-adressen en toekomstige adressen. Er is niets veranderd voor SegWit-adressen, omdat deze al beschermd zijn met een maximale lengte van 20 of 32 bytes.

Om de bovenstaande tekortkomingen van Bech32 te verhelpen, worden in BIP0350 Bech32m-adressen voorgesteld:

  • Voo native segwit-adressen met versie 0 gebruik je de vorige Bech32

  • Voor native segwit-adressen met versie 1 (of hoger) gebruik je de nieuwe Bech32m

Bech32m-adressen beginnen altijd met bc1p als de versie 1 is (d.w.z. Taproot-adressen).

De subtiele verschillen tussen adressen

Als we breder kijken, zien we andere subtiele verschillen tussen verschillende adressen:

  • SegWit-compatibele adressen (die beginnen met deel 3) besparen 24% van de transactiekosten in vergelijking met traditionele adressen (die beginnen met 1)

  • Native SegWit-compatibele adressen (die beginnen met bc1) besparen 35% van de transactiekosten in vergelijking met traditionele adressen (die beginnen met 1)

  • SegWit-adressen (die beginnen met bc1 en deel 3) kunnen tot 70% van de transactiekosten besparen ten opzichte van multi-signature adressen (die beginnen met 3)

  • Taproot-adressen ondersteunen BTC NFT's en Ordinals NFT's, en de transactiekosten zijn vergelijkbaar met adressen die beginnen met 3

Tot slot

SegWit is een belangrijke ontwikkeling voor Bitcoin die het aantal transacties per blok dat het Bitcoin netwerk kan verwerken, verhoogt. Het lost ook een zeldzame exploit met betrekking tot de veranderlijkheid van transacties op en voegt meer programmeerbaarheid toe aan Bitcoin, waardoor meer schaaloplossingen zoals Bitcoins Lightning Network mogelijk worden.

OKX Wallet ondersteunt nu al het gebruik van het isolated witness-adres voor Bitcoin, Litecoin en Bitcoin Cash bij overboekingen en opwaarderingen. Dit verbetert de gebruikerservaring, verlaagt de transactiekosten en verhoogt de overdrachtssnelheid. Tegelijkertijd ondersteunt OKX Wallet ook Taproot-adressen volledig, waarop BRC-20 ordinals en BTC NFT’s gebaseerd zijn.

Gerelateerde artikelen
Bekijk meer
Bekijk meer
Aanmelden om beloningen te ontvangen!