de
Zurück zur Liste

Bitcoin Cash (BCH) streitet über einen neuen Algorithmus für die neue Hardfork

source-logo  bitcoinblog.de 29 Juli 2020 05:40, UTC

Im November wird Bitcoin Cash (BCH) wieder eine Hardfork durchlaufen. Wie stets gibt es im Vorfeld heftige Diskussionen. Diesmal geht es um einen neuen Algorithmus für die Schwierigkeit des Minings, was an sich eine notwendige Verbesserung ist. Doch ABC-Leitentwickler Amaury bringt mal wieder die Community gegen sich auf.

Es gehört bei Bitcoin Cash (BCH) mittlerweile zur Tradition, dass die halbjährliche Hardfork zum Gegenstand von Diskussionen wird, die immer heftig und mal konstruktiv, mal bitter sind. Schließlich geht es dabei darum, was in das Protokoll von Bitcoin Cash gehört, und darüber sollte kritisch gestritten werden.

Ebenfalls zur Tradition gehört es, dass das selbstherrliche Auftreten von Amaury Sechet die anderen Entwickler dabei immer wieder vor den Kopf stößt. Der Chefentwickler von Bitcoin ABC und selbsternannte „Gründer von Bitcoin Cash“ kann es auch diesmal nicht lassen.

Anlass ist die Wahl eines neuen „Difficulty Adjustment Algorithm“ (DAA). Das meint den Algorithmus, der die Schwierigkeit bestimmt, gegen die die Miner arbeiten. Diese Schwierigkeit muss sich an die von den Minern eingesetzte Hashpower anpassen, damit die Produktion neuer Blocks regelmäßig abläuft. Bei Bitcoin (BTC) passt sich der Algorithmus alle zwei Wochen an.

Bei einem Coin, der wie Bitcoin Cash (BCH) denselben Hashing-Algorithmus wie Bitcoin (BTC) nutzt, aber durch den sehr viel geringeren Marktpreis deutlich weniger Belohnungen an die Miner ausschüttet, reicht dies jedoch nicht: Die Hashrate würde viel zu stark oszillieren, weil die Miner je nach Profitabilität kommen und gehen, und die Intervalle zwischen den Blöcken zwischen extrem kurz und extrem lang schwanken. Ein Zeitraffer würde sich mit einer Eiszeit abwechseln.

Der aktuelle Zank hat eine lange Vorgeschichte

Daher hat Amaury Bitcoin Cash schon mit der initialen Hardfork 2017 einen neuen DAA verpasst. Der war gut genug, um zu verhindern, dass die Blockchain komplett unbenutzbar wurde, war aber so simpel gestrickt, dass die Miner ihn schon bald ausnutzten. In den ersten Monaten hatte Bitcoin Cash eine extrem erratische Blockproduktion, die die Benutzbarkeit stark einschränkte.

Das änderte sich erst mit der Einführung eines neuen Algorithmus im Herbst 2017. Dort hatte Amaury zum ersten Mal andere Entwickler mit einer „NIH“-Mentalität vor den Kopf gestoßen. NIH meint „Not Invented Here“, zu deutsch: „Nicht hier erfunden“, und meint eine unter Entwicklern gar nicht so seltene Krankheit – sie akzeptieren nur das, was sie selbst erfunden haben.

Zunächst fand die Diskussion des neuen DAA offen in einer Mailing-Liste statt. Tom Harding von Bitcoin XT hatte einen Algorithmus entwickelt und ihn von einem Altcoin-Entwickler prüfen lassen, der viel Erfahrung mit Schwierigkeitsalgorithmen hatte. Begeistert teilte Tom das äußerst positive Urteil in einer Mailing-Liste. Doch Amaury und seine ABC-Mitentwickler zogen sich aus der Diskussion zurück, um kurz darauf anzukündigen, sich für die kommende Fork für einen von Amaury entwickelten Algorithmus entschieden zu haben. Das ist der gegenwärtige Algorithmus von Bitcoin Cash, der zwar ein großer Fortschritt ist, allerdings weiterhin Anreize für die Miner setzt, je nach Schwierigkeit zwischen BTC, BCH und Bitcoin SV (BSV) zu wechseln. Daher schwanken die Blockintervalle weiterhin deutlich.

ASERT vs. Grasberg

Nun wiederholt sich dasselbe in Grün. Anstatt Tom Harding hat Jonathan Toomim vor zwei Wochen einen neuen Algorithmus vorgeschlagen. Dieser heißt ASERT.

ASERT beruht auf dem exponentiell-bewegenden Durchschnitt (Exponential Moving Average, EMA). Laut Toomim reduziert er den Verlust, den ein konstant BCH schürfender Miner gegenüber einem Miner macht, der stets auf die profitabelste Blockchain springt, von 6 auf 0,35-0,65 Prozent. Damit wären die Anreize, Bitcoin Cash für ein wenig Profit zu destabilisieren, extrem gering. Unter den umfangreichen Testserien, die Toomim durchgeführt hat, erwies sich ASERT als der Algorithmus, der die stabilsten Blockprotokolle gewährleistet. Daher hat er den Code für die Nodesoftware BCHN (Bitcoin Cash Node) implementiert, an Amaury und dessen ABC-Entwicklern geschickt und vorgeschlagen, ihn mit der Hardfork im November zu aktivieren.

ASERT kommt gut an. Die Bitcoin-Cash-Community interessiert sich sehr für einen neuen DAA, da die Probleme mit dem alten Algorithmus seit langem bekannt sind. Das räumt auch Amaury auf einem Post auf read.cash vor vier Tagen ein: „Die Bitcoin Cash Community hat ein großes Interesse daran gezeigt, den DAA zu verbessern.“ Und so, als hätte der Vorschlag von Jonathan Toomim niemals existiert, fährt er fort: „Obwohl es eine breite Diskussion über mögliche DAA gibt, liegt ABC zu diesem Zeitpunkt kein Vorschlag vor, was bedeutet, dass wir nicht mehr genügend Zeit haben, um es ausreichend zu simulieren und zu testen und zu diskutieren, bevor wir die Features [für die Hardfork] am 15. August einfrieren.“

Es ist für Jonathan Toomim schon schräg, dass Amaury so tut, als kenne er ASERT nicht. Nicht minder verwunderlich ist aber, wenn Amaury danach zeigt, dass die von ihm aufgestellten Regeln offenbar nicht für ihn selbst gelten. Er zieht einen neuen Algorithmus aus der Tasche, den noch keiner kennt, und tütet ihn als das ein, was in die Hardfork kommen muss: „Daher wird Bitcoin ABC mit dem Grasberg DAA fortfahren.“  Diesen Algorithmus hat Amaury offenbar entwickelt, ohne davon jemandem in den umfangreichen Diskussionen zum DAA zu erzählen. Grasberg baut auf Toomims ASERT auf – den Amaury offenbar doch kennt – und führt plötzlich eine „Drift Correction“ ein.

Mit der Drift Correction möchte Amaury etwas korrigieren, was die Folge des von ihm eingeführten alten DAA ist: Weil die Miner so oft die Chain gewechselt haben, war die Schwierigkeit im Schnitt etwas zu tief, weshalb etwas mehr Coins erzeugt wurden als eigentlich vorgesehen. Grasberg soll das korrigieren, indem er die Blockemission für die kommenden Jahre leicht drosselt – anscheinend um 12,5 Prozent – bis sie wieder auf der ursprünglichen Kurve liegt.

Dann erklärt Amaury, dass Bitcoin ABC den Algorithmus bereits teste, „aber die anderen Parteien einlädt, die Ergebnisse zu reproduzieren – hoffentlich – oder nicht.“ Zur Diskussion scheint der Algorithmus für ihn nicht mehr zu stehen.

Die Chance verpasst, ein guter Anführer zu sein

Die Community ist empört und bis auf wenige Ausnahmen auf der Seite von Jonathan Toomim. Warum kann Amaury sich nicht wenigstens einmal Mühe geben, ein guter Teamleiter zu sein? Warum kann er seinen Vorschlag nicht diskutieren, wie es jeder macht? Warum muss er es, ohne die Einigung mit den anderen Teams abzuwarten, in ABC einführen und damit eine Spaltung der Blockchain riskieren, wenn es zur Fork kommt? Wer hat jemals eine Drift Correction gewünscht? Und ist ihm nicht klar, dass er schon mit der Mining-Steuer sein Blatt überreizt hat? Und so weiter. Die Verärgerung füllt viele Blogposts und Threads auf Reddits r/btc.

Einige BCH-Entwickler argumentieren technisch. ASERT ist sehr viel simpler im Code, und wird auch sehr viel simpler in der Implementierung sein. So verlangt Grasberg beispielsweise offenbar ein Upgrade aller SPV-Wallets und bricht womöglich einige Smart Contracts. Auch die Erhöhung der Blockintervalle, bis die „Drift“ korrigiert ist, behagt den wenigsten. Schließlich macht das Bitcoin Cash langsamer und reduziert die Belohnung für die Miner. Darüber hinaus wurde ASERT auch schon ausführlicher simuliert und gestestet und ist bereits fertig programmiert, während Grasberg von den ABC-Entwicklern aktuell noch ständig geändert wird.

Mehr als die technischen Details – die durchaus eher für ASERT als für Grasberg sprechen – dürfte die Community aber empören, dass der „Gründer von Bitcoin Cash“ erneut eine Gelegenheit verpasst hat, zu zeigen, dass er mit anderen Teams kooperieren kann. Aber vielleicht benötigt die Bitcoin Cash Community auch gerade diese Spannung, um das, was ins Protokoll kommt, lebhaft und kontrovers zu diskutieren.

bitcoinblog.de