Wikisage is op 1 na de grootste internet-encyclopedie in het Nederlands. Iedereen kan de hier verzamelde kennis gratis gebruiken, zonder storende advertenties. De Koninklijke Bibliotheek van Nederland heeft Wikisage in 2018 aangemerkt als digitaal erfgoed.
- Wilt u meehelpen om Wikisage te laten groeien? Maak dan een account aan. U bent van harte welkom. Zie: Portaal:Gebruikers.
- Bent u blij met Wikisage, of wilt u juist meer? Dan stellen we een bescheiden donatie om de kosten te bestrijden zeer op prijs. Zie: Portaal:Donaties.
SegWit
Segregated Witness, of SegWit, is een verbetering in de indeling van transacties binnen een bitcoin transactieblok. SegWit verhoogt de transactieverwerkingssnelheid van bitcoin door transactie informatie te scheiden (segregatie) van de digitale ondertekening. Fraude uitgevoerd door modificatie van transacties, wordt ook door Segwit voorkomen.[1]. De ondertekening is de getuigenis van de transactie, vandaar de naam "witness".[2]
Deze verbetering is ook geïmplementeerd in ander cryptogeld zoals litecoin, digibyte, vertcoin en groestlcoin.[3] De beschrijving van de wijziging is gecategoriseerd onder BIP141.
Blokchain
Bitcointransacties worden beveiligd door gebruik te maken van zeer sterke cryptografie. Een groep transacties vormt samen een blok. Elk blok wordt doormidden van een cryptografische hash gebaseerd op het vorige blok. Op die manier ontstaat een ketting van op een volgende blokken, de blockchain.
Transacties
Een bitcoin bestaat uit 100.000.000 satoshi. Satoshi is de kleinste rekeneenheid in bitcoin, zoals bijvoorbeeld de eurocent de kleinste rekeneenheid is van de euro. Elke transactie in een blok in bitcoin bevat informatie over wie hoeveel satoshi verzend en wie het ontvangt. Ook bevat een blok informatie over welke transacties door wie zijn ondertekend.
Wat heeft SegWit opgelost?
SegWit verbergt de blokgrootte door de limiet te wijzigen van 1 megabyte naar 1 mega "eenheden", waardoor dit een soft fork is; het werkt goed samen met het bestaande bitcoinnetwerk. De "witness" informatie, of wel de ondertekening van een transactie, wordt gescheiden van de Hash-boom met informatie over wie hoeveel satoshi verzend en wie ze ontvangt. The "witness" informatie wordt verplaatst naar het einde, en elke byte van deze informatie wordt als een kwart unit gerekend. Dit heeft als effect dat de gemiddelde grote van een blok is opgerekt naar ongeveer 1.8 MB in plaats van 1 MB, zonder dat het bestaande bitcoin protocol aangepast hoefde te worden. En zo kunnen de transacties met het bestaande bitcoinnetwerk worden verwerkt.[4]
Door de ondertekening uit de hash-boom te halen is ook het signaturen malleability probleem opgelost, omdat ze hiermee onwijzigbaar zijn.[5] En hiermee zijn de transacties ID ook niet meer malleable. Dit maakt het gebruik van het Lightning Network in combinatie met bitcoin een stuk veiliger. Het Lightning Network is bedoeld om microtransacties buiten bitcoin om snel uit te kunnen voeren, waarbij alleen de transactie ID en de begin en eindtijd van de transactie in bitcoin wordt vastgelegd.[6]
Geschiedenis
Een aanval op bitcoin
In het begin zat er geen limiet op de grote van een blok. Er zijn mensen geweest die het bitcoinnetwerk hebben proberen te vertragen door het maken van hele grote nep transacties. Door de cryptografie in bitcoin, kost het herkennen van die hele grote nep transactie veel rekentijd. En doordat transacties op volgorde worden verwerkt, vertraagt daarmee de verwerking van legitieme transacties. Het concept van nep verwerkingsverzoeken sturen die de verwerking van legitieme verzoeken vertraagt noemt men in de computer wereld Denial of Service (DoS) aanval, en wordt ook buiten bitcoin gebruikt voor bijvoorbeeld het aanvallen van websites.
Blokgroottebeperking
Om dit soort aanvallen sneller de baas te worden, besloot Satoshi de blokgrootte te beperken tot 1 MB. Hierdoor werden grote nep blokken direct geïdentificeerd en werd het netwerk nauwelijks vertraagt.[7]
Schaalbaarheid
Door de limiet van 1 MB en doordat bitcoin steeds populairder wordt, werd bitcoin ook steeds trager. Dit komt door het ontwerp van bitcoin; elke 10 minuten komt er slechts 1 blok bij. Dus ook maar 1 MB aan opslag waarin alle transacties, scripts en ondertekeningen die wereldwijd gedaan zijn in moeten komen. Met de limiet van 1 MB per blok was bitcoin dus niet meer schaalbaar.
Er kwamen daarom verschillende verbetervoorstellen. Veel daarvan adviseerde om alles weg te gooien en opnieuw te beginnen. Een voorbeeld daarvan FlexTrans (Flexible Transactions) waarmee je via een model vergelijkbaar met HPACK transacties kleiner werden. Dit werkt echter niet samen met het bestaande bitcoinnetwerk, en zou dus, in vaktermen, een hard fork vereisen. Dat betekend zo veel als; helemaal opnieuw beginnen, ook met het opbouwen van een gebruikersgemeenschap.
Een gemeenschap van de grond af opnieuw opbouwen is heel lastig, daarom is er gezocht naar mogelijkheden om verder te bouwen op het bestaande netwerk. Segwit is een uitkomst daarvan en onderdeel van de oplossing.
Transactie fraude
Een ander probleem dat bitcoin had was transactie fraude. Ondanks dat de transactie is ondertekend, was de transactie zelf niet versleuteld in de digitale handtekening. Ook werd er niet gecontroleerd of de handtekening bij de transactie hoort. Dit gaf diverse mogelijkheden om satoshi te ontvreemden of te verliezen. Er draaide wel al software op het bitcoinnetwerk die een succesvolle aanval onwaarschijnlijk te maakten, maar het onderliggende probleem was nog niet opgelost.[8]
Activatie van SegWit
Segregated Witness is activeert op 24 augustus 2017.[9]
SegWit (BIP141) is iets anders dan SegWit2x (SegWit2Mb). SegWit2Mb is een voorstel na activatie van Segregated Witness een 2 MB hard fork te activeren binnen 6 maanden na 23 mei 2017. Inmiddels kan worden geconcludeerd dat dit niet is gelukt.
Op 21 juli 2016 werd BIP91 onomkeerbaar, dat betekend dat Segregated Witness geactiveerd is op blok 477.120.[10] Sinds 8 august 2016 ondersteunen alle bitcoin mininers SegWit, vanaf 21 august 2016 mogen nieuwe transacties die die geen gebruik maken van SegWit worden geweigerd.[11]
Externe links
- Een van de bedenkers van SegWit is Pieter Wuille, hier is een video uit 2015 waarin hij SegWit uitlegt: https://www.youtube.com/watch?v=NOYNZB5BCHM
Gerelateerde bitcoin verbetervoorstellen (BIP)
- BIP142 Address Format for Segregated Witness – withdrawn, superseded by BIP173
- BIP143 Transaction Signature Verification for Version 0 Witness Program[1] – activated on August 24, 2017
- BIP144 Segregated Witness (Peer Services) – activated on August 24, 2017
- BIP148 Mandatory activation of segwit deployment – activated (mandated the activation of BIP141, 143, 144)
- BIP173 Bech32 addresses – activated, not yet in wide usage
Referenties
- º What the 'Bitcoin Bug' Means: A Guide to Transaction Malleability
- º Investopedia: SegWit (Segregated Witness)
- º "SegWit, Explained", 20 April 2017. Geraadpleegd op 20 December 2017.
- º Segregated Witness, Part 1: How a Clever Hack Could Significantly Increase Bitcoin's Potential
- º Segregated Witness proposal BIP 141
- º What is SegWit?
- º What is the Block Size Limit
- º Bitcoin Wiki: Transaction Malleability
- º Segregated Witness activation monitor on xbt.eu
- º BIP91 to activate the existing BIP9 segwit deployment with a majority hashpower less than 95%.
- º Hertig, Alyssa, It's Official: Segregated Witness Will Activate on Bitcoin. CoinDesk (8 August 2017). Geraadpleegd op 9 August 2017