Website-Icon BitcoinBlog.de – das Blog für Bitcoin und andere virtuelle Währungen

Gehen 5 Prozent der jährlichen globalen Chip-Produktion ins Mining? Und sind bereits heute Gigabyte-Blöcke möglich?

Stanford, Universität. Bild von Jun Seita via flickr.com. Lizenz: Creative Commons

Am vergangenen Wochenende fand der vierte Scaling Bitcoin Workshop in Stanford statt. Wir schauen uns zwei der zahlreichen Präsentationen an. Bei der einen geht es darum, wie Mining und Skalierbarkeit zusammenhängen, bei der anderen um die steile Behauptung, dass Bitcoin schon jetzt sehr sehr große Blöcke verarbeiten kann.

Der Scaling Bitcoin Workshop dürfte ohne Zweifel die Bitcoin-Konferenz mit dem meisten technischen Tiefgang sein. Ausstellungen von Unternehmen sind nicht gestattet, die Konferenz richtet sich an die wissenschaftliche Community, die frei von Business und Politik diskutieren soll, wie man Bitcoin skaliert.

Dieses Mal fand die um die Welt wandernde Konferenz in Stanford, Kalifornien, statt. Die 25 Präsentationen sind jedoch per Live-Stream und Videoaufzeichnung für die ganze Welt verfügbar.

Coindesk beschreibt die Konferenz mit dem Titel „Alles war möglich, nur kein 2x“. Anders als beim letzten Workshop in Mailand waren Themen wie Onchain-Scaling und Hardforks kein Tabu mehr. Lediglich über die anstehende 2x-Hardfork wurde nicht geredet. Gleichzeitig nahmen, wie in Mailand, die Themen Offchain-Skalierung und Privacy einen großen Raum ein. Neu ist, dass sich der diesjährige Scaling Bitcoin Workshop auch dem Thema Mining zuwandte.

Auf der Webseite des Workshops findet ihr die 25 Präsentationen. Für jeden, der sich ein wenig tiefer in das Thema Bitcoin eindenken und mehr über den aktuellsten Stand der Forschung erfahren möchte, sind diese Präsentation eine Goldmine. Wenn ihr einen Abend Zeit und Lust auf Bitcoin-Wissenschaft habt – schaut euch ein paar Vorträge an. Ob Lightning oder andere Payment-Channels, Confidential Transactions, Mining, Hardforks, Smart Contracts, Atomic Swaps, Block Propagierung oder mehr – es wird sich lohnen.

Ich habe zwei Vorträge ausgesucht, um sie euch vorzustellen. Die Auswahl ist zwingend unzureichend und subjektiv; besser ihr schaut euch selbst den Vortrag an, der euch am meisten interessiert.

5 Prozent der globalen Chip-Produktion geht ins Mining – werden 5 Milliarden Dollar im Jahr verschwendet?

Interessant fand ich die Präsentation von Chen Min. Min ist die Chip-Architektin von Canaan. Die chinesische Firma hat unter dem damaligen Namen Avalon als eine der ersten Asic-Miner hergestellt.

Min erörtert Ideen, wie Blockchain Hardware, das Protokoll und die Skalierbarkeit zusammenhängen. „Die Regeln bei Bitcoin sind sehr klar. Mining wird belohnt, und es gibt ein 1MB Limit. Das führt dazu, dass Bitcoin extrem sicher ist, aber wenig Performance hat.“ Min reagiert mit ihrer Präsentation auch auf die gelegentlich erhobenen Vorwürfe an die Miner, sie würden Bitcoin angreifen. Gibt es Anreize im Protokoll, die die Miner effektiv zu Angreifern machen? Kann man dies besser machen?

Ihr Ausgangspunkt ist ökonomisch: Im Jahr werden derzeit 5 Milliarden Dollar ins Mining investiert, was etwa 5 Prozent der jährlichen, globalen Produktion von Computerchips darstellt. Das darf man sich auf der Zunge zergehen lassen.

„Denkt darüber nach: 5 Milliarden sind eine Menge. Wenn wir das in Netzwerk-Bandbreite investieren würden, oder in Speichersysteme, um Bitcoin zu skalieren, würde es weit reichen. Die Blocksize ist heute 1MB. Wenn wir 5 Milliarden investieren würden, um das Netzwerk zu verbessern, könnten wir 1 Terrabyte Blöcke prozessieren, oder mit 10 Milliarden Transaktionen je Sekunde arbeiten.“

Aber was passiert? Die 5 Milliarden im Jahr gehen dafür raus, dass Miner Berge von Asic-Chips in Lagerhallen anhäufen. Dank des Pool-Minings prozessieren die Miner dabei nicht einmal mehr Transaktionen. „Wir verschwenden Geld. Unser Investment ins Mining verbessert nicht die Performance des Systems,“ stellt Min fest. Ist Hardware und das Mining daher ein Angriff? Saugt es Ressourcen aus dem System, ohne sie dafür zu verwenden, dasselbe zu stärken?

„Hardware ist kein Angreifer und kann es nicht sein. Hardware wird durch das Protokoll definiert. Wenn wir Hardware als etwas Beitragendes definieren, kann es das sein, aber wenn wir es als Angreifer designen, kann es nur ein Angreifer sein.“ Min erinnert an die Firmen, die vor etwa 20 Jahren damit begonnen haben, Glasfaserkabeln zu legen. Sie bekamen damit eine enorme Macht – aber sie bieten etwas: Performance für Telefon- und Internetleitungen. Ein gutes Protokoll macht es profitabler, etwas beizutragen, als anzugreifen.

Eigentlich war dies auch die Idee von Bitcoin. Nodes erhalten eine Belohnung für ihre Arbeit für das Netzwerk. Dies gilt weiterhin. Die Hashrate sichert das Netzwerk. Aber sie trägt nicht genug zur Performance bei. Dank des Pool-Mining halten sich viele Miner komplett aus dem Prozessieren von Transaktionen heraus, und zum Teil arbeiten die Anreize gegen das System: Es lohnt sich, leere Blöcke zu minen, und es ist für Miner profitabel, am 1MB Limit festzuhalten, um die Gebühren hochzuschaukeln. Gleichzeitig übernehmen die Nodes wichtige Arbeiten für das Netzwerk, ohne dafür bezahlt zu werden.

In diesen Anreizen, so Min, liegt der Schlüssel, um langfristig zu skalieren. Sie schlägt vor, einen „Proof of Contribution“ zu entwickeln, der Akteure dafür belohnt, Blockchains zu skalieren. Wie genau das gehen soll, erklärt Min aber nicht. Sie sagt etwas von Smart Contracts, bleibt ansonsten aber vage.

Das Gigablock-Testnet

Peter Rizun

Die Präsentation von Peter Rizun und Andrew Stone von Bitcoin Unlimited war für mich interessant, weil sie an einem Paradoxon ansetzt, über das ich mich schon eine Zeitlang wundere.

Wir diskutieren und zanken seit mehr als zwei Jahren über die Scalability. Es werden dutzende Gründe genannt, weshalb „Bitcoin nicht skaliert“, und es wird angemahnt, mehr Wissenschaft zu betreiben. Gleichzeitig ist die tatsächliche Scalability eines der am wenigsten erforschten Themen. Es gibt tausende von Papers zu Bitcoin. Zahlreiche widmen sich der Privacy oder Offchain-Konstruktionen. Aber wenn es darum geht, wie hoch die tatsächliche Kapazität von Bitcoin ist, verweist man immer wieder auf ein einziges Paper, das Anfang 2016 veröffentlicht wurde – On Scaling Decentralized Blockchains.  Dieses Paper geht von der Hardware von 2015 aus, und es schätzt lediglich die Kapazität, liefert aber keine empirischen Experimente.

Peter Rizun und Andrew Stone stellen nun die womöglich ersten Experimente zu diesem Thema vor. Wie weit kann man onchain skalieren? „Viele Leute wollen das Blocksize Limit erhöhen, fürchten aber, dass Bitcoin dadurch wichtige Eigenschaften verliert,“ leitet Rizun ein. Er meint aber, dass Bitcoin „designt ist, um weit zu skalieren. Die Technologie für massives Skalieren ist vorhanden.“

Wie weit muss Bitcoin skalieren? Theoretisch kann man annehmen, dass 4 Milliarden Erdenbürger am Tag eine Transaktion machen. Dies liefe auf 50.000 Transaktionen je Sekunde hinaus. „Wir wollten das testen, mit einem globalen Netzwerk von Nodes mit Standard-Software. Das ist das Gigablock-Testnet.“ Die Nodes liefen auf CPUs mit 4 Kernen, 16 Gigabyte Arbeitsspeicher und SSD-Festplatten. Gute Geräte, aber auch nichts ungewöhnliches. 4-6 Miner haben Blöcke gebildet, 12 Nodes haben mit Python-Skripten Transaktionen erzeugt und im Netzwerk verteilt.

Während der letzten beiden Monate haben Rizun und Stone mit anderen Bitcoin Unlimited Entwicklern sowie Forschern der Britisch University of Columbia die Anzahl der Transaktionen so weit wie möglich hochgeschraubt. Sie begannen mit einer Transaktion je Sekunde und gingen auf bis zu 500 hoch. „Der MemPool kam mit den Transaktionen mit, bis wir 100 Transaktionen je Sekunde erreicht haben.“ Etwa ab dieser Quote waren die Pools der unbestätigten Transaktionen, die die Nodes im Speicher halten, nicht mehr kohärent. Der eine hatte diese, der andere jene. „Wir haben den ersten Flaschenhals entdeckt.“

Der Grund lag, so Rizun, nicht in der CPU. Diese war selbst bei 100 Transaktionen je Sekunde nur zu 25 Prozent ausgelastet. „Der Flaschenhals lag vielmehr darin, dass der Codepfad des Eingangs von Transaktionen in den MemPool mit einem einzigen Thread geführt wird,“ so Rizun, „Andrew Stone hat diesen Code parallelisiert. Als wir es nochmals getestet haben, war die Rate sehr gut.“

Den nächsten Flaschenhals entdeckten sie bei etwa 500 Transaktionen je Sekunde. Ab hier wird die Ausstrahlung der Blöcke zum Problem, da sie genau so lange braucht, wie der Block selbst. Mit Xthin Block Propagation liegt das Limit dann ungefähr bei Blöcken mit einer Größe von 1 Gigabyte.

Rizun räumt allerdings ein, dass sie keine Festplatten- und UTXO-Tests gemacht haben. Es könnte sein, dass, gerade bei kontinuierlicher Auslastung, die Flaschenhälse deutlich tiefer liegen. Dies wollen die Entwickler in zukünftigen Tests erkunden.

Die mobile Version verlassen