Man hätte denken können, die leidigen Blocksize-Hardfork-Hahnenkämpfe seien vorüber, und die Core Roadmap hätte sich, ob man sie mag oder nicht, durchgesetzt. Ist aber nicht so. Seit der chinesische Pool ViaBTC begonnen hat, mit Bitcoin Unlimited zu minen, toben die Fork Kriege heftiger denn je.
Zombies und die Blocksize-Debatte haben gemeinsam, dass sie einfach nicht sterben wollen. Die Debatte verunleidigt seit rund eineinhalb Jahren die Atmosphäre in der Bitcoin-Community, lässt die Sitten verfallen und Verschwörungstheorien sprießen, und selbst nachdem es schien, als hätte sich der Widerstand gegen die Roadmap von Core endgültig ins Abseits manöveriert, ist die Sache noch nicht ausgestanden.
Die Anhebung des Blocksize-Limits war auf der Scaling-Bitcoin Konferenz in Mailand gar kein Thema mehr. Skalieren bedeutet, nach dem nun gängigen Verständnis, Lightning, SegWit, Sidechains, Schnorr-Signaturen – Maßnahmen, die den Entwicklern viel besser gefallen als Aufheben eines Limits, das sie für phantasielos, riskant und relativ unfruchtbar halten.
Die Stimmung in Mailand war gut, die dort präsentierten Lösungen und Ansätze haben gezeigt, wie intensiv und vielschichtig an der Scalability gearbeitet wird. So richtig zufrieden war aber offenbar nicht jeder. Zumindest nicht Haipo Yang.
Weshalb ViaBTC den Aufstand probt
Haipo ist Chef von ViaBTC, einem Pool, der rund 10 Prozent der globalen Hashrate stellt. ViaBTC wurde erst im Juni gegründet, erfreute sich aber rasend schneller großer Beliebtheit, was laut Haipo daran liegt, dass er schnell, sicher und günstig ist, keine Downtimes hat und sehr wenig Orphans produziert. Zumindest hat er mir das so erzählt, als ich ihn gefragt habe (und ich vergessen habe, die wichtigen Fragen zu stellen).
Kaum war Haipo zurück in China, hat er angeordnet, dass sein Pool künftig nicht mehr mit Core, sondern mit Unlimited arbeitet. Warum, erklärt er in einem ausführlichen Blogpost:
- Warum maßt er sich an, als Chef eines Mining-Pools für die die Miner eine Entscheidung zu treffen? „Ich denke nicht, dass ich das Recht habe, meine persönliche Meinung auf die User meines Pools zu übertragen. Nachdem ich wichtige User konsultiert habe, war ich mir jedoch ihrer Unterstützung sicher.“ Zwar treffen die Miner die Entscheidung, ob man die Blocksize erhöht oder nicht, aber es hat sich gezeigt, „dass die Miner sich nicht genug darum scheren, um über Änderungen des Bitcoin-Protokolls abzustimmen.“
- Warum Unlimited und nicht Classic? Tests haben gezeigt, dass das Netzwerk ohne Probleme 2 MB Blöcke tragen kann, wie sie Classic vorschlägt. „Allerdings ist Bitcoin Unlimited gut für die langfristige Gesundheit des Netzwerkes, da es endgültige Tatsachen schafft und uns künftige Soft- oder Hardfork wegen der Blocksize erspart.“
- Warum muss man die Blocksize überhaupt erhöhen? Wenn man sie nicht erhöht, wird das Wachstum von Bitcoin an eine Grenze stoßen „und Bitcoin kann wohl als gescheitertes Experiment betrachtet werden.“ Die Weigerung, ein künstlich auferlegtes Limit anzuheben, „kommt einem Selbstmord gleich.“ Zudem gefährde die Beschränkung der onchain-Transaktionen das Geschäftsmodell der Miner und damit die Sicherheit des Netzwerkes.
- Was spricht gegen eine Kapazitätserhöhung durch SegWit? SegWit wird nicht sofort, sondern nach Schätzung von Haipo erst nach einem Jahr die versprochene Kapazität von 1,7 MB bringen. Dies geht einher „mit einer enormen Summe von technischer Schuld (‚technical debt‘)“, die von „Knoten, Pools, Block-Explorer, Wallets, ATMs, Börsen und anderen Anwendungen verlangt, ihre Software komplett umzuschreiben.“ Schließlich sei SegWit von Core auch ins Spiel gebracht worden, um eine Hardfork zu verhindern, und wird es demnach „Core ermöglichen, weiterhin eine echte Blocksize-Erhöhung zu verhindern.“
- Aber ist Lightning nicht die klügere Art, zu skalieren? Zunächst, so Haipu, löse Lightning keine wirklichen Probleme. Leute nutzen Bitcon nicht wegen der schnellen Transaktionen, sondern weil es dezentrales, von keiner Organisation kontrolliertes Geld ist. Zweitens seien Transaktionen im Lightning-Netzwerk keine echten Transaktionen, sondern eher wie Guthaben in der Datenbank einer Börse oder Bank. Sie verkomplizieren die Nutzung von Bitcoin und bringen das System, „aus dem Bitcoin der Ausgang sein sollte“, zurück. Drittens schließlich ist es „lächerlich“, zu sagen, dass Bitcoin ein „Settlement System“ ist: „Bitcoin ist in erster Linie eine digitale Währung; die Settlement-Eigenschaften sind zweitranging. Wenn Bitcoin seine monetären Eigenschaften verliert, verliert es auch seine Nützlichkeit als Settlement-Netzwerk.“
Logisch: Man kann gegen jeden einzelnen Punkt argumentieren. Man kann sagen, dass Haipu nicht versteht, was die Risiken einer Hardfork sind, warum SegWit so wichtig ist, wie Lightning-Transaktionen funktionieren und warum eine Erhöhung der Blocksize womöglich die letzte Chance ruiniert, den Bitcoin weitgehend und zukunftssicher umzubauen.
Aber bringt das etwas? Lohnt es sich, dieselbe Schallplatte wieder und wieder rauf und runter zu hören? Man kann mit Haipo streiten, aber man kann nicht bestreiten, dass er seine Argumente hat und über vieles nachgedacht hat. Aufschlussreicher finde ich es daher, darüber zu reden, wie Bitcoin Unlimited eine Fork einleiten könnte.
Warum Unlimited nicht ohne Limit ist
Was macht Bitcoin Unlimited? Der alternative Client hebt nicht das Blocksize-Limit vollständig auf, wie der Name nahelegt, sondern überlässt es den Usern.
Miner können so große Blöcke bilden, wie sie wollen, während die Clients eine „excessive blocksize“ definieren können. Man kann also beispielsweise bestimmen, dass man keine Blöcke akzeptiert, die größer als 1,5 MB sind.
Sobald ein Miner, etwa ViaBTC, beginnt, einen Block zu minen, der größer als 1 MB ist, beginnt die Fork. Andere Miner, die ebenfalls Unlimited benutzen, werden den Block vielleicht akzeptieren und auf seiner Basis weiterminen, wie auch User, die Unlimited (oder Classic) benutzen, den Block akzeptieren werden. Die Miner hingegen, die bei Core bleiben, werden den Block ignorieren, wie auch die Core-Clients.
Der Unlimited-Client nimmt dabei aber die Fork-Blöcke nicht bedingungslos an. So beobachtet er die beiden bestehenden Block-Ketten und springt erst auf die neue, geforkte über, wenn eine von dem User selbst zu definierende „Tiefe“ erreicht ist. Wenn die Tiefe beispielsweise 12 ist, müssen auf den ersten Fork-Block elf weitere Blöcke folgen, bis er gilt. Zudem akzeptiert Unlimited, soweit ich weiß, nur die längste Kette.
Wenn also ViaBTC morgen beginnt, größere Blöcke zu minen, wird voraussichtlich gar nichts geschehen. Solange die anderen Miner weiterhin Core benutzen, werden sie die Blöcke nicht akzeptieren. Der von ViaBTC erzeugte größere Block wird nicht die Tiefe erreichen, um von Unlimited Knoten akzeptiert zu werden und daher schlichterdings verfallen. ViaBTC wird den Block-Reward verlieren.
Erst wenn sagen wir 50% der Hashrate ebenfalls Unlimited benutzt, hat ein Block die Chance, mit viel Glück ausreichend Tiefe zu erreichen, um von den Unlimited Knoten akzeptiert zu werden. Die Core-Knoten und -Miner werden ihn weiterhin verwerfen. In diesem Moment kann es passieren, dass das Netzwerk partitioniert wird.
Wie es dann weitergeht, hängt von vielem ab. Werden die anderen Miner und Clients folgen? Wird eine der beiden Ketten eingehen? Oder werden beide fortbestehen? All diese Szenarien sind möglich. Das, was Unlimited macht, ist, den Akteuren – den Minern und Clients – die Chance zu geben, sich selbst auf eine Blocksize zu einigen. Selbst dann, wenn dies in zwei Netzwerken mündet.

