Fork you! Neuigkeiten von den Blocksize-Kriegen

Fork Fun III von Broderick via flickr.com. Lizenz: Creative Commons

Monat für Monat dasselbe Thema. Was die Flüchtlingsdebatte für Deutschland ist, ist die Blocksize-Diskussion für die Bitcoin-Szene: Zwei Lager stehen sich offenbar unversöhnlich gegenüber, Meinungen versteinern sich und Geschirr zerbricht, während die Szenerie mit Volldampf auf den Eisberg zusteuert. Hier erfahrt ihr, was in den letzten Wochen an der Blocksize-Front passiert ist.


Für Eilige:

  • Core will Blöcke vorerst 1 MB groß lassen
  • Classic will auf 2 MB hardforken
  • Wirtschaft unterstützt Classic
  • Entwickler bleiben bei Core
  • Chinesische Miner sind unschlüssig
  • Core bereitet Release 0.12 vor
  • Gavin schreibt für Classic ein BIP

Mit eine der Schwierigkeiten der Blocksize-Debatte ist, dass sie rein virtuell stattfindet. Das macht es mehr oder weniger unmöglich, zu beurteilen, wie viele Leute auf welcher Seite stehen. Steht die Mehrheit der Community weiter hinter den Bitcoin-Kernentwicklern, die sich weigern, die Blocksize zu erhöhen, oder steht sie hinter Bitcoin Classic mit Gavin Andresen und Jeff Garzik, die so schnell wie möglich auf 2 MB Blöcke springen wollen?

Das Problem: Die Blöcke werden langsam voll, und die Kapazität des Bitcoins ist auf 2-3 Transaktionen je Sekunde beschränkt. Das “Team Big Blocks” verlangt daher, die maximale Größe der Blöcke zu erhöhen. Das “Team Small Block” um Core fürchtet dagegen, dass dies zu einer Zentralisierung von Knoten und Minern führt.

In jedem Lager gibt es diese über-engagierten Leute, die in jedem Forum ständig posten, oft aggressiv, beleidigend, absolut entschlossen; und wer weiß, ob diese Leute nicht mehrere Accounts – Sockenpuppen! – haben, oder ob es nicht jemanden gibt, der ihnen dafür Geld bezahlt, für eine Meinung zu trollen? Es ist unübersichtlich und schwer zu sagen, ob es nun einen Konsens für etwas gibt oder nicht. Will die Mehrheit größere Blöcke – oder will die Mehrheit Core folgen?

Anfang des Jahres sind Jonathan Toomin, Gavin Andresen und Jeff Garzik vorgestoßen und haben Bitcoin Classic angekündigt. Classic soll dieselbe Software wie Core sein, aber 2 MB Blöcke akzeptieren. Classic würde eine Hard Fork veranstalten und damit das Netzwerk vorübergehend in zwei inkompatible Teile trennen.

Ökonomie vs. Entwickler?

Zumindest die ökonomische Mehrheit scheint klar für 2 MB Blöcke zu sein. Bitcoin Classic hat die Unterstützung von großen Börsen, Online-Wallets, Zahlungsdienstleister, Asic-Hersteller und großer Mining-Pools. Mehr oder weniger alle großen Firmen unterstützen Classic.

Core hat auch Support für sich gesammelt. Soweit ich weiß waren an bekannteren Unternehmen nur ledger und GreenAddress dabei. Aber eigentlich hat Core das gar nicht nötig, da so gut wie alle Entwickler hinter Core stehen. Das Team Classic steht mit Jonathan Toomin, Gavin Andresen und Jeff Garzik relativ schwachbrüstig da, während Core Dutzende Leute zusammenhält, die seit Jahren mit Bitcoin arbeiten.

F2Pool, ein chinesischer Mining-Pool mit derzeit 25% der Hashrate, hat daher seine Unterstützung für Classic relativiert: man begrüße den Vorstoß, unterstütze ihn aber noch nicht. Etwas deutlicher war BTCChina, die große chinesische Börse mit Mining-Pool: man gehe zwar inhaltlich mit Classic, aber man werde es erst unterstützen, wenn ausreichend Entwickler-Kompetenz dahinter stehe.

Die chinesischen Pools haben sich dem Verlauten nach zusammengesetzt und eine gemeinsame Position gefunden: Man möchte die Kernentwickler weiterhin im Boot haben, will aber auch, dass die Blocksize erhöht wird, und ist bereit, dies selbst in die Hand zu nehmen, falls sich Core weiter weigert. Eric vom Pool HaoBTC drückt dies in einem Bitcointalk-Thread so aus:

Insgesamt gibt es ein Gefühl der Hilflosigkeit. Einige von uns fragen sich, warum die Chinesen in der Sache so wenig zu sagen haben und einige drängen darauf, dass wir ein eigenes Entwickler-Team bilden und eine eigene Fork entwickeln … Einige denken auch, dass dies ein Test der Bereitschaft von Core sei, zuzuhören. Wenn sie nicht bereit sind, diesen kleinen Kompromiss einzugehen, dann fürchten die Chinesen, dass sie auch in der Zukunft nicht kompromissbereit sein werden.

Wer es sich antun möchte, den Thread weiter zu verfolgen, wird verstehen, was ich mit einer festgefahrenen, mitunter ekelhaften, Debatte meine.

Marketing und Propaganda

Das Ärgerliche an den Blocksize-Kriegen ist, dass die Kernentwickler sie jederzeit beenden könnten, indem sie 2 MB Blöcke einführen, was, wie sie selbst einräumen, problemlos möglich wäre. Das Team “Big Blocks” ist von den 8 MB durch XT runter auf 2 MB gegangen und hat dafür die Zustimmung der Wirtschaft.

Core aber bleibt dabei: der richtige Weg jetzt zu skalieren, ist Segregated Witness. Es gibt kein klares Bekenntnis zu einer Erhöhung der Blocksize. Es gibt dafür Gründe, wie etwa Jonas Schnelli im Interview erklärt, und man könnte diesen Gründen hinzufügen, dass Core keinen Präzedenzfall schaffen möchte.

Insgesamt reagiert Core jedoch auf die Kritik aus Wirtschaft und Community so ähnlich wie die Stuttgarter Stadtverwaltung auf Proteste gegen Stuttgart 21: Man ignoriert weiterhin das Anliegen der Protestierenden, aber räumt ein, bei der Kommunikation gepatzt zu haben – womit das Problem nicht mehr in dem liegt, wogegen demonstriert wird, sondern in der Unwissenheit der Protestierenden bzw. deren Unfähigkeit, rationale Argumente nachzuvollziehen.

Die Kern-Entwickler arbeiten also an ihrem öffentlichen Auftritt. Auf der neuen Webseite bitcoinco.re wurden zwei FAQ veröffentlicht, zu opt-in-RBF sowie zu Segregated Witness. Außerdem hat Core nun auch einen twitter-account und einen öffentlichen Slack-Kanal. Adam Back, Erfinder des Hashcash und Mit-Gründer von Blockstream, twittert entschieden für Core – ohne dass geklärt ist, weshalb Adam Back nun für Core spricht – während Gregory Maxwell zu reddit zurückkehrt und Core Position etwas aggressiv und verbissen verteidigt. So richtig Sympathie kommt dabei nicht rüber.

Auch im Marketing von Classic läuft nicht alles glatt. Michael Toomin, der mit seinem vermutlich älteren Bruder Jonathan das Mining-Center der Toomins leitet, hat seinen freien Tag genutzt, um im Slack-Kanal von Core aufzukreuzen. Dabei war er allerdings vollkommen zugedröhnt, was er auf Nachfrage auch bestätigt hat. In seinem Bundesstaat ist das zwar nicht illegal (wie auch breit sein hier nicht illegal ist), aber es hat den Auftritt unfreiwillig komisch gemacht und war alles andere als vertrauenserweckend. Wer würde schon die Zukunft des Bitcoin in die Hände eines Kiffers legen?

Echte Arbeit

Zugleich sind beide Seiten ihrer Arbeit nachgegangen. Core hat einen Pre-Release von Bitcoin Core 0.12 herausgegeben. Der Release hat, wie schon Jonas Schnelli angedeutet hat, eine sehr umfangreiche Dokumentation. Ich habe ihn noch nicht getestet, kann aber schon mal so viel sagen: indem openSSL durch libsecp256k1 ersetzt wurde, soll die Verifizierung von Transaktionen und Blöcken erheblich beschleunigen, Pruning wird aktiviert (damit kann man seine Blockchain komprimieren), das umstrittene Opt-in RBF wird nicht nur integriert, sondern auch per default eingeschalten, es gibt einen Traffic-Shaper für den Upload, der Mempool – der die unbestätigten Transaktionen speichert – wird limitiert, die Gebühr wird neu berechnet und mehr. Core 0.12 ist ein sehr umfangreiches Update, das aber nicht in jeder Hinsicht Beifall findet.

Auch bei Classic wurde geschuftet. Gavin Andresen hat den Vorstoß auf 2 MB als formelles BIP eingereicht. Wenn 75% der Miner das BIP unterstützen und eine Frist von 28 Tagen verstrichen ist, wird die Blockgröße auf 2 MB erhöht. Das BIP kann bis zum 1. Januar 2018 getrigert werden. Danach soll es verfallen. Das “Sigops”-Limit – das Limit der zu verarbeitenden Signaturen je Block – soll so bleiben, wie es derzeit ist, aber nur für ECDSA-Verifikationen gelten, die den Block validieren, während es ein neues Limit von 1.300.000.000 Bytes an Hash-Data je Block gibt. Somit ist die Gefahr einer “Monstertransaktion”, die die CPU aller Knoten lahmlegt, wohl beseitigt.

Damit ist der weitere Weg im Prinzip klar. Entweder Core bringt schnell – aber sauber – Segregated Witness ans Ziel und die dadurch gewonnene Kapazität recht fürs erste aus – oder die chinesischen Miner sowie die Industrie werden Classic unterstützen und die Erhöhung der Blocksize erzwingen.

About Christoph Bergmann (825 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 1CL1QgiFcBXZKtYDUpipREsfaKFJHhNmpV. Jeder Satoshi wird dazu verwendet, um das Blog besser zu machen. 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

19 Comments on Fork you! Neuigkeiten von den Blocksize-Kriegen

  1. Hallo, danke für die schöne Übersicht. Mich würde mal interessieren, wie schnell eine Erhöhung der Blocksize in Bitcoin core umsetztbar wäre, wenn sich die Entwickler heute dafür entscheiden würden? Wenn die Implementierung wirklich so einfach ist, kann man getrost die Zeit auf SegWit verwenden und erst umschwenken kurz bevor es zuspät ist.

    • Guter Punkt.
      An sich wäre eine Erhöhung recht einfach. Ein paar Zeilen Code (siehe das BIP von Gavin Andresen).
      Danach gibt es eine Hardfork. Da die Miner wohl dabei sind, dürfte diese relativ problemlos ablaufen, da die Nodes ebenfalls updaten müssen, um zu vermeiden, dass ihre Coins sinnlos sind.

  2. Frage zum Ablauf eines Hard Fork
    Wie sieht es eigentlich bei einem Hardfork mit dem Wechselkurs zwischen den beiden Bitcoin Varianten, bzw. von den den beiden Bitcoin Varianten zu Fiat-Währungen aus ?
    Ich würde davon ausgehen, dass bei einem erfolgreichen Hardfork ein 1 zu 1 Tausch alte gegen neue Bitcoin nur kurzfristig gehalten werden kann und der alte Bitcoin schnell an Wert verliert und dann gegen Null tendiert.
    In dem Moment, wo der Wertverfall beginnt, werden natürlich die großen Besitzer von alten Bitcoin schnellsten versuchen ihre alten Bitcoins noch zu einem möglichst guten Kurs einzutauschen, was den Wertverfall der alten Bitcoins dann dramatisch beschleunigen wird.
    Die letzten beißen dann die Hunde…
    Für die gesamte kommerzielle Bitcoin Infrastruktur, die mit relativ festen Wechselkursen zwischen alten Bitcoin und Fiat-Währungen (z.B. bei Online-Shops) operiert, wird das eine interessante technische Herausforderung.

    Oder sehe ich da was falsch ?

    Hugo

    • Ich denke, du siehst das richtig!
      Bei einem erfolgreichen Fork sollte man normal nirgends die Möglichkeit haben, seine “alten” coins auszugeben.
      Jetzt stell ich mir gerade die Frage: Ist es überhaupt möglich, seine Coins nur in einer der 2 Ketten auszugeben? Ich meine, verbucht wird die Transaktion ja in beiden Systemen gleichzeitig, nur eben in einem anderen Block!?

      • Der Hardfork basiert auf der gleichen Blockchain, d.h. dass alle Bitcoins im neuen System zur Verfügung stehen. Theoretisch kann man jetzt die Coins zweimal ausgeben. Einmal in Bitcoin core und nocheinmal in Bitcoin classic, die Bestätigungen finden ja jetzt in unterschiedlichen Systemen statt.
        Man kann es sich so vorstellen, dass der heutige Wert auf zwei neue Bitcoins verteilt wird. Im schlimmsten Fall 75% auf Bitcoin classic und 25% auf Bitcoin core. Danach bestimmt der Handel an den Börsen wie sich der Preis weiterentwickelt. Es ist anzunehmen, dass durch die Aktivierung des Hardforks die übrigen Core-Miner gezwungen sein werden auf Bitcoin classic umzustellen. Die Core Entwickler wechseln die Seite und entscheiden sich jetzt für Bitcoin classic zu entwickeln. Dadurch verfällt der Wert von Bitcoin-Core weiter und es wird schwer sein noch Core-Bitcoin Käufer zu finden.
        Im besten Fall pendelt der Preis für Bitcoin classic dann wieder auf dem heutigen Preis ein und es gibt einen neuen Altcoin namens Bitcoin core.

        Sollten die wichtigsten Entwickler aber bei Core bleiben und sie ihre Pläne für das Lighting Netzwerk weiter verfolgen, wird der Wert nicht auf Null sinken und wieder steigen, je näher sie diesem Ziel kommen.

        Es bleibt also spannend.

      • Christoph // 31. January 2016 at 19:12 //

        sorry, ich habe immer noch Zweifel an diesem “2x ausgeben”.
        Ich habe gerade danach gegoogelt, aber kaum passendes gefunden.

        Es gibt ja nach dem Fork immer noch nur 1 Netzwerk, nur sehen die Clients A Block X.2345 als korrekten Block an und die Clients B den Block Y.1

        Macht man nun eine Überweisung, dann speichern die einen Clients das in dem einen Block ab und die anderen Clients speichern es in der andern Block ab.

        Wie bekommt man jetzt den selben Coin in unterschiedliche Adressen?
        Man müsste eine Überweisung machen, die in dem einem System ungültig ist. Das wäre beim Blocksize – Thema nur möglich, wenn man eine Mega-Transaktion erstellt, die >1Mb wäre – also fast unmöglich! Eine zweite Möglichkeit wären (eventuell) so viele Transaktionen (zb. 300.000+ pro Tag) so dass das alte core System einfach nicht nachkommt und somit die Transaktion nie verbucht wird.
        Also alles nicht so einfach, würde ich sagen…

      • Zur Frage: “Wie bekommt man jetzt den selben Coin in unterschiedliche Adressen?”

        Nach der Gabelung versende man mit Client A (der die alte Blockchain benutzt) von A1 auf A2 und mit Client B (neue Blockchain) von A1 auf A3. Der Besitzer von A2 muß nun Client A verwenden, um den neuen Betrag zu sehen, und der von A3 muß Client B benutzen.

        Peter

      • Im Prinzip wird eine Transaktion für beide Chains nach der Fork gültig sein. Sie wird voraussichtlich jedoch zu anderen Zeiten und in anderen Blocks bestätigt (abhängig von der tatsächlichen Blockgröße und der Hashrate).

        Es gibt wohl die Möglichkeit, einen double spend zu betreiben, der auch die Bestätigung übersteht, indem man beispielsweise eine Überweisung schreibt, und sie, nachdem sie in der neuen, langen Chain mit großen Blöcken bestätigt wurde, auf der alten Chain doublespendet. Die erfolgschance dürfte relativ gering sein, je nachdem, wie viel Zeit bis zur Bestätigung verstrichen ist, aber es ist theoretisch möglich, so einen double spent zu bestätigen. Demnach sollte jeder, der Bitcoin von unbekannter Quelle empfängt, in der Zeit der Fork eine Transaktion auf beiden Chains prüfen.

        Ich selbst vermute aber, dass eine Fork recht schnell vorbei sein wird. Sollte eine Seite eine Supermehrheit (+75%) der Hashrate haben, können die Miner die andere Seite vernichten oder in Splitter forken (durch eine risikolose 51%-Attacke). Ein solcher Minderheitscoin wird kaum als sicher gelten und darum so gut wie keinen Wert haben.

        Die einzigen kritischen Möglichkeiten sind eine knappe Mehrheit (60%, was theoretisch auch bei einer Schwelle von 75% möglich ist) sowie ein Wechsel des Mining-Algorithmus durch den Minderheitencoin.

  3. An den obigen 3 kommentaren sieht man überdeutlich, das unabhängig davon was man für die bessere technische lösung hält, ein hardfork etwas ist was aus jeden fall vermieden werden sollte. Ich denke das eine ganze menge “alt-bitcoinbesitzer” die sache verschlafen würden und dann später mit möglicherweise wertlosen alt bitcoins dastehen würden. Das ist etwas so image schädigendes das kann man nicht ernsthaft empfehlen. Als beispiel wie man damit umgehen muss… ich kann heute noch alte DM scheine und münzen in euro tauschen!

    • Aber so ist das doch gar nicht, oder sehe ich hier etwas falsch? Als “Alt-Bitcoinbesitzer” kann mir doch gar nichts passieren, da ich die Bitcoins in jedem Fall in beiden Ketten zur Verfügung habe. Oder?

      • Genau.

      • Axel Stoll // 2. February 2016 at 19:42 //

        Ja die Coins werden sich durch einen hardfork einfach verdoppeln.
        Einmal Bitcoin und einmal Bitcoin classic.
        Seine Coins verlieren wird also keiner und “eintauschen” wird man auch nichts.

        Trotzdem hätte es meiner Meinung nach einen Crash beider Kurse zur Folge.
        Denn es ist zur erwarten daß aus beiden Coins Leute aussteigen.
        Alleine die Unsicherheit darüber welche der beiden Währungen sich durchsetzt dürfte ja Anlass sein um so schnell wie möglich aus beiden auszusteigen.
        Insbesondere wenn die Situation uneindeutig ist.
        Bloss weil irgendwelche unternehmen und Miner bitcoin classic wollen müssen die Benutzer und Entwickler das ja nicht wollen. Und die Benutzer bestimmen ja den Preis.

  4. eher wohin wechselt das online wallet oder die Börse.
    Am besten vorm Fork alle btc in paperwallet, dann hast sie def in beiden chains

  5. Wäre es nicht sehr viel klüger die Diskussion den jenigen zu überlassen, die den Bitcoin bis ins letzte Detail verstehen, anstatt mit einem gesunden Halbwissen das Geschick des Bitcoins in eine Richtung zu drängen?
    Halbwissen war noch nie ein guter Berater…

  6. Also das Ranking ist ziemlich eindeutig (für eine größere Blocksize):
    – 1 Bitcoin Unlimited
    – 2 8MB then exponential
    – 3 Adaptive Limit(Bitpay Version)
    [Quelle : https://bitcoin.consider.it/%5D

  7. Nattydraddy // 2. February 2016 at 10:41 // Reply

    Das zitierte Ranking von Adrian ist leider nicht eindeutig, weil bitcoin.consider.it/ eine kürzlich von der “Big Block”-Fraktion aufgesetzte Seite ist.

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