Das Proof-of-Work Konzept

Der Proof-of-Work stellt die Lösung zu einer Rechenaufgabe dar, die als Arbeitsnachweis dient.

Generierung von Blöcken:

Die Sogenannten Miners bündeln Transaktionen chronologisch geordnet in regelmässigen Abständen zu neuen Blöcken. Der jeweils aktuelle Block wird durch einen Hash-Algorithmus vor Veränderung geschützt und mit dem Hashwert des vorherigen Blocks verbunden. So entsteht eine Kette von nicht mehr veränderbaren Blöcken – die Blockchain.

Wie im Beispiel von Alice und Bob erklärt, werden Transaktionen erst nach dem sogenannten Proof-of-Work validiert. Proof-of-Work ist ein mathematisches Rechenrätsel das gelöst werden muss, um einen Block erstellen zu können. Das mathematische Problem hat die Eigenschaft, dass es zwar schwierig zu berechnen ist, sich jedoch leicht überprüfen lässt. Das Rätsel besteht darin, einen Hashwert aus dem zu erstellenden Block zu generieren, der mit einer bestimmten Anzahl an Nullen beginnen muss. Um unterschiedliche Hashwerte für die gleichen Daten zu erzielen, wird dem Blockheader eine beliebige Zahl, genannt «Nonce» hinzugefügt. Eine Nonce ist ein Feld in einem Bitcoin-Block, dessen Wert so verändert werden kann, dass der Hashwert des Blocks eine bestimmte Anzahl von Nullen enthält. Die restlichen Daten des Blocks werden nicht verändert, da sie eine definierte Bedeutung haben.

Da die alphanumerischen Werte bei einem Hash rein zufällig entstehen, muss der Nonce durch die teilnehmenden Rechner so lange mit der Brute-Force-Methode durchprobiert bzw. verändert werden, bis der Hash die vorgeschriebene Anzahl Nullen zu Beginn des Hashs aufweist.

Grösse des Blockchain Netzwerks

Die Blockchain Netzwerke kann man anhand der Anzahl der Nodes im Peer-to-Peer Netzwerk vergleichen. Im Jahr 2016 war das Bitcoin-Blockchain Netzwerk mit 6000-6500 Nodes das grösste. Die Betreiber der Blockchain-Nodes (Miners), werden aufgrund ihrer erbrachten Rechenleistung mit Bitcoins entschädigt. Die Gründe für die Teilnahme ist unterschiedliche. Ein Teil der Miners macht dies aufgrund des kommerziellen Erfolgs, andere aus Enthusiasmus. [1]

Grösse und Anzahl Transaktionen von Blöcken

In der Bitcoin-Blockchain werden ca. Jede 10 Minuten ein neuer Block generiert. Derzeit ist die Bitcoin-Blockgrösse auf 1MB limitiert. Ein Block enthält aufgrund der durchschnittlichen Transaktionsgrösse von 530 Bytes rund 2000 Transaktionen. Dies entspricht ca. 3.3 Transaktionen pro Sekunde. Zum Vergleich hat das VISA Payment Netzwerk im Jahr 2013 durchschnittlich 47’000 Transaktionen pro Sekunde. Die Anforderungen an die Skalierbarkeit von Transaktionen von Seiten der Finanzindustrie sind dementsprechend hoch. [1] Die mangelnde Skalierbarkeit besteht aufgrund der Tatsache, dass alle Transaktionen und deren Validierung (Proof-of-Work) jeweils allen Minern zur Verfügung gestellt werden müssen. Der daraus entstehende Kommunikations- und Rechenaufwand ist derzeit noch zu meistern. Nehmen die Transaktionsvolumina stark zu, werden Privatnutzer kaum mehr in der Lage sein, als Miner teilzunehmen. [1]

Nonce – veränderbarer Wert zur Generierung eines Hashwerts zur Erstellung eines Blocks

Im folgenden Video ist dieses Prinzip, die Nonce so lange zu verändern bis der Hashwert den Bedingungen entspricht, verständlich anhand einer Demonstration erklärt.

Ausserdem wird erklärt, wie durch die Hashes in der Blockchain sichergestellt und überprüft werden kann, dass keine Daten in der Blockchain nachträglich verändert werden.

 

Mining:

Mining ist der Prozess bei dem vergangene Transaktionen dem öffentlichen Hauptbuch («Ledger») durch die Bildung von Blöcken hinzugefügt werden. Dieses öffentliche Hauptbuch stellt die Blockchain dar, da sie eine Kette von Blöcken ist. Das Mining ist absichtlich ressourcenintensiv aufgesetzt worden. Der primäre Zweck ist es, die Manipulationssicherheit zu gewährleisten. Das Mining ist auch der Prozess, bei dem neue Bitcoins ins System eingeführt werden. [2]

Anreize für Miners:

Die Berechnung eines passenden Hashwertes zum Nachweis für die geleistete Arbeit nimmt entsprechend Ressourcen und Zeit in Anspruch. [3] Um den Teilnehmern des Bitcoin-Netzwerks einen Anreiz zu geben, die Transaktionen zu verifizieren, bzw. Blöcke zu generieren, sind zwei Möglichkeiten vorgesehen. [4]

Reward

Jeder Miner bekommt das aktuelle Problem mitgeteilt und versucht, einen passenden Hash zu finden. Derjenige, der den Block generiert, wird dafür mit Bitcoins belohnt. Diese Bitcoins werden neu generiert und erweitern das bestehende Bitcoin Volumen. Die Belohnung für die Erarbeitung eines Blocks liegt derzeit (April 2017) bei 25 Bitcoins. Ursprünglich lag der Reward bei 50 Bitcoins. Die Anzahl der ausbezahlten Bitcoins pro Block halbiert sich jeweils nach 210´000 Blocks.

Transaktionsgebühr

Bitcoin ist so aufgesetzt, dass nebst den Rewards auch Transaktiongebühren verlangt werden können. Die Transaktionsgebühr geht an den Miner. Wenn ein neuer Block erstellt wird, werden alle wartenden Transaktionen in diesen Block eingebettet, und alle gesammelten Transaktionsgebühren werden dem Erzeuger des Blocks zugewiesen. Derzeit fallen nur bei einer Minderheit der Transaktionen Gebühren an.  Es ist anzunehmen, dass sich dies ändern wird, je geringer die Rewards aus der Coinbase entfallen. Die Miner sind nicht verpflichtet, eine Transaktion ohne Gebühren in seinen neu erzeugten Block aufzunehmen.

Zusammensetzung eines Blocks

In der folgenden Darstellung werden die wichtigsten Bestandteile eines Blocks beschrieben.

Die zentralen Bestandteile der Blockchain sind die Blöcke, welche wiederum die Transaktionen beinhalten. Ein Block kann alle, oder auch nur einen Teil der Transaktionen einschliessen, die nicht bereits in früheren Blocks notiert wurden.

Die Transaktionen werden jeweils mehrmals gehasht. Der Root Hash (Merkle Tree) wird Teil des Blockchain Headers. Die wesentlichen Bestandteile des Headers sind der Hash des vorhergehenden Blocks, der Root Hash, die Time Stamp, die Verionsnummer sowie des Nonce. Der Proof-of-Work erfolgt über den Hash des Blockchain Headers.

Abb. 1: Zusammensetzung eines Blocks

 

 

Referenzen

[1] D. Burgwinkel, Ed., Blockchain Technology: Einführung für Business- und IT Manager. Berlin, Boston: De Gruyter Oldenbourg, 2016.
[2] What is Bitcoin Mining? [Online] Available: https://www.bitcoin.com/bitcoin-mining.
[3] bitcoinwiki, Nonce. [Online] Available: https://de.bitcoin.it/wiki/Nonce.
[4] U. Schmidt, “Anreize in Mining-Pools,” Institut für Wirtschaftsinformatik, Westfälische Wilhelms-Universität Münster, Münster, 2013.