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: verschil tussen versies
(https://nl.wikipedia.org/w/index.php?title=SegWit&diff=cur&oldid=50689068 -e- WritersBlok 3 jan 2018) |
(https://nl.wikipedia.org/w/index.php?title=SegWit&diff=cur&oldid=50704479 4 jan 2018) |
||
Regel 1: | Regel 1: | ||
SegWit | '''Segregated Witness''', of '''SegWit''', is een verbetering in de indeling van [[Overeenkomst_(contract)|transacties]] binnen een [[bitcoin]] transactieblok. SegWit verhoogt de transactieverwerkingssnelheid van bitcoin door ''transactie informatie'' te scheiden (segregatie) van de [[digitale handtekening|digitale ondertekening]]. Fraude uitgevoerd door modificatie van transacties, wordt ook door Segwit voorkomen.<ref>[https://www.coindesk.com/bitcoin-bug-guide-transaction-malleability/ What the 'Bitcoin Bug' Means: A Guide to Transaction Malleability]</ref>. De ondertekening is de getuigenis van de transactie, vandaar de naam "witness".<ref>[http://www.investopedia.com/terms/s/segwit-segregated-witness.asp Investopedia: SegWit (Segregated Witness)]</ref> | ||
Deze | Deze verbetering is ook [[Implementatie#Implementatie_van_software|geïmplementeerd]] in ander [[cryptogeld]] zoals [[litecoin]], [[digibyte]], [[vertcoin]] en [[groestlcoin]].<ref>{{cite news|title=SegWit, Explained|url=https://cointelegraph.com/explained/segwit-explained|accessdate=20 December 2017|agency=Cointelegraph|date=20 April 2017}}</ref> De beschrijving van de wijziging is gecategoriseerd onder [https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki BIP141]. | ||
=== Blokchain === | === Blokchain === | ||
Bitcointransacties | Bitcointransacties worden beveiligd door gebruik te maken van zeer sterke [[cryptografie]]. Een groep transacties vormt samen een blok. Elk blok wordt doormidden van een [[hashfunctie|cryptografische hash]] gebaseerd op het vorige blok. Op die manier ontstaat een ketting van op een volgende blokken, de [[blockchain]]. | ||
=== Transacties === | === Transacties === | ||
Een bitcoin bestaat uit 100.000.000 [[satoshi]]. 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. | Een bitcoin bestaat uit 100.000.000 [[satoshi]]. Satoshi is de kleinste rekeneenheid in bitcoin, zoals bijvoorbeeld de [[Cent_(munteenheid)|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. | ||
=== SegWit | === Wat heeft SegWit opgelost? === | ||
SegWit verbergt de | SegWit verbergt de blokgrootte door de limiet te wijzigen van 1 [[megabyte]] naar 1 [[Mega_(voorvoegsel)|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.<ref>[https://bitcoinmagazine.com/articles/segregated-witness-part-how-a-clever-hack-could-significantly-increase-bitcoin-s-potential-1450553618/ Segregated Witness, Part 1: How a Clever Hack Could Significantly Increase Bitcoin's Potential]</ref> | ||
Door de ondertekening uit de hash-boom te halen is ook het signaturen malleability probleem opgelost, omdat ze hiermee onwijzigbaar zijn.<ref>[https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki Segregated Witness proposal BIP 141]</ref> 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.<ref>[https://www.cryptocompare.com/coins/guides/what-is-segwit/ What is SegWit?]</ref> | Door de ondertekening uit de hash-boom te halen is ook het signaturen malleability probleem opgelost, omdat ze hiermee onwijzigbaar zijn.<ref>[https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki Segregated Witness proposal BIP 141]</ref> 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.<ref>[https://www.cryptocompare.com/coins/guides/what-is-segwit/ What is SegWit?]</ref> | ||
Regel 20: | Regel 19: | ||
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|Denial of Service (DoS)]] aanval, en wordt ook buiten bitcoin gebruikt voor bijvoorbeeld het aanvallen van websites. | 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|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 Nakamoto|Satoshi]] de | Om dit soort aanvallen sneller de baas te worden, besloot [[Satoshi Nakamoto|Satoshi]] de blokgrootte te beperken tot 1 [[Megabyte|MB]]. Hierdoor werden grote nep blokken direct geïdentificeerd en werd het netwerk nauwelijks vertraagt.<ref>[https://www.cryptocompare.com/coins/guides/what-is-the-block-size-limit/ What is the Block Size Limit]</ref> | ||
=== Schaalbaarheid === | === 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. | |||
Dus | |||
Er | Er kwamen daarom verschillende verbetervoorstellen. Veel daarvan adviseerde om alles weg te gooien en opnieuw te beginnen. Een voorbeeld daarvan [https://zander.github.io/posts/Flexible_Transactions/ FlexTrans (Flexible Transactions)] waarmee je via een model vergelijkbaar met [https://http2.github.io/http2-spec/compression.html#static.table.definition HPACK] transacties kleiner werden. Dit werkt echter niet samen met het bestaande bitcoinnetwerk, en zou dus, in vaktermen, een [[Bitcoin#Hard_forks|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 | 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.<ref>[https://en.bitcoin.it/wiki/Transaction_Malleability Bitcoin Wiki: Transaction Malleability]</ref> | ||
== Activatie van SegWit == | == Activatie van SegWit == | ||
Regel 39: | Regel 37: | ||
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. | 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.<ref | Op 21 juli 2016 werd BIP91 onomkeerbaar, dat betekend dat Segregated Witness geactiveerd is op blok 477.120.<ref>[https://github.com/bitcoin/bips/blob/master/bip-0091.mediawiki BIP91] to activate the existing BIP9 segwit deployment with a majority hashpower less than 95%.</ref> 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.<ref>Hertig, Alyssa<span id="cxmwnQ" tabindex="0">,</span> [https://www.coindesk.com/its-official-segregated-witness-will-activate-on-bitcoin/ It's Official: Segregated Witness Will Activate on Bitcoin]<span id="cxmwnQ" tabindex="0">.</span> [[CoinDesk]] <span id="cxmwnQ" tabindex="0">(8 August 2017).</span> <span id="cxmwnQ" tabindex="0">Geraadpleegd op 9 August 2017</span></ref> | ||
== Externe links == | == Externe links == | ||
Regel 45: | Regel 43: | ||
=== Gerelateerde bitcoin verbetervoorstellen (BIP) === | === Gerelateerde bitcoin verbetervoorstellen (BIP) === | ||
* [https://github.com/bitcoin/bips/blob/master/bip-0142.mediawiki BIP142] Address Format for Segregated Witness – withdrawn, superseded by [https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki BIP173] | * [https://github.com/bitcoin/bips/blob/master/bip-0142.mediawiki BIP142] Address Format for Segregated Witness – withdrawn, superseded by [https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki BIP173] | ||
* [https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki BIP143] Transaction Signature Verification for Version 0 Witness Program[https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki] – activated on August 24, 2017 | * [https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki BIP143] Transaction Signature Verification for Version 0 Witness Program[https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki] – activated on August 24, 2017 | ||
Regel 57: | Regel 52: | ||
{{reflist|refs=<ref name="Scaling Solution">[https://www.crypto-news.net/a-better-scaling-solution-than-segwit/ Is there a better Scaling Solution than SegWit?]</ref>}} | {{reflist|refs=<ref name="Scaling Solution">[https://www.crypto-news.net/a-better-scaling-solution-than-segwit/ Is there a better Scaling Solution than SegWit?]</ref>}} | ||
{{Bronvermelding anderstalige Wikipedia|taal=en|titel=SegWit|oldid=818306379|datum=20180103}} | |||
[[Categorie:Bitcoin]] | [[Categorie:Bitcoin]] | ||
[[Categorie:Cryptografie]] | [[Categorie:Cryptografie]] |
Versie van 17 jan 2018 23:57
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