Wat is Segwit (Segregated Witness)?
Contents
- 1 Wat is Segwit (Segregated Witness)?
- 1.1 Vind je het niet leuk om te lezen? Bekijk in plaats daarvan onze videogids
- 1.2 Wat is Segwit Samenvatting
- 1.2.1 Het schaalbaarheidsprobleem van Bitcoin
- 1.2.2 Probleem met vervormbaarheid van transacties
- 1.2.3 Aanvullende problemen
- 1.2.4 Grootboek
- 1.2.5 TREZOR
- 1.2.6 Exodus
- 1.2.7 Electrum
- 1.2.8 Coinomi
- 1.2.9 Wanneer werd Segwit geactiveerd?
- 1.2.10 Wat is SegWit2x?
- 1.2.11 Is Segwit achterwaarts compatibel?
- 1.2.12 Wat is het Lightning Network?
Wat is Segwit (Segregated Witness)?
Segwit is een upgrade van het Bitcoin-netwerk dat in augustus 2017 is geïntroduceerd. In dit bericht wordt precies uitgelegd wat Segwit is, waarom het nodig is en hoe het kan helpen bij het opschalen van Bitcoin naar massale acceptatie..
Vind je het niet leuk om te lezen? Bekijk in plaats daarvan onze videogids
Wat is Segwit Samenvatting
Segwit is een upgrade naar het Bitcoin-protocol dat de digitale handtekening (ook bekend als “de getuige”) van de transactie scheidt. Dit creëert een oplossing voor verschillende problemen met het Bitcoin-protocol en zorgt er ook voor dat meer transacties binnen een blok van 1 MB passen.
Dat is Segwit in een notendop. Als je een meer gedetailleerde uitleg wilt, blijf dan lezen, dit is wat ik zal behandelen:
1. Wat is Segwit?
Segwit, een afkorting van Segregated Witness, is een upgrade van het Bitcoin-netwerk dat als doel heeft verschillende problemen op te lossen. Het werd voor het eerst geïntroduceerd door ontwikkelaar Pieter Wiulle op het Bitcoin-conferentie opschalen in december 2015.
Het schaalbaarheidsprobleem van Bitcoin
Bitcoin-transacties worden geschreven op een onveranderlijk grootboek dat bekend staat als de Blockchain. Het wordt ‘blockchain’ genoemd omdat transacties worden gebundeld in blokken die aan elkaar zijn geketend, om hun volgorde te bepalen.
Deze transactieblokken zijn beperkt in capaciteit tot 1 MB. Als gevolg hiervan kan een Bitcoin-blok gemiddeld ongeveer 2700 transacties verwerken.
Dit zorgt voor een probleem wanneer veel mensen Bitcoins proberen te verzenden (zoals tijdens prijsstijgingen), omdat er een lange rij transacties wordt gevormd die wachten om de blockchain binnen te gaan..
Hoewel Visa 1.700 transacties per seconde kan verwerken, kan Bitcoin er slechts 4 verwerken, waardoor het niet schaalbaar is voor massale acceptatie. Om ervoor te zorgen dat Bitcoin echt wereldwijd bruikbaar wordt, moet het een manier vinden om zijn transactiecapaciteit te vergroten.
Probleem met vervormbaarheid van transacties
Een ander probleem dat Bitcoin heeft, is de maakbaarheid van transacties.
Elke Bitcoin-transactie heeft 3 delen: wie heeft het verzonden (ook bekend als input), wie ontvangt het (output) en een digitale handtekening die verifieert dat de afzender in aanmerking komt om de munten te verzenden.
Het blijkt dat de code van Bitcoin het mogelijk maakt om digitale handtekeningen te wijzigen wanneer een transactie nog niet is bevestigd.
De handtekeningwijziging gebeurt op een manier dat als u er een wiskundige controle op uitvoert, deze nog steeds geldig is door het netwerk. Als u er echter een hash-algoritme op uitvoert, geeft dit een ander resultaat.
Ik zal het uitleggen met een voorbeeld:
Laten we voor de eenvoud zeggen dat de handtekeningwaarde “3” was, maar in plaats van “3” verander ik deze naar “03” of “3 + 7-7”. Wiskundig gezien is het nog steeds dezelfde waarde, dus het is een geldige handtekening, maar als ik deze verschillende versies hashen, krijg ik verschillende resultaten, aangezien het hashen afhangt van hoe je de waarde schrijft en niet van de waarde zelf.
Aangezien de hash de identificatie van de transactie in de blockchain is, betekent dit dat ik elke transactie-ID effectief kan wijzigen in een andere ID en dat deze nog steeds geldig is.
Het aanmaken van een nieuwe transactie-ID voor een bestaande transactie kan om een aantal redenen problematisch zijn:
Laten we, om het eenvoudiger te maken, een voorbeeld gebruiken van hoe iemand misbruik kan maken van het probleem van de maakbaarheid van transacties:
Alice betaalt Bob in transactie X die niet is bevestigd. Bob gebruikt die niet-bevestigde betaling om online een product van Charlie te betalen (transactie Y). Charlie wachtte niet op een bevestiging van transactie Y en stuurde Bob zijn product.
Bob kwaadwillig de betaling van Alice kwaad door wat technisch knutselen en haar transactie wordt bevestigd met een andere txid.
Transactie Y is nu ongeldig omdat deze afhankelijk is van de originele txid van transactie X die niet langer bestaat. Charlie is niet betaald en heeft de goederen al afgeleverd.
Aanvullende problemen
Hoewel de twee problemen die ik hierboven heb genoemd de meest brandende zijn, lost Segwit een aantal andere technische problemen op, die niet altijd rechtstreeks van invloed zijn op de eindgebruiker.
Hier is een volledige lijst van de problemen die Segwit oplost:
- Lineaire schaalvergroting van zuchtoperaties
- Ondertekening van invoerwaarden
- Verhoogde beveiliging voor multisig via pay-to-script-hash (P2SH)
- UTXO-groei verminderen
- Script-versiebeheer
- De efficiëntie neemt toe wanneer handtekeningen niet worden geverifieerd
- Blok capaciteit / grootte verhogen
- Op weg naar een enkele gecombineerde bloklimiet
Een volledige uitleg over al deze problemen is te vinden hier.
2. Hoe Segwit werkt
Segwit is een toename van de blokgrootte
Segregated Witness is een voorgestelde wijziging van de manier waarop blokken zijn gestructureerd. Niet-segwit-blokken, ook wel legacy-blokken genoemd, hebben in totaal 1 MB ruimte voor alle blokgegevens (ingangen, uitgangen, handtekeningen, enz.).
Segwit-blokken daarentegen zijn in feite grotere blokken (tot 4mb) die bestaan uit een basistransactieblok en een uitgebreid blok. Dus in tegenstelling tot wat vaak wordt gedacht, is Segwit, net als Bitcoin Cash, inderdaad een vergroting van de blokgrootte.
Segwit-blokken verplaatsen de digitale handtekening en andere gegevens (bekend als “de getuige”) buiten het basistransactieblok. De getuige-gegevens worden nog steeds verzonden, maar worden in het uitgebreide blok geplaatst.
Het basistransactieblok bevat de informatie over de afzender en de ontvanger. De gegevens van de getuigen worden leeg gelaten en nemen daarom geen ruimte in beslag. Hierdoor kunnen er meer transacties in het 1mb-blok passen.
Het uitgebreide blok (de extra 3mb) bevat alle getuige-gegevens die niet verplicht zijn in het basistransactieblok.
Met het nieuwe blokformaat dat Segwit introduceert, worden twee belangrijke doelen bereikt:
Segwit is een Soft Fork
Als Segwit in feite een vergroting van de blokgrootte is, vraag je je misschien af waarom je de blokgrootte niet gewoon vergroot naar 4mb?
De reden is dat ontwikkelaars wilden voorkomen dat er een hard fork in het Bitcoin-netwerk zou worden gecreëerd. Het protocol van Bitcoin stelt specifiek dat blokken niet groter mogen zijn dan 1mb blok. Dus ontwikkelaars moesten een oplossing vinden die door zowel legacy- als Segwit-blokken wordt geaccepteerd.
Een oplossing van een 1mb-blok met een “extensie” van nog eens 3mb is iets dat onder het bestaande protocol nog steeds acceptabel is.
Legacy-knooppunten ontvangen alleen het basistransactieblok van 1 MB zonder het uitgebreide blok. Ze beschouwen ze nog steeds als geldig. Segwit-knooppunten ontvangen zowel het basisblok als het uitgebreide blok (tot 4 MB in totaal) en kunnen de transacties volledig valideren.
Terwijl Segwit-transacties in theorie een blok tot 4 MB kunnen creëren, is de gemiddelde blokgrootte inclusief Segwit-transacties in de praktijk ongeveer 2 MB.
Deze achterwaartse compatibiliteit wordt ook wel een zachte vork genoemd. Deze aanpak is veel minder riskant omdat er geen knooppunten nodig zijn om hun software bij te werken om Segwit te ondersteunen. Het betekent dat zelfs als het jaren duurt voordat alle knooppunten zijn geüpgraded, het netwerk nog steeds zal functioneren.
Blokgewicht berekenen
Terwijl legacy-blokken in grootte worden gemeten, worden Segwit-blokken in gewicht gemeten. Block Weight is een nieuw concept geïntroduceerd in Segwit, en het wordt berekend per transactie.
Elke transactie heeft een ‘gewicht’ dat als volgt wordt gedefinieerd:
Base Tx-maat * 3 + Full Tx-maat
Verouderde transacties kunnen de gegevens van de getuigen niet verwijderen, dus hun gewicht is altijd 4 keer de tx-grootte. Een legacy TX van 1000 bytes heeft bijvoorbeeld een gewicht van 1000 * 3 + 1000 = 4000.
Segwit-transacties zullen daarentegen minder dan 4 keer de tx-grootte zijn. Een Segwit-transactie van 1200 bytes die uit 400 bytes aan getuige-gegevens bestaat, heeft bijvoorbeeld een gewicht van (1200-400) * 3 + 1200 = 3600.
Kortom, hoe groter de gegevens van de getuigen, hoe lichter het tx-gewicht zal zijn. Dit stimuleert miners om lichtere Segwit-transacties te verkiezen boven zwaardere, omdat ze er meer in een blok kunnen passen.
3. Segwit vs. Legacy
Vandaag, bijna 50% van alle gedolven Bitcoin-transacties zijn Segwit-transacties. Wanneer u legacy-transacties vergelijkt met Segwit-transacties, ziet u de volgende verschillen:
4. Beste Segwit-portefeuilles
Dankzij de voordelen ondersteunen steeds meer wallets Segwit. Hier zijn de beste Segwit-portemonnees die er zijn.
Het is belangrijk op te merken dat als u een oude portemonnee heeft en naar een Segwit-portemonnee wilt verhuizen, u een geheel nieuwe Segwit-portemonnee moet maken en al uw geld naar het adres moet verplaatsen. U kunt uw bestaande portemonnee niet zomaar upgraden.
Grootboek
Ledger is een hardwareportefeuille waarmee u transacties offline kunt ondertekenen, waardoor uw geld beter wordt beveiligd (aangezien uw privésleutel geen toegang heeft tot internet). Er zijn twee hoofdmodellen: de Ledger Nano S en de Ledger Nano X.
Beide modellen ondersteunen zowel Segwit- als legacy-transacties. De Nano X is het nieuwere model dat een grotere verscheidenheid aan munten ondersteunt en ook mobiel compatibel is.
TREZOR
TREZOR is een andere populaire hardware-portemonnee. De twee TREZOR-modellen zijn de TREZOR One en TREZOR Model T. Beide portemonnees ondersteunen Segwit- en legacy-transacties.
De TREZOR Model T is het nieuwere model dat ook een touchscreen heeft.
Exodus
Exodus is een gratis softwareportefeuille die uitstekend geschikt is voor beginners vanwege het intuïtieve ontwerp. De portemonnee ondersteunt meer dan 100 crypto-activa en is beschikbaar voor desktop en mobiel. Exodus ondersteunt zowel legacy- als Segwit-transacties. Je kunt mijn volledige Exodus-recensie hier lezen.
Electrum
Electrum is een open source Bitcoin-desktopportemonnee die zowel legacy- als Segwit-transacties ondersteunt.
De portemonnee is een beetje moeilijk te beheren als u net begint met cryptocurrencies, maar biedt een breed scala aan opties voor het controleren van vergoedingen, het beheren van fondsen en het ondertekenen van transacties. Je kunt mijn volledige Electrum-recensie hier lezen.
Coinomi
Coinomi is een zeer populaire multi-valuta multi-platform portemonnee die meer dan 100 crypto-activa ondersteunt en beschikbaar is voor desktop en mobiel. Coinomi ondersteunt zowel legacy- als Segwit-transacties.
Als u op zoek bent naar een mobiele segwit-portemonnee, is dit over het algemeen waarschijnlijk de beste keuze. Je kunt mijn Coinomi-recensie hier lezen.
5. Veel gestelde vragen
Wanneer werd Segwit geactiveerd?
Segwit werd geactiveerd op 23 augustus 2017.
Wat is SegWit2x?
Segwit2x was een compromisvoorstel voor het debat over de blokgrootte in 2017. Het suggereerde dat Segwit als een eerste stap zou worden geactiveerd en daarna de blokgrootte zou worden vergroot tot 2 MB. Dit voorstel werd niet geaccepteerd door de meerderheid van het Bitcoin-netwerk.
Is Segwit achterwaarts compatibel?
Ja, Segwit is achterwaarts compatibel en werkt met verouderde transacties waarvoor Segwit niet is ingeschakeld.
Wat is het Lightning Network?
Het Lightning Network is een tweede laag over het bitcoin-netwerk waarmee mensen Bitcoin direct en zonder kosten tussen elkaar kunnen overzetten. Hier vindt u alles wat u moet weten over het Lightning Network.
6. Conclusie
Segwit is de eerste van vele upgrades waarmee Bitcoin geleidelijk kan opschalen voor massale acceptatie. Het is een fundamentele verandering die verdere ontwikkelingen mogelijk maakt.
Door de digitale handtekening, of de getuige, te scheiden van het transactieblok, worden verschillende voordelen behaald, zoals een kleinere transactiegrootte, reparaties van maakbaarheid en meer. Naarmate meer en meer portemonnees Segwit adopteren, wordt het binnenkort de standaard voor elke Bitcoin-transactie.
Wat vind je van Segwit? Laat het me weten in de comments hieronder.