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.[4]
Blockchain
Bitcointransacties worden beveiligd door gebruik te maken van cryptografie. Een groep transacties vormt samen een blok. Elk blok wordt door middel van een cryptografische hash gebaseerd op het vorige blok. Op die manier ontstaat een ketting van opeenvolgende blokken, de blockchain.
Transacties
Een bitcoin bestaat uit 100.000.000 satoshi. Satoshi is de kleinste rekeneenheid in bitcoin, zoals de eurocent de kleinste rekeneenheid is van de euro. Elke transactie in een blok in bitcoin bevat informatie over wie hoeveel satoshi verzendt en wie het ontvangt. Ook bevat een blok informatie over welke transacties door wie zijn ondertekend.
SegWit in meer detail
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 verzendt en wie ze ontvangt. De "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 grootte van een blok is opgerekt naar ongeveer 1,8 MB in plaats van 1 MB zonder dat het bestaande bitcoinprotocol aangepast hoefde te worden. Zo kunnen de transacties met het bestaande bitcoinnetwerk worden verwerkt.[5]
Door de ondertekening uit de hash-boom te halen is ook het ondertekenfraudeprobleem opgelost, omdat ze door segregatie buiten de hash-boom niet meer wijzigbaar zijn.[4] Hiermee zijn transactie-IDs ook niet meer gevoelig voor fraude en dit maakt het gebruik van het Lightning Network in combinatie met bitcoin een stuk veiliger. Het Lightning Network is bedoeld om micropayments 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 DoS aanval op bitcoin
In het begin zat er geen limiet op de grootte van een blok. Er zijn mensen geweest die het bitcoinnetwerk hebben proberen te vertragen door het maken van heel grote neptransacties. Door de cryptografie in bitcoin, kost het herkennen van die hele grote neptransactie veel rekentijd. En doordat transacties op volgorde worden verwerkt, vertraagt daarmee de verwerking van legitieme transacties. Het concept van nepverwerkingsverzoeken sturen die de verwerking van legitieme verzoeken vertraagt, noemt men in de computerwereld 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 in 2010 de blokgrootte te beperken tot 1 MB.[7] Hierdoor werden grote nepblokken direct geïdentificeerd en werd het netwerk nauwelijks vertraagd.
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, moeten komen. Met de limiet van 1 MB per blok was bitcoin dus niet meer schaalbaar.
Er kwamen daarom verschillende verbetervoorstellen. Veel daarvan adviseerden om alles weg te gooien en opnieuw te beginnen. Een voorbeeld daarvan was FlexTrans[8] waarmee via een model vergelijkbaar met HPACK[9] transacties kleiner werden. Dit werkt echter niet samen met het bestaande bitcoinnetwerk, en zou dus, in vaktermen, een hard fork vereisen. Dat betekent zoveel 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.
Transactiefraude
Een ander probleem dat bitcoin had was transactiefraude. 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 maakte maar het onderliggende probleem was nog niet opgelost.[10]
Tijdlijn
Tijdlijn:[11]
- 21 juli 2017 werd BIP91 onomkeerbaar, dat betekent dat Segregated Witness werkt vanaf bitcoinblok nummer 477.120.
- 8 augustus 2017 ondersteunen alle bitcoin-miners SegWit.
- 21 augustus 2017 mogen nieuwe transacties die geen gebruikmaken van SegWit worden geweigerd.
- 24 augustus 2017: Segregated Witness is geactiveerd.[12]
Externe links
- Een van de bedenkers van SegWit is Pieter Wuille, in een videopresentatie uit 2015 legt hij uit wat segregated witness is, en wat dit betekent voor de schaalbaarheid van bitcoin. Bij de video zit ook een presentatie.
Gerelateerde bitcoinverbetervoorstellen (BIP)
- (en) BIP91 Een stemmachine die telt of gebruikers voor Segwit zijn - status: inactief, heeft zijn werk gedaan tot 24 augustus 2017
- (en) BIP141 Segregated Witness basislaag – status: actief sinds 24 augustus 2017
- (en) BIP142 Een beschrijving van de transactie-indeling voor Segregated Witness, status: ingetrokken en vervangen door BIP173
- (en) BIP143 Een beschrijving van hoe de transactie-ondertekening moet worden gecontroleerd, onderdeel van versie 0 van het Witness Program – status: actief sinds 24 augustus 2017
- (en) BIP144 Segregated Witness (Peer Services) – status: actief sinds 24 augustus 2017
- (en) BIP148 Dit is het mandaat om BIP141, 143, 144 te activeren.
- (en) BIP173 Een gebruikersvriendelijke manier om rekeningnummers op te schrijven: Bech32 – status: actief
- Dit artikel of een eerdere versie ervan is een (gedeeltelijke) vertaling van het artikel SegWit op de Engelstalige Wikipedia, dat onder de licentie Creative Commons Naamsvermelding/Gelijk delen valt. Zie de bewerkingsgeschiedenis aldaar.
- ↑ (en) What the 'Bitcoin Bug' Means: A Guide to Transaction Malleability
- ↑ (en) Investopedia: SegWit (Segregated Witness)
- ↑ (en) "SegWit, Explained", 20 april 2017. Geraadpleegd op 20 december 2017.
- ↑ a b (en) Segregated Witness proposal BIP141
- ↑ (en) Segregated Witness, Part 1: How a Clever Hack Could Significantly Increase Bitcoin's Potential
- ↑ (en) What is SegWit?
- ↑ MAX_BLOCK_SIZE invoering, door Satoshi Nakamoto op 15 juli 2010.
- ↑ (en) Flexibele transacties
- ↑ HPACK
- ↑ (en) Bitcoin Wiki: Transaction Malleability
- ↑ (en) Countdown to SegWit: These Are the Dates to Keep an Eye On
- ↑ 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 voorstel niet is uitgevoerd.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.