SegWit ist eine Lösung, die das Problem der Formbarkeit von Bitcoin-Transaktionen lösen und deren Skalierbarkeit verbessern soll.
Dund zu den großen Verbesserungen, die es erfahren hat Bitcoin seit seinen Anfängen, SegWit Es war eines der wichtigsten und transformativsten dieser Blockchain. SegWit ist die Abkürzung von Segregated Zeuge o Getrennter Zeuge, Name, der für eine Änderung im Bitcoin-Transaktionsformat verwendet wird. Dies ist ein Firmenvorschlag Blockstream und das Kundenentwicklungsteam Bitcoin Core.
diese weiche Gabel, wurde in einem der vorgeschlagen BIP, speziell unter der BIP-141, Unter dem Namen «Segregated Witness (Konsensschicht)». Ziel dieser Verbesserung von Bitcoin war es, zwei Probleme zu lösen:
- Lösen Sie das Problem von Formbarkeit von Transaktionen.
- Verbessern Sie die Skalierbarkeit des Bitcoin-Netzwerks.
Aber seine Verwendung ging über Bitcoin hinaus und erstreckte sich auch auf andere Blockchains wie z Litecoin, DigiByte, VertCoin und sogar EOS. Sie alle hatten das gleiche Problem zu lösen und sahen in SegWit die ideale Lösung für sie.
DeFi-Einführungskurs
Durchschnittliches NiveauEs ist Zeit für ein Upgrade. Das traditionelle Finanzwesen hat sich verändert. Entdecken Sie das revolutionäre Ökosystem des dezentralen Finanzwesens (DeFi).
Die Geburt von SegWit
Während des Kryptowährungsbooms hatte Bitcoin aufgrund der Funktionsweise seiner Transaktionsstruktur mit einigen Problemen zu kämpfen. Diese Einschränkungen wurden deutlicher, als Bitcoin einem hohen Transaktionsaufkommen ausgesetzt war. Das Ergebnis war, dass Bitcoin die riesige Menge an Netzwerktransaktionen nicht optimal bewältigen konnte.. Seine Kapazität, 7 bis 8 Transaktionen pro Sekunde abzuwickeln, erwies sich als unzureichend für die Anforderungen des Netzwerks und seine wachsende Anzahl von Benutzern.
Außerdem, Die Entwickler betrachteten das ernsthafte Risiko, dass Bitcoin-Transaktionen formbar seien. Dies könnte zu Manipulationen führen, die zum Verlust von Hunderten oder Tausenden von Bitcoins im Netzwerk führen könnten. Eine weitere inakzeptable Situation. Um dieses Problem zu lösen, machten sich die Entwickler von Bitcoin Core und Blockstream an die Arbeit. Nach harter Arbeit entstand SegWit, ein Vorschlag, der am vorgestellt wurde Dezember 21 2015, von den Entwicklern Eric Lombrozo, Johnson Lau y Pieter Wuille.
SegWit schlug vor, das Problem der Transaktionsformbarkeit und Skalierbarkeit von Bitcoin zu lösen. Um dies zu erreichen, trennt SegWit die Bitcoin-Skripte und kryptografische Signaturen zu einer neuen Blockstruktur. Während die Blöcke mit den Transaktionen eine andere Struktur hatten. All dies, ohne die Möglichkeit zu beeinträchtigen, die Signaturen und Transaktionen in jeder Struktur jederzeit zu überprüfen, dank der Merkle-Baum.
Die von SegWit gelösten Probleme
Die Probleme, die SegWit in Bitcoin gelöst hat, sind zwei: Formbarkeit und die Fähigkeit, seine Skalierbarkeit zu verbessern. Um beide Punkte besser zu verstehen, ist es am besten, sie genauer zu erklären:
Die Formbarkeit
Die Formbarkeit, Es besteht die Möglichkeit, dass ein Dritter einen Code oder eine Seriennummer nach Belieben ändern kann. Ursprünglich in Bitcoin, wird diese Eigenschaft als eine Art von angesehen Denial-of-Service-Angriff (DoS).. Dies liegt daran, dass durch Formbarkeit das entsteht Transaktionskennung (TXID), kann bei unbestätigten Transaktionen geändert werden.
Dieses Problem hängt mit der Tatsache zusammen, dass Bitcoin-Signatur-Hashes das nicht schützen Signaturskript (scriptSig). Dieses Skript enthält einen Signaturtyp (secp256k1) Es ist nicht möglich "Zeichen" Zusätzlich. Darüber hinaus besteht aufgrund der Art und Weise, wie die TXID berechnet wird, die Möglichkeit, dass ein Dritter mit bösen Absichten die Kennung einer bestimmten unbestätigten Transaktion ändern kann. Diese beiden Probleme erzeugen eine Schwachstelle, die es einem Angreifer ermöglicht, die TXID nach Belieben zu ändern, während sich die Transaktion in einem unbestätigten Zustand befindet.
Wenn Sie eine bestimmte TXID im Netzwerk verfolgen möchten, konnte diese aufgrund dieser Änderung nicht gefunden werden, da sie geändert wurde. Dies würde dazu führen, dass der Empfänger dem Sender misstraut und sogar das Vertrauen in das Netzwerk im Allgemeinen zerstört wird.
Ein einfacheres Beispiel für das Formbarkeitsproblem
Um die obige Situation einfacher zu erklären, betrachten Sie dieses Beispiel:
María hat eine Transaktion mit Daniel abgeschlossen. Die Mittel aus dieser Transaktion werden von Daniel verwendet, um Sofía in einer zweiten Transaktion zu bezahlen. Es kommt jedoch vor, dass ein Miner versehentlich oder ein böswilliger Dritter die TXID der Transaktion von María zu Daniel ändert und sie mit dieser anderen TXID bestätigt. Das bedeutet, dass Daniels Zahlung an Sofia ungültig wird. In diesem Szenario beginnt die Ehrlichkeit der Parteien eine überragende Rolle zu spielen. Denn wenn Daniel ehrlich ist, wird er das Geld an Maria zurückschicken. Aber wenn Sie unehrlich sind, können Sie die Kryptowährungen behalten.
Anhand dieses Beispiels können wir leicht erkennen, dass die Gelder, wenn sie ihr Ziel erreichen, dies mit einer anderen TXID als der ihres Erstellers (María) tun. Letzterer (Daniel) wird also bemerken, dass seine Transaktion aus dem Netzwerk verschwunden ist. Wenn Sie die Kennung ändern, ohne die betreffende Transaktion ungültig zu machen, werden untergeordnete Transaktionen ungültig. Dies liegt daran, dass neue Transaktionen mit früheren verknüpft sind.
Skalierbarkeit
Das schlimmste Problem, mit dem Bitcoin-Entwickler und -Unterstützer konfrontiert waren, war: Skalierbarkeit. Aufgrund des hohen Datenverkehrs im Bitcoin-Netzwerk werden die Versprechen schneller und kostengünstiger Transaktionen bei weitem nicht eingehalten. Dies liegt daran, dass der Aufstieg von Bitcoin das Netzwerk so weit an seine Grenzen brachte, dass die Bestätigung einer Transaktion Stunden dauerte. Darüber hinaus entfällt durch die Provisionskosten die Möglichkeit, Bitcoins für Mikrozahlungen zu verwenden. Es war eine kleine Katastrophe, die der Community, die Bitcoin als globale, schnelle und sichere Zahlungstechnologie unterstützte, viel kostete.
Um dieses Problem anzugehen, versuchten die SegWit-Entwickler, diese Situation zu entschärfen und den Grundstein für neue Formen der Skalierbarkeit zu legen. Um es zu schaffen, SegWit trennt oder trennt Transaktionsskripte und Signaturen in eine neue Struktur. Gleichzeitig konnte die Blockgröße gegenüber der ursprünglichen Größe der 1,8-MB-Blöcke auf 1 MB erhöht werden. Dies hat starke Auswirkungen auf die Skalierbarkeit und Anzahl der Transaktionen pro Block innerhalb von Bitcoin.
Dadurch war es möglich, mehr Transaktionen in einem Block unterzubringen und die Anzahl der pro Sekunde verarbeiteten Transaktionen zu erhöhen. Eine Situation, die sich positiv auf die Reduzierung der Provisionskosten und die Geschwindigkeit der Transaktionsbestätigung auswirkt. Allerdings ermöglichte SegWit auch den Beginn des Aufbaus neuer Skalierbarkeitssysteme, indem das Problem der Formbarkeit und Signaturen innerhalb der Blöcke überwunden wurde.
In diesem speziellen Fall verweisen wir auf Blitznetzwerk. Diese von Blockstream entwickelte Skalierbarkeitslösung verwendet dasselbe SegWit-Format, um Transaktionen innerhalb seiner Kanäle durchzuführen. Eine Situation, die direkt im geklärt wird Dokumentation Lightning Network RFC.
Der Einfluss von SegWit auf Bitcoin
SegWit war eine ziemlich wichtige Änderung bei der Abwicklung von Bitcoin-Transaktionen. Einerseits hat es dem Bitcoin-Netzwerk a gebracht weiche Gabel Dadurch können Legacy-Knoten (ohne SegWit) und SegWit-Knoten gleichzeitig arbeiten. Und das alles, ohne die Arbeit des Netzwerks zu unterbrechen oder seine Sicherheit zu gefährden.
Andererseits öffnet SegWit die Tür zu größeren Blockgrößen für Bitcoin. Eine der größten strukturellen Änderungen an SegWit, besteht darin, die maximale Bitcoin-Blockgröße von 1 MB auf 4 MB zu erhöhen. Auf diese Weise garantiert SegWit wichtige Aktualisierungen der Größe von Bitcoin-Blöcken, ohne dass ein Hard Fork und dessen Konsequenzen angewendet werden müssen. Eine weitere wichtige Änderung an SegWit besteht darin, dass ein neuer Typ von Bitcoin-Adressen generiert wurde, die sogenannten SegWit-Adressen, die mit beginnen «bc1» o "3".
Darüber hinaus hat SegWit es einem Benutzer mit einem Wallet mit SegWit-Unterstützung ermöglicht, Kryptowährungen an einen Benutzer mit einem alten Wallet (und einer alten Adresse) zu senden. Auf diese Weise profitiert der Benutzer mit SegWit von geringeren Kosten pro Transaktion und einer schnelleren Bestätigung. Das Gleiche kann auch umgekehrt passieren: Ein Legacy-Benutzer kann mit SegWit Kryptowährungen an einen Benutzer senden, indem er eine Legacy-Adresse verwendet, ohne jedoch die Vorteile von SegWit zu nutzen.
Der Reihe nach, Der SegWit-Vorschlag legte den Grundstein für die Schaffung des Lightning Network. Dies liegt daran, dass SegWit in dieser neuen Struktur notwendig ist, um sicherzustellen, dass Transaktionen außerhalb der Kette nicht anfällig für einen Formbarkeitsangriff sind. Eine Situation, die im Detail erläutert wird Whitepaper des Lightning Network.
Vorteile von SegWit
- Macht Angriffe auf die Formbarkeit von Transaktionen unmöglich. Dies geschieht durch die Trennung der Signaturdaten von den übrigen Daten einer Transaktion.
- Erhöhen Sie die Blockgröße auf maximal 4 MB.
- Das Vorhandensein von Zeugendaten wird optional und wird nur benötigt, wenn die Knoten erfordern die Validierung einer Transaktion, nicht jedoch deren Verifizierung.
- SPVs (Simplified Payment Verification) werden ihren Betrieb verbessern. Dies ist auf die Reduzierung des Umfangs der Verifizierungstests und der Bandbreitennutzung zurückzuführen.
- Es schreibt die Grundlagen für Skalierbarkeitsprotokolle wie das Lightning Network, indem es das Problem der Formbarkeit löst.
- Reduziert den Wettbewerb um Prioritätssätze zwischen Benutzern. Dadurch sinken die Netzwerkprovisionen.
Aktivierung von SegWit im Bitcoin-Netzwerk
El Juli 21 2017, Bitcoin-Miner haben ein neues Software-Update durchgeführt. Zu diesem Zeitpunkt folgten die Miner dem im Bitcoin Improvement Proposal beschriebenen Protokoll BIP-91. Damit war der Weg für die Durchführung dieses Updates und die endgültige Aktivierung von SegWit geebnet. In diesem Vorschlag wird die Arbeit von Lukas Dashjr war ausschlaggebend für den Erfolg dieser Operation.
El August 8 2017 Der andere große Meilenstein wurde erreicht. Damals hieß es, dass 100 % der Bitcoin-Mining-Pools SegWit unterstützten. Allerdings würde SegWit frühestens am 21. August vollständig aktiviert sein. Ab diesem Zeitpunkt konnten Miner Blöcke ablehnen, die keine SegWit-Transaktionen enthielten.
Schließlich wird die August 23 2017, SegWit ist während des Block-Minings offiziell aktiviert 481.822 Mit einem 99,95% Unterstützung im Netzwerk.
Wallets mit SegWit-Unterstützung
Damit Bitcoin-Benutzer SegWit-Transaktionen nutzen können, müssen sie ein Wallet verwenden, das diese Funktion unterstützt. Diese Wallets können Benutzern Legacy-Adressen oder SegWit-Adressen zum Senden und Empfangen von Transaktionen bereitstellen. Unter den Bitcoin-Wallets, die eine solche Unterstützung bieten, sind folgende zu nennen:
- Hauptbuch. Dies ist ein Hersteller von Hardware-Wallets, die eine Vielzahl von Währungen unterstützen. Alle beinhalten Unterstützung für die Implementierung von SegWit für Bitcoin, ohne die Sicherheitsfunktionen des Produkts zu beeinträchtigen.
- Trezor. Es handelt sich um einen weiteren Hardware-Wallet-Hersteller, der SegWit auf seinen Geräten unterstützt.
- BitcoinCore. Dies ist die Referenz-Wallet des Bitcoin-Entwicklungsteams. Beinhaltet Unterstützung für SegWit seit Version 0.13.1.
- Bitcoin-Waffenkammer. Dieses Wallet ist in der Programmiersprache Python geschrieben und unterstützt auch SegWit. Es ist für die Desktop-Betriebssysteme Windows, Linux und Mac OS X verfügbar.
- Elektrum. Hierbei handelt es sich um ein Wallet, das für das Android-Betriebssystem auf Mobiltelefonen sowie für Windows, Linux und Mac OS X verfügbar ist. Es ist seit 2011 aktiv und eines der Wallets mit einer treuen Benutzerbasis in der Bitcoin-Community. Es ist Open Source und unterstützt SegWit, sodass Benutzer auch Transaktionsgebühren konfigurieren können.
- GreenBits. Dies ist eine weitere Wallet mit SegWit-Unterstützung. Es ist für Android und iOS verfügbar. Außerdem können Benutzer es über eine Google Chrome-Erweiterung oder über das Internet verwenden.
- Samourai. Dies ist ein Projekt in der Entwicklung, aber es unterstützt auch die Verbesserung von SegWit. Samourai ist ein Projekt, das sich auf Privatsphäre und Anonymität konzentriert.
- Coinomi. Dieses Wallet ist multi-kryptowährungsfähig und bietet SegWit-Unterstützung für Bitcoin und Litecoin