SegWit ist live. Endlich.

Gestern Nacht gegen halb zwei war es soweit: Der Pool btc.com hat den Block 481.823 gefunden – und damit SegWit live geschalten. Nachdem lange gezankt, gezögert und gezaudert wurde, ist das Protokoll-Upgrade nun wirklich aktiv. Um es zu benutzen, müssen User aber noch auf ein Wallet-Update warten.

Ich schätze, es gibt nur wenige Software-Upgrades, die für so viel Traram sorgen wie Segregated Witness, kurz SegWit. Seit dieses Upgrade von Pieter Wuille Ende 2015 vorgestellt wurde, streitet die Bitcoin Community darüber. Man kann es nur lieben, oder hassen.

Die eine Seite der Community hält SegWit für die absolut überlegene Lösung, um zu skalieren, da es per Softfork ein wenig mehr Kapazität auf die Blockchain bringt, aber vor allem, weil es den Weg frei für offchain Lösungen wie Lightning macht. Für dieses Seite war jegliche Kritik an SegWit bereits Monate vor der Veröffentlichung der Software nichts als Misinformation, die entweder der Böswilligkeit oder der technischen Inkompetenz geschuldet war. Die meisten Entwickler, die Core nahe stehen, sind hellauf begeistert von SegWit.

Die andere Seite der Community hingegen findet, dass SegWit in Sachen Kapazität “zu wenig, zu spät” ist (too little, too late) und Bitcoin unnötig verkompliziert. Wie es BitcoinABC Entwickler Amaury Sechet sagte: “SegWit ist eine komplizierte Art, relativ wenig zu erreichen”, und Peter Rizun von Bitcoin Unlimited geht gar so weit, SegWit für eine gefährliche Änderung von Bitcoin zu erklären, die die Integrität von Transaktionen unterminiert.

Wie auch immer: SegWit bekam ein Logo, SegWit wurde veröffentlicht, die Miner haben SegWit nicht aktiviert, es gab eine Revolte der Nodes (UASF) und das Abkommen von New York. Schließlich haben die Miner eingelenkt und die Aktivierung von SegWit eingeleitet.

Gestern Nacht ist es dann passiert: SegWit wurde mit Block 481.823 aktiviert. Die Community hat dies als “historisches” Ereignis rund um die Welt, in Berlin, Paris, Florida, Zürich, Bratislava, auf SegWit-Parties gefeiert.

Was bedeutet das jetzt – für Bitcoin?

Für Bitcoin bedeutet die SegWit-Aktivierung, dass der erste, und vielleicht wichtigste, Schritt der Capacity-Roadmap von Core gegangen ist. SegWit weist die Signatur-Daten in einer Transaktion getrennt vom Rest der Transaktion aus. Damit umgeht SegWit erstens das bisherige Blocksize-Limit von 1MB und erhöht die Blocksize theoretisch auf 2MB – sofern alle Transaktionen SegWit benutzen. Die effektive Erhöhung der Blocksize dürfte jedoch für eine lange Zeit geringer sein.

Zweitens optimiert SegWit die Mechanik von Transaktionen auf verschiedene Arten. Ein Beispiel ist, dass das “Quadratic Scaling” beseitigt wird. Bei normalen Transaktionen steigt die für die Signatur und Verifizierung notwendige Rechenleistung quadratisch mit der Anzahl von Inputs. Dies ist in der Regel kein Problem, sofern eine Transaktion nicht tausende von Inputs hat. Allerdings dürfte der Effizienzgewinn für Mikroprozessoren, etwa von Hardware-Wallets, bereits bei kleineren Transaktionen zu spüren sein. Zudem lassen sich so Angriffe (“Monster-Transaktionen”) abwehren, ohne dass man ein wenig elegantes Limit für Inputs je Block setzt.

Vor allem aber beseitigt SegWit eine wichtige Art der Transaction Malleability. Transaction Malleability bedeutet, dass man eine unbestätigte Transaktion nimmt, kopiert und dabei deren Hash verändert. Da die Hash die ID der Transaktion ist, kann dies zu buchhalterischen Verwirrungen sorgen. An sich ist dies nicht dramatisch. Doch die Möglichkeit von Transaction Mallebility macht offchain-Lösungen wie das Lightning Netzwerk deutlich komplizierter und möglicherweise auch unsicherer.

Daher gilt SegWit als Meilenstein für dezentrale Offchain-Lösungen wie das Lightning Netzwerk. Mit diesem soll es möglich werden, Mikro- und Nanotransaktionen zu versenden, die weder auf eine Bestätigung warten müssen noch die Blockchain aufblasen. An sich kann man sagen, dass seit Block 481.823 Bitcoin bereit ist, um Transaktionen auf Lightning auszulagern. Ob und wann dies geschieht, ist derzeit jedoch noch nicht zu sagen.

Und was bedeutet es für den gemeinen User?

So wunderbar all das sein und werden mag – für den gemeinen User, der Bitcoin per graphischem Interface benutzt, ändert sich zunächst gar nichts. Es gibt noch keine Wallet, die SegWit unterstützt. Bitcoin Core und btc1 haben zwar SegWit für das Testnetz aktiviert. Doch im echten Bitcoin-Netz wird SegWit erst mit der nächsten Version von Bitcoin Core unterstützt. Sobald diese erschienen ist, werden voraussichtlich auch die anderen Wallets nachziehen.

Was man relativ einfach machen kann, ist, eine SegWit-Adresse zu erzeugen. Dies ist durchaus sinnvoll, da man erst Coins auf eine SegWit-Adresse überweisen muss, bevor man SegWit-Transaktionen bilden kann. Das bedeutet, es ist bereits möglich, Coins per SegWit zu empfangen. Wer sich schon jetzt auf SegWit vorbereiten will, kann etwa eine handgemachte SegWit-Adresse manuell als Wechselgeld-Adresse eingeben. Damit wird er schon mal SegWit-Inputs haben, wenn die Wallet schließlich SegWit unterstützt. All das geht, natürlich, auf eigenes Risiko.

Man muss dazu lediglich in einem SegWit-bereiten Client wie Core oder btc1 eine neue Adresse bilden – etwa indem man auf “Empfangen” klickt. Alternativ kann man auch eine bereits bestehende Adresse nehmen. Dann öffnet man die Konsole, schreibt “addwitnessaddress” und kopiert dahinter die normale Adresse. Ich habe mir auf Basis meiner Spendenadresse eine SegWit-Adresse erzeugt: die 3KNdYh4eoKSerNGMX4U7rwrbRgER1GJchn. Eine Überweisung auf diese Adresse hat geklappt. In der Core-Wallet kann ich sie jedoch noch nicht als Input für eine neue Transaktion anwählen, was vielleicht daran liegt, dass die Transaktion noch unbestätigt ist.

Profi-User können mit einem solchen Input eine Rohtransaktion bilden. Für normale User dürfte hingegen zu empfehlen sein, auf das nächste Bitcoin Core Update zu warten.

Kann ich dennoch schon jetzt eine SegWit-Transaktion sehen?

Aber klar doch. Immerhin hat Bitcoin genügend Profi-User, die bereits gestern Nacht auf den diversen SegWit-Parties ihre handgemachten SegWit-Transaktionen versendet haben.

Als erste SegWit-Transaktion gilt diese. SegWit-Architekt Pieter Wuille hat dem Vernehmen nach die dritte SegWit-Transaktion versendet.

Beide Transaktionen sind die einfachsten möglichen Transaktionen. Sie haben einen Input und einen Output. Wenn wir sie uns genauer anschauen, fallen aber zwei Beobachtungen auf:

Man erkennt die SegWit-Transaktion wohl daran, dass im Input-Skript das Wort “Witness” steht. Zumindest in der Dekodierung von blockchain.info (um es zu sehen, müsst ihr auf “scripts und coinbase einblenden” klicken). Der Code hinter dem Wort Witness repräsentiert wohl die Signatur-Daten, aber da bin ich mir nicht ganz sicher.

Das zweite, was auffällt, ist die Größe der Transaktion. Mit 216 Bytes ist diese Standard 1-1 SegWit-Transaktion etwas größer als die normale 1-1 Transaktion, die nur 190 Bytes groß ist. Eine angeblich mit Trezor gebildete SegWit-Transaktion hat zwei Inputs und einen Output. Sie ist 388 Bytes groß, während Standard 2-1 Transaktionen nur 338 Bytes groß sind. Damit sind diese Art der SegWit-Transaktionen etwa 15 Prozent größer als normale Transaktionen. Der Effekt dürfte jedoch mit der Anzahl der Outputs abnehmen, und mit der Einführung nativer SegWit-Transaktionen komplett verschwinden.

Und was sagt der Markt?

Als Litecoin SegWit eingeführt hat, ist der Kurs von Litecoin rapide nach oben geschossen. Bei Bitcoin ist derzeit von einem solchen Effekt noch nichts zu spüren.

Allerdings bewegt sich Bitcoin mit derzeit rund 4.200 knapp unterhalb des erst kürzlich erreichten Allzeithochs von 4.500 Dollar. Man könnte sagen, dass SegWit bereits eingepreist ist und die Aktivierung die Erwartungen des Marktes erfüllt hat. Wie es von hier aus weitergeht, wird wohl davon abhängen, wie rasch SegWit zum neuen Standard wird und ob das Lightning-Netzwerk tatsächlich die große Lösung des Scalability-Problems sein wird.

About Christoph Bergmann (1148 Articles)
Das Bitcoinblog wird von bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder. Wenn Ihnen das Blog gefällt, freuen wir uns über Spenden an 1BvayiASVCmGmg4WUJmyRHoNevWWo5snqC. Wir akzeptiere mit dieser Adresse sowohl Bitcoin als auch Bitcoin Cash. Weitere Infos, wie Sie uns unterstützen können, finden Sie HIER. Gastbeiträge sind ebenfalls willkommen. Meinen öffentlichen PGP-Schlüssel sowie den Bitmessage-Schlüssel finden Sie HIER

12 Comments on SegWit ist live. Endlich.

  1. Endlich 😀

  2. Na, das ging ja schnell:

    Ledger releases Segregated Witness support

    https://blog.ledger.co/ledger-releases-segregated-witness-support-f1712f69e99c

  3. Ein neues Zeitalter wird jetzt eingeleitet …
    Mit Lightning wird Bitcoin noch bekannter und mehr Nutzer finden. In Afrika und Venezuela breitet sich Bitcoin wie ein Virus aus.
    Alles Gute euch allen die hierbei sein dürfen/können 😉

  4. Und wie verwendet man jetzt Lightning ?

  5. Gibt’s eine Website wo man in einer Übersicht erkennen welche Transaktionen Segwit sind ?

  6. Übrigens: 25Aug017 momentane “oldschool” Transaktions-Miner-Gebühr: 480 satoshis/byte

    Segwit-Transaktions-Miner-Gebühr: 2,2 satoshis/byte

    –Beweis für segwitTransaktion:

    https://blockchain.info/tx/8ef2d3c3e8ff4d937746aa39677b347c043287c1fbfeda34b9c241f1e85173ec

    • naja, ein bisschen biased 😉

      * die inputs müssen schon auf segwit-adressen liegen
      * es müssen viele inputs sein, damit sich das von den gebühren her lohnt

      also erstmal eine wallet mit segwit haben und wechselgeld-adressen segwit fähig machen; bin gespannt wie schnell das geht oder direkt unterstützt wird.

      bisherigen dust kann man damit also auch nicht aufräumen. sieht bisher mehr nach etwas für mixer aus. und wie gut sich paymentchannel bisher verbreitet haben weiß man ja auch… also rechne ich nicht mit einer zeitnahen umstellung und man braucht noch ewig bis das mal effekte zeigt.

  7. Sorry für Besserwisserei… aber ich kann es einfach nicht überlesen. Es heißt “geschaltet”, nicht “geschalten”. Ich habe ein paar Jahre Praktikumsberichte von fränkischen Studenten korrigiert und bin dementsprechend sensibilisiert. Der Standard-Nichtsüdländer liest so einen Satz aber mit ziemlichem Kopfschütteln…

  8. Hier hat man einen Überblick über die Segwit-Transaktionen:
    http://segwit.5gbfree.com/countsegwit.html

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s