Was ist SegWit (Segregated Witness)?
Segregated Witness (SegWit) ist eines der bedeutendsten Upgrades in der Geschichte von Bitcoin. Es wurde im Jahr 2017 aktiviert und veränderte die Struktur von Bitcoin-Transaktionen durch die Trennung von Signaturdaten und Transaktionsdaten. Diese Änderung beseitigte ein zentrales Problem, bekannt als Transaktionsfälschbarkeit, und ermöglichte die Entwicklung des Lightning Network sowie weiterer zukünftiger Anwendungen. Zudem erhöhte SegWit die effektive Kapazität der Blöcke.
Trotz der Vorteile war SegWit anfangs sehr umstritten.
Eine SegWit-Adresse beginnt entweder mit “3…” oder mit “bc1…..”. Die Aktivierung erfolgte 2017 in Bitcoin Core. Heute nutzen über 90 % der Transaktionen SegWit.
Dieser Artikel beschreibt die Funktionsweise von SegWit, seine technischen Auswirkungen und die wichtigsten Lehren aus seiner Einführung.
Behebung der Malleability
Ein wesentlicher Beitrag von SegWit war die Lösung des Problems der Transaktionsfälschbarkeit – einer Schwachstelle, durch die Transaktions-IDs (txids) vor der Bestätigung geändert werden konnten.
Vor SegWit:
Eine Bitcoin-Transaktion besteht aus mehreren Teilen:
- Inputs (woher die Bitcoin stammen)
- Outputs (wohin die Bitcoin gesendet werden)
- Signaturen (Nachweis, dass der Absender autorisiert ist) Vor SegWit waren die Signaturen in den Transaktionsdaten enthalten. Dadurch konnten Angreifer die Signaturdaten verändern, ohne die Transaktion ungültig zu machen. Das führte zu geänderten txids, was wiederum Probleme für Protokolle verursachte, die auf unbestätigte Transaktionen angewiesen sind – wie das Lightning Network.
Wie SegWit das Problem löste:
SegWit verlagerte die Signaturdaten in einen separaten Bereich namens “Witness”. Da die txid nun ohne die Signaturdaten berechnet wird, kann sie nach dem Signieren nicht mehr verändert werden.
✅ Keine Manipulation von Transaktionsdaten mehr
✅ Sicherere unbestätigte Transaktionen
✅ Grundlage für das Lightning Network
SegWit ermöglicht das Lightning Network
Das Lightning Network ist ein Second-Layer-Protokoll, das sofortige, kostengünstige und skalierbare Bitcoin-Transaktionen erlaubt. Vor SegWit war die Umsetzung von Lightning aufgrund der Transaktionsfälschbarkeit kaum möglich.
Lightning basiert auf unbestätigten, vorab signierten Transaktionen. Manipulationen an txids hätten die Zahlungskanäle gestört und potenziell zu Verlusten geführt. Durch SegWit wurden txids unveränderlich und die technische Grundlage für Lightning geschaffen.
Ohne SegWit wäre die Skalierbarkeit von Bitcoin stark eingeschränkt geblieben.
Größere Blöcke
SegWit wurde nicht direkt zur Erhöhung der Blockgröße entwickelt, führte aber zu einer effektiven Steigerung des Transaktionsdurchsatzes. Dies wurde erreicht, indem SegWit das Blockgewicht einführte, das Signaturdaten anders gewichtet als andere Daten.
Was ist Blockgewicht (Block Weight)?
Vor SegWit waren Bitcoin-Blöcke auf eine Größe von 1 MB beschränkt (etwa 1.650 Transaktionen). Mit SegWit wurde das Block Weight eingeführt – eine neue Methode zur Messung der Blockgröße, die etwa 2.700 Transaktionen pro Block ermöglicht:
- Non-Witness-Daten (Transaktionsdaten) → 4 Gewichtseinheiten pro Byte
- Witness-Daten (Signaturen, Skripte) → 1 Gewichtseinheit pro Byte Das maximale Block Weight liegt bei 4 Millionen Gewichtseinheiten. Dadurch können Blöcke nun Transaktionen mit einem Gesamtvolumen von bis zu 4 MB enthalten, wobei die meisten Blöcke im Durchschnitt zwischen 1,5 MB und 2 MB groß sind.
Dies reduziert auch die Transaktionsgebühren, da der Wettbewerb um begrenzten Blockplatz sinkt. Durch diese Methode konnte Bitcoin etwas skaliert werden, ohne einen Hard Fork durchzuführen oder ein Zentralisierungsproblem zu bekommen.
Die neuen Skripttypen
SegWit brachte zwei neue Arten von Transaktionsskripten:
-
Pay-to-Witness-Public-Key-Hash (P2WPKH)
- Entspricht dem bisherigen Pay-to-Public-Key-Hash (P2PKH)
- Signatur-Daten werden in den Witness-Bereich verschoben
- Effizienter und kostengünstiger
-
Pay-to-Witness-Script-Hash (P2WSH)
- SegWit-Variante von Pay-to-Script-Hash (P2SH)
- Verwendet für Multisig und komplexe Skripte
- Skriptdaten verbleiben im Witness und belasten die Blockchain weniger
Beide Varianten tragen zur Senkung der Gebühren und zur Steigerung der Transaktionseffizienz bei.
Was ist Bech32?
Mit SegWit wurde auch das Adressformat Bech32 eingeführt. Es verbessert die Lesbarkeit und die Effizienz von Bitcoin-Adressen:
- Bech32-Adressen beginnen mit “bc1”
- Platzsparender → niedrigere Gebühren
- Integrierte Fehlererkennung Nicht alle Wallets und Börsen unterstützen Bech32, aber die Vorteile machen es zum bevorzugten Format für Gebührenersparnis und Netzwerkeffizienz.
Geschichte und Aktivierung
SegWit wurde 2015 von Pieter Wuille vorgeschlagen, seine Aktivierung war jedoch umstritten.
Einige Miner und Unternehmen waren dagegen, da sie Machtverluste befürchteten. Große Bitcoin-Unternehmen schlugen einen Hard Fork (SegWit2x) vor, der die Blockgröße auf 2 MB erhöht hätte. Dieser Vorschlag wurde von den Nodes mehrheitlich abgelehnt.
Die Aktivierung von SegWit erfolgte 2017 über einen User Activated Soft Fork (UASF) nach BIP 148.
Warum wurde SegWit2x abgelehnt?
- Ein Hard Fork hätte Bitcoin gespalten und zu Unsicherheit geführt
- Größere Blöcke hätten die Zentralisierung gefördert, da Full Nodes teurer im Betrieb geworden wären
- Der Vorschlag wurde als Versuch der Einflussnahme durch Unternehmen wahrgenommen Am Ende blieb Bitcoin dezentral und SegWit wurde ohne Hard Fork eingeführt.
FAQ
Wie sehen die verschiedenen Bitcoin-Adressentypen aus?- Legacy-Adressen beginnen mit “1” (P2PKH)
- Wrapped SegWit-Adressen beginnen mit “3” (P2SH-P2WPKH)
- Native SegWit-Adressen beginnen mit “bc1” (P2WPKH, Bech32) Wenn eine Adresse mit “3” oder “bc1” beginnt, handelt es sich um eine SegWit Adresse.
Ja. Alle Adresstypen sind untereinander vollständig kompatibel. BTC kann problemlos zwischen allen Typen gesendet werden.
Was ist der Unterschied zwischen SegWit und Native SegWit?SegWit (P2SH-P2WPKH, “3”-Adresse):
-
Weit verbreitet bei Börsen und Wallets
-
Geringere Gebühren als Legacy, aber höher als bei Bech32 Natives SegWit (Bech32, “bc1”-Adresse):
-
Niedrigste Gebühren
-
Effizienteste Nutzung des Block Space
-
Teilweise noch eingeschränkte Unterstützung bei älteren Wallets Für maximale Kompatibilität empfiehlt sich SegWit (P2SH), für minimale Gebühren Bech32 (Native SegWit).
Die Lehren aus SegWit
Die Auseinandersetzung um SegWit hat gezeigt, dass Bitcoin von keiner einzelnen Partei kontrolliert wird – weder von Minern, noch von Entwicklern oder Unternehmen. Bitcoin bleibt dezentralisiert und die Mehrheit lehnte SegWit2x ab. Da Hard Forks in Bitcoin nicht erwünscht sind, wurde SegWit per Soft Fork eingeführt. Es bereitete den Weg für Upgrades wie Lightning Network, Taproot und bessere Skalierbarkeit.
Die Auswirkungen von SegWit
- Geringere Transaktionsgebühren
- Höherer Transaktionsdurchsatz
- Steigende Miner-Einnahmen pro Block SegWit wird inzwischen bei fast allen Bitcoin-Transaktionen genutzt und hat die Skalierbarkeit sowie Effizienz des Netzwerks deutlich verbessert.
Das solltest du mitnehmen
- SegWit behebt die Fälschbarkeit von Transaktionen und ermöglicht das Lightning Network
- Es erhöhte die effektive Blockgröße durch einen Soft Fork
- Es führte neue Transaktionsarten und Bech32-Adressen ein