Bitcoin Cash: Hardfork im Mai wird Schnorr-Signaturen aktivieren

Kaum hat sich der Staub um die Hardfork im vergangenen November gelegt, stellt Bitcoin ABC die nächste Hardfork für Bitcoin Cash vor: Am 15. Mai werden Schnorr-Signaturen aktiviert und es wird ein Bug der letzten Hardfork ausgemerzt. Anders als im vergangenen Jahr gibt es nicht nur keinen Streit um die Fork, sondern nicht einmal eine Diskussion.

Es ist herrlich, wenn all die Neinsager und Querköpfe weg sind. Die Entwickler von ABC, die noch im vergangenen November wegen ihrer Hardfork-Pläne unter erheblichen Druck geraten sind, konnten sich nun in Ruhe und Frieden auf einen Weg vorwärts einigen und diesen auch ohne Geschrei und Diskussion umsetzen. Am 15. Mai wird Bitcoin Cash (BCH) erneut eine Hardfork aktivieren. Diese wird allerdings nur zwei Features enthalten: Schnorr-Signaturen und die Rettung von Coins, die versehentlich an SegWit-Adressen gesendet worden sind.

Schnorr als Alternative

Der aufregendste, aber auch komplizierteste Teil der Hardfork sind Schnorr-Signaturen. Der Schnorr-Algorithmus gilt weithin als Verbesserung des von Bitcoin verwendeten ECDSA-Signaturalgorithmus. Wie dieser beruht er auf einer elliptischen Kurve. Er wurde Anfang der 90er vom deutschen Mathematiker Claus-Peter Schnorr entwickelt und patentiert. Das Patent lief jedoch 2008 ab, womit Schnorr rechtlich unbedenklich benutzt werden kann.

Die Firma Blockstream plant schon seit einigen Jahren, Schnorr für Bitcoin zu aktivieren. Nun scheint es jedoch, als käme (ausgerechnet) Bitcoin Cash ihnen zuvor. Es gibt einige Gründe, weshalb Schnorr-Signaturen für Kryptowährungen reizvoll sind: Erstens sind sie ein Stückchen schneller. Zweitens erlauben sie es nativ, mit mehreren Schlüsseln zu signieren, womit sich Multisig-Adressen nicht länger durch die verdächtige “3” am Anfang verraten. Drittens sind sie von Natur aus resistent gegen Malleabilität. Und viertens ist es möglich, mit Schnorr Signaturen zu verschmelzen, womit eine Transaktion, die aus mehreren Inputs besteht, nicht mehr jede Signatur von jedem einzelnen Input separat mitführen muss. Kurzum: Schorr kann die Skalierbarkeit und die Privatsphäre verbessern, während die Beseitigung der Malleabilität für Bitcoin Cash den Weg zum Lightning-Netzwerk freimacht.

Bei der Implementierung übernimmt Bitcoin ABC im Kern die kryptographische Spezifizierung und Arbeit des Bitcoin-Core-Entwicklers Pieter Wuille. In der konkreten Umsetzung unterscheidet sich die Version von ABC aber stark von der, die Bitcoin Core plant. Ein Vorteil von Schnorr ist dabei, dass es gar nicht so viel anders ist als das bisher verwendete ECDSA: Indem man dieselbe elliptische Kurve secp256k1 benutzt, ist ein ECDSA-Schlüsselpaar auch ein Schnorr-Schlüsselpaar. Privater Schlüssel und Adresse können also gleich bleiben, es ändert sich nur der Vorgang, eine Signatur zu erstellen und zu prüfen. Der Code, um Signaturen zu prüfen, wird dabei so modifiziert, dass er erkennt, welche Art von Signatur vorliegt.

Damit wird es möglich, die neuen Signaturen langsam und relativ undisruptiv einzuführen. Wallets können bleiben, wie sie sind, aber haben auch die Möglichkeit, Schnorr-Signaturen zu benutzen. Langfristig wird es, so die Spezifizierung, sogar möglich, ECDSA vollständig zu entfernen, ohne dass dabei Adressen und Schlüssel blockiert werden. Diesen Vorteilen steht ein theoretischer Nachteil gegenüber – wenn einer der beiden Algorithmen gebrochen wird, sind auch Schlüssel, die diesen nie verwendet haben, kompromitiert.

Zunächst wird Schnorr nur als einfache Signaturoperation eingeführt. Das Verschmelzen der Input-Signaturen wird soweit ich es sehe nicht unterstützt, wie auch Multisig noch nicht Schorr-fähig ist. Damit sind die beiden stärksten Vorteile von Schnorr auch nach der Hardfork noch nicht verfügbar. Was bleibt ist eine geringe Reduktion der Signaturgröße sowie die Beseitigung von “Third-Party-Malleability”, was es möglich macht, Bitcoin Cash ans Lightning-Netzwerk anzubinden.

Rettung für verlorene Coins

Das zweite Element der Mai-Hardfork ist die Bergung von Coins, die an SegWit-Adressen gesendet wurden. Auch dieses Problem ist relativ komplex zu beschreiben. SegWit-Adressen sind ja P2SH (Pay-to-Script-Hash)-Adressen, die offiziell unter “Anyone can spend” laufen: Jeder kann die Coins auf ihnen ausgeben. Hinter diesem Skript erkennen Nodes und Miner, die das SegWit-Update mitgemacht haben, jedoch ein Skript, das weiterhin eine Signatur verlangt. Wenn eine Kryptowährung wie Bitcoin Cash allerdings kein SegWit kennt, und ein User versehentlich Coins auf eine SegWit-Adresse sendet – etwa weil er die Wallet verwechselt – dann können die Coins quasi von jedem, der sie erkennt, ausgegeben werden.

Bisher war es in solchen Fällen möglich, einen Miner zu bitten, die Coins zu bergen, indem er eine “Nicht-Standard-Transaktion” gemacht hat. Das war aufwändig und hatte seinen Preis – aber brachte immerhin die Coins zurück. Seit der November-Hardfork ist dies aber nicht mehr möglich. Die ABC-Entwickler haben versehentlich einen Bug eingeführt, der die Transaktion der Miner vollständig ungültig gemacht hat, womit alle Bitcoin Cash, die an SegWit-Adressen gesendet wurden, effektiv eingefroren sind. Mit der Hardfork im Mai soll es nun wieder möglich werden, solche Transaktionen zu bilden.

Es ist zu erwarten, dass die Hardfork reibungslos über die Bühne geht. Eine Diskussion der Features, die diesen Namen verdient, fand und findet nicht statt. Jeder scheint einverstanden zu sein und zu akzeptieren, dass der Release von Bitcoin ABC, der die Hardfork aktiviert, definiert, was Bitcoin Cash ist. Bitcoin Unlimited, im November noch hin- und hergerissen zwischen den beiden Fronten ABC und SV, scheint bereit zu sein, ABC widerspruchslos zu folgen.

Über Christoph Bergmann (1619 Beiträge)
Das Bitcoinblog wird von Bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder. Christoph hat vor kurzem ein Buch geschrieben: Bitcoin: Die verrückte Geschichte vom Aufstieg eines neuen Geldes. Das Buch stellt Bitcoin in seiner ganzen Pracht dar. Ihr könnt es direkt auf der Webseite Bitcoin-Buch.org bestellen - natürlich auch mit Bitcoin - oder auch per Amazon. Natürlich freuen wir uns auch über Spenden in Bitcoin, Bitcoin Cash oder Bitcoin SV an die folgende Adresse: 1BergmanNpFqZwALMRe8GHJqGhtEFD3xMw. Wer will, kann uns auch Hier mit Lightning spenden. Tipps für Stories sind an christoph.bergmann@mailbox.org immer erwünscht. Wer dies privat machen möchte, sollte meinen PGP-Schlüssel verwenden.

12 Kommentare zu Bitcoin Cash: Hardfork im Mai wird Schnorr-Signaturen aktivieren

  1. BCash + Lightning ist doch hoffentlich eine Erfindung von dir?

  2. Gut zu sehen, dass es dieses Mal kein Drama mehr um die Hard Fork gibt und dass zumindest Schnorr implementiert werden konnte.
    Dass Core Schnorr noch nicht aktiviert hat, liegt meines Erachtens an den “Never Hard Fork” Statements diverser involvierter Personen zum Blocksize Drama und für jedes Feature, welches man nun implementieren möchte, müssen Umwege gefunden werden, wie man dieses vielleicht doch auch per Soft-Fork machen könnte, ohne dass es zu große Einbußen an anderen Stellen gibt. Das gilt zum Beispiel an das vor ein paar Monaten veröffentlichte Paper zu “Forward Blocks”, welches mindestens waghalsig klingt, da es mit fast allen Regeln des Consensus bricht, allerdings per Soft-Fork…

    Zunächst wird Schnorr nur als einfache Signaturoperation eingeführt. Das Verschmelzen der Input-Signaturen wird soweit ich es sehe nicht unterstützt, wie auch Multisig noch nicht Schorr-fähig ist.

    Beides übrigens bei Monero bereits implementiert, allerdings mussten die Schnorr-Signaturen für Bulletproofs leicht angepasst werden, da es immer mehrere Inputs gibt. Monero hatte Schnorr übrigens schon vor RingCT, musste dann aber für RingCT auf Borromean Signaturen umsteigen, da RingCT mit Schnorr nicht machbar war, aber mit Bulletproofs wurde die Implementierung wieder möglich.

    Auch Multisig ist bereits verfügbar, allerdings muss ich zugeben, dass es aus User-Sicht noch alles andere als trivial funktioniert. Es gibt Bestrebungen, dies mit “MMS” zu vereinfachen, allerdings ist auch das weiterhin komplizierter als Multisig bei Bitcoin.

    Ach ja, wer einen Monero Node betreibt, unbedingt auf 0.14 updaten! Derzeit nur als CLI Version verfügbar, die GUI kommt aber wohl heute oder morgen. 9. März ist auch Hard Fork und anders als bei Bitcoin Cash kann man neue Blöcke nicht mehr mit der alten Version verifizieren, da der Hash-Algo zu CryptonightR geändert werden musste, um die wieder aufgetauchten ASICs auszubooten. Dieses Mal wurde er aber deutlich stärker abgeändert als zuvor, hat nicht mehr viel mit dem ursprünglichen Cryptonight zu tun und hoffentlich reicht diese Resistenz gegen ASIC Hardware Development bis der neue Algorithmus RandomX eingesetzt werden kann.

    Happy Fork Days!

    • Paul, danke für den Kommentar, aber warum muss hier wieder ein Block über Monero rein? Ist ja nett, dass du erwähnst, dass Monero auch eine Hardfork macht. Aber vielleicht ein wenig zuviel des Guten. Das nimmt langsam ein wenig überhand, wenn unter (gefühlt) jedem zweiten Artikel von mir eine “Werbeeinblendung” für Monero steht …

      • Ich war schon lange nicht hier weil ich aktuell wieder viel zu tun habe, aber hab auch Erwähnungen von Monero zurückgefahren in letzter Zeit. Da es aber meiner Meinung nach relevant war über Schnorr, habe ich das erwähnt.
        Vor allem haben einige Kommentatoren geschrieben, dass sie es interessant finden, über den Tellerrand zu schauen. Okay, den letzten Block hätte ich mir sparen können, aber fand ich persönlich wichtig wegen dem Hard Fork, da er auch so kurzfristig angekündigt wurde…

        Ich finde es wie gesagt gut, dass BCH hard forked, um neue Features einzubringen, denn das ist eigentlich der einzige Weg, das Protokoll weiterzubringen. Soft-Forks sind meist eher Herumdoktorn am Problem vorbei und erfordern von den Akteuren trotzdem ein Upgrade ihrer Software / Implementierung, wenn man weiterhin mit dem Netzwerk interagieren möchte (siehe Segwit).

        Das einzige, was aus meiner Sicht der verbleibende Vorteil eines Soft-Forks ist die User-Perspektive, wenn man es tatsächlich verpasst und dann irgendwie ausgebootet ist. Da macht Bitcoin Cash auch einen besseren Job als Monero, denn der Hard Fork ist knapp 3 Monate vorher angekündigt, mit Feature Freeze und das klappte bei ersterem die letzten drei oder vier Mal nicht einmal mit 1-Monats Frist, da man bedingt der Sicherheit des Netzwerks mehr oder weniger immer zu schnellen Reaktionen gezwungen war.

        BCH hat jedenfalls aktuell mit breit angenommenen Hard Forks ohne Konflikte auch Privacy auf dem Base Layer einzuführen, wenn das von der Community gewollt ist. Mir ist es am Ende egal, welchen Coin ich nutzen kann um meine Privatsphäre zu wahren, ich bin kein Whale und somit nicht wirklich privat vom Kurs abhängig.

        “Kurzer” Disclaimer
        Ich bin schon seit meinen Anfängen im Internet um 1998 herum an Privacy interessiert und auch Aktivist, habe die P2P Revolution miterlebt und aktiv mitgestaltet (damals hat das im Gulli Board angefangen, da das eine der ältesten deutschsprachigen Ressourcen zu diesen Themen war). Direct Connect, eDonkey2000, Audiogalaxy, Bearshare, XDCC, Soulseek Gnutella/LimeWire dürften den meisten im Gegensatz zu den späteren/heute noch aktiven Torrents keine Begriffe mehr sein. Diese waren aber zusammen mit TOR / I2P / Freenet oder Messengern wie Jabber&OTR Bestrebungen einer freien, dezentralen Kommunikation aufbauend auf den zentralisierten (und später kommerzialisierten) Protokollen, die auf einer Client-Server “Beziehung” basieren und sich noch besser zur Massenüberwachung eignen als vorige Kanäle wie Brief, Telefon oder Funk. Auch die Open Source Software Bewegung hat mich stark beeindruckt mit Projekten wie Linux, BSD, GnuPG, OpenSSL, Mozilla oder OpenOffice, welche die kommerziellen Closed Source Blackboxes ersetzen wollte. Mittlerweile begeistert mich auch die Open Source Hardware Bewegung, denn irgendwann kommt die Einsicht, auf Hardwareebene kann man noch mehr Kontrolle gewinnen als auf Software-Ebene. Auch OpenWRT war damals großes Thema, womit man die Kontrolle über seinen Router und seine Einstellungen zurückgewinnen konnte.

        Damals fehlte noch ein dezentrales und privates Zahlungsmittel basierend auf diesem kommerzialisiertem Internet und Bitcoin war dann die nächste Revolution, bis ich zur Einsicht kommen musste, dass so ein öffentliches Kassenbuch noch schlimmer ist als simple Banküberweisungen und mit Tumblern/Mixern experimentiert habe, die allerdings wieder zentralisiert waren. Dann kamen mir die ersten Methoden wie Coinjoin oder Multisig über den Weg und irgendwann war ich dann bei Monero… TOR / I2P interessieren mich immer noch und ich bin in ab und zu in deren Communities, auch IPFS und andere Open Source Bestrebungen, aber das passt gar nicht in die Kommentarspalte hier. Zum Glück geht es dort nicht direkt um geldwerte Vorteile und die Diskussion ist entspannter, die “Gegner” lassen sich klar abgrenzen und im David gegen Goliath Spiel diskutieren diese meist erst gar nicht mit der “Basis”.

        Ich wäre froh, wenn es bei Bitcoin und bei anderen “Crypto”-Projekten 99% der involvierten Menschen um die Idee und nicht persönlichen Profit gehen würde und die jeweiligen Entwicklercommunities sich gegenseitig mehr austauschen würden. Viele der Monero Entwicklungen basieren auf grundlegender Arbeit aus (frühen) Bitcoin Diskussionen, zk-Snarks sind Ring Signaturen in der Theorie auch überlegen, allerdings ist die (meist feindliche) Rivalität ein Hindernis für konstruktiven Austausch.

      • Ich habe bei der Kürze (sic!) meines Beitrags offensichtlich die Open Source Projekte Bisq und OpenBazaar vergessen, die ich auch unterstütze (obwohl sie nativ noch kein XMR beherrschen). Die sind immerhin sehr Bitcoin-relevant aber vor Allem gefällt mir deren Arbeit 😉
        Beide haben einen komplett anderen Ansatz, Bisq wird von einigen Leuten in ihrer Freizeit entwickelt und wo notwendig von Gründer Manfred Karrer gebootstrappt, OpenBazaar hat ein VC Funding und eigentlich noch kein Geschäftsmodell, aber sind Open Source und hoffen mit zukünftigen Entwicklungen irgendetwas zu monetarisieren (wie z.B. Multi-Currency Wallets wie Exodus oder Coinomi an den Exchange-Fees mitverdienen). Beide ganz ohne scammy ICO und mit tatsächlicher (und offener) Technologie und Entwicklung für mehr Dezentralisierung!

  3. Schön zu sehen, wie sich meine frühzeitige KryptoInvestion durch die Forkerei nicht verringert, sondern parallel weiter vermehrt.

    Irgendwann kauf ich mir mit BTC eine Villa, bezahle die Bediensteten in BCH, surfe mit BSV im Web 5.0 und für meine Enkel gibt es BTG. Die zahllosen anderen Coins spende ich an Bedürftige wie J.P. Morgan oder Warren Buffet.

    🙂

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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s