Timo Hanke lässt eine AsicBoost genannte Verbesserung des Mining-Algorithmus patentieren. Einige Kernentwickler finden das so gefährlich, dass sie die Optimierung durch eine Hardfork verhindern wollen. Im Interview erklärt Hanke, was AsicBoost macht und was er von den Plänen der Kernentwickler hält.

Wer schon länger mit Bitcoin zu tun hat, dürfte bereits von Timo Hanke gehört habe. Hanke hat als Mathematiker an der RWTH Aachen geforscht und sich schon vor Jahren dem Bitcoin-System, seinen Anwendungen und insbesondere dem Bitcoin-Mining zugewandt. Mittlerweile lebt er in Palo Alto, Kalifornien, und arbeitet bei einem Kryptowährungs-Startup. Hanke hat schon vor einigen Jahren AsicBoost entwickelt, eine Optimierung des Mining-Algorithmus, und dafür ein Patent beantragt.

In der vergangenen Woche haben einige Bitcoin-Kernentwickler auf Hankes Patent mit einer radikalen Idee geantwortet: Sie überlegen, das Bitcoin-Protokoll so zu verändern, dass AsicBoost nicht mehr funktioniert. Hanke hält das für einen unnötigen und schädlichen Plan.

Hallo Timo. Du hast AsicBoost entwickelt. Was ist das?

Das ist eine neue Methode, um das Bitcoin-Mining auszuführen. Der Bitcoin-Referenzcode von Satoshi Nakamoto enthielt von Anfang an einen Mining-Code, der, ursprünglich mit der CPU, einen Algorithmus ausführte, um Blöcke zu finden. Unabhängig von diesem Referenzcode kann man den Algorithmus verändern, solange am Ende ein gültiger Block herauskommt. Die Miner haben daher schon immer versucht, den Algorithmus zu verbessern, ohne das öffentlich zu machen. AsicBoost ist eine solche Verbesserung. Es macht das Finden von Blöcken um 20 Prozent schneller, und zwar zusätzlich zu anderen Optimierungen.

Kannst du versuchen, laiengerecht zu erklären, wie AsicBoost das macht?

Also … eigentlich nicht … aber ich versuche es: Die Miner müssen einen gültigen Blockheader finden, um erfolgreich zu sein. Dazu nehmen sie einen Kandidaten für den Blockheader, fügen eine Nonce dazu und schicken das durch einen kryptographischen Algorithmus. Die Nonce wird N1 genannt und ist eine zufällige Zahl aus einem 32-bit-Raum. Es gibt also 2^32 mögliche Nonces. Der Miner probiert diese Varianten durch, und wenn er dabei keinen gültigen Header findet, ändert er den Blockheader-Kandidaten, indem er eine zweite Nonce, N2 oder Extra-Nonce, im Coinbase-Feld der ersten Transaktion des Blocks ändert. Dann probiert er mit ihr die 2^32 Varianten von N1 durch. Und so weiter.

Für jeden Versuch, d.h. für jeden Wert von N1, muss der Miner SHA-Algorithmen durcharbeiten. Dieser Vorgang umfasst hunderte von Rechenoperationen, die sich in vier Abschnitte einteilen lassen. Wir haben nun einen Weg gefunden, wie man die Blockheader-Kandidaten so ändert, dass einer der vier Abschnitte für das gesamte Spektrum der Nonce, also für alle 2^32 Möglichkeiten von N1, gleich bleibt. Der Miner spart sich damit eine Menge Arbeit.

Und du willst darauf ein Patent anmelden. Weshalb?

Die Patentanmeldung ist von 2013. AsicBoost ist eine Idee, die wertvoll ist, weil sie das Mining beschleunigt, und ich will sie natürlich verkaufen. Man muss wissen, dass der Bitcoin Mining-Algorithmus heutzutage nicht mehr auf CPUs sondern ausschließlich auf speziell dafür entwickelten Chips, den sogenannten ASICs, ausgeführt wird. Die Firmen, die diese ASICs bauen, operieren nicht anders als die Hersteller von Chips für andere Anwendungen. Ob Grafikkarten, CPUs, Mikroprozessoren oder Speicher – in der gesamten Hableiter-Industrie wird versucht, das geistige Eigentum durch Patente zu schützen.

Beim Bitcoin-Mining ist das aber kontrovers. Weißt du, warum?

Ganz genau erklären kann ich mir die Aufregung auch nicht. Es gibt ja eine Menge Patente, die beim Bitcoin-Mining eine Rolle spielen. Die ganze Halbleiter-Industrie ist voll mit Lizenzen und Patenten. Man braucht Software-Bibliotheken, die geschützt sind, auch die Transistoren auf den Chips sind letztendlich geschützt. In die ASIC-Miner fließen bereits einige Patente ein.

Einige Kernentwickler wie Peter Todd oder Matt Corallo sagen, dass dein Patent die Dezentralisierung des Minings beeinträchtigt …

Theoretisch ist mir das Argument klar. Es geht weniger darum, dass ein Teil patentiert ist, sondern dass sich Patente nicht weltweit gleichermaßen durchsetzen lassen. Die Kernentwickler vermuten, dass ich mein Patent in China nicht durchsetzen kann und somit die Miner dort einen Vorteil gegenüber Minern im Westen haben, die die Royalties bezahlen müssen.

Generell wäre es natürlich besser, wenn es keine Patente geben würde. Aber in diesem Fall, so wie ich es einschätze, droht keine größere Zentralisierung, weil es so viele Aspekte gibt, die zur Zentralisierung des Minings führen können, dass der Effekt von AsicBoost verschwindend gering ist. Ungleiche Stromkosten sind viel wichtiger.

Außerdem müssen ja nicht die Miner, sondern die Hersteller der ASICs Royalties bezahlen. Und der größte Zentralisierungsfaktor hier liegt bei den Chip-Foundries, das sind die Fabriken, die die Nanometer-kleinen Chips bauen können. Die gehören weltweit höchstens einem Dutzend Firmen. In Deutschland kann nur eine einzige Fabrik, bei Dresden, solche Chips herstellen.

Einige Kernentwickler wollen nun verhindern, dass AsicBoost funktioniert, indem sie mit einer Hardfork das Protokoll verändern …

Das Ding ist, ja, es geht. Indem sie das Protokoll ändern, können sie AsicBoost verhindern. Das unterscheidet meine Erfindung von vielen anderen Bestandteilen des Minings. AsicBoost ist auf bestimmte Eingaben in den SHA-Algorithmus angewiesen, die aus den Blockheader-Kandidaten kommen.. Daher könnte es durch eine Modifikation der Bitcoin Blockchain verhindert werden. Aber ich glaube nicht, dass sich ein solcher Eingriff “politisch” durchsetzen lässt. Es würde einen erheblichen Vertrauens-Schaden anrichten.

Was meinst du damit?

Es wäre eine katastrophale Message, die dadurch gesandt wird. Dass die Kernentwickler darüber entscheiden können, dass eine bestimme Technologie ausgeschlossen wird, setzt ein fatales Beispiel für die Zukunft. Es untergräbt das Vertrauen darin, dass das Bitcoin-Protokoll nicht durch einzelne Interessengruppen verändert werden kann.

Die Kernentwickler selbst sagen, es sei ein gutes Signal, um künftige Patente im Bitcoin-Mining präventiv zu verhindern …

Das ist paradox. Oft wird das Argument vorgebracht, es sei gut, dass bis heute keine Veränderung der Blocksize durchgebracht wurde. Es wird behauptet, dass Bitcoin nicht auf Wunsch von außen geändert werden kann, und dass das gut ist.

Hier argumentieren die Entwickler in genau die entgegengesetzte Richtung. Nur um ein Patent zu verhindern, sollen gravierende Änderungen vorgenommen werden. Für mich stellt die Änderung des Mining-Algorithmus einen viel schwerwiegenderen Eingriff dar als die Vergrößerung der Blocksize.

Was könnte das für die Zukunft bedeuten? Das absurde ist, dass es auch einen Hersteller treffen kann, der selbst gar nichts patentiert hat. Ein Beispiel mit Miner A und Miner B: Miner A hat seine Miner fortlaufend optimiert, aber die Optimierungen weder veröffentlicht noch patentiert. Nun hat Miner B nach mehrjähriger Arbeit einen neuen Chip fertiggestellt. Kurz vor der Veröffentlichung erfährt er jedoch unter der Hand von den Optimierungen die Miner A vorgenommen hat und die nicht Teil seines Chips sind. Was könnte er nun machen, um dafür zu sorgen, dass er seine Entwicklungskosten nicht abschreiben muss? Er könnte ein Patent anmelden und die Kernentwickler dazu bringen, die Chips von Miner A durch eine Protokoll-Veränderung unbrauchbar zu machen.