Die Blockchain Technologie – Ein Schritt für Schritt Leitfaden am Beispiel Bitcoin

In der Abbildung 1 sind die Hauptschritte einer Blockchain-Transaktion in einer hohen Abstraktionsebene dargestellt. Diese Darstellung fungiert als Raster für das anschliessend beschriebene Szenario, und wird deshalb nicht weiter beschrieben.

Abb. 1: Grobablauf einer Transaktion [1]
Das Ziel ist es, den Leser Schritt für Schritt in das umfangreiche Thema Blockchain einzuführen. Dazu wird ein Szenario verwendet, in dem Alice durch die Blockchain-Technologie mit der Kryptowährung Bitcoin einen Bitcoin an Bob senden möchte.

Das Szenario orientiert sich an den Ausführungen des Artikels «How the Bitcoin protocol actually works» von Michael Nielsen [2].

Szenario: Alice sendet Bob einen Bitcoin

Alice schuldet Bob Geld. Da Bob nun dringend Geld benötig, möchte Alice ihre Schulden begleichen. Da Alice in Amerika und Bob in Belgien wohnt, sucht Alice eine Möglichkeit, Bob das geschuldete Geld möglichst schnell und kostengünstig zukommen zu lassen. Bob soll deshalb von Alice einen Bitcoin erhalten.

Abb. 2: Bitcoin von Alice an Bob

Wie läuft eine solche Transaktion ab?

Alice löste eine Transaktion aus, die die Anweisung enthält, Bob einen Bitcoin zu übertragen. Damit Bob sichergehen kann, dass der Auftrag tatsächlich von Alice gekommen ist, signiert Alice die Anweisung mit ihrer digitalen Signatur (Private Key). Ausserdem wird dadurch protokolliert, dass Alice den Bitcoin tatsächlich überweisen wollte, damit sie nicht nachträglich das Gegenteil behaupten kann.

Woher weiss nun Bob, dass der Bitcoin den Alice gesendet hat tatsächlich Alice gehört, und ausserdem nicht bereits anderweitig ausgegeben hat?

Durch eine eindeutig identifizierbare Seriennummer wird verhindert, dass ein Bitcoin mehrmals verwendet werden kann. Dazu benötigen wir jedoch eine vertrauenswürdige Einheit, die die Seriennummern ausgibt und darüber Buch führt und bestätigt, dass die Transaktion korrekt durchgeführt wurde – wie dies eine Bank tut. Die Blockchain-Technologie versucht jedoch gerade eben eine zentrale Stelle wie eine Bank zu umgehen.

Bob wird den Bitcoin nicht einfach annehmen, sondern möchte verifizieren, dass der Bitcoin der übertragen werden soll tatsächlich Alice gehört und nicht bereits ausgegeben ist.

Jeder im Bitcoin-Netzwerk wird zur gemeinsamen Bank gemacht

In der Blockchain wird jeder Teilnehmer ein Teil der «gemeinsamen Bank». Dies wird dadurch erreicht, dass jede Person vollständig darüber Buch führt, wer im Netzwerk welche Bitcoins besitzt. Was wem gehört und welche Transaktionen wann getätigt werden, wird in einem virtuellen Kassenbuch («shared ledger»), auch öffentliches Hauptbuch genannt (der sogenannten Blockchain), erfasst. Dadurch kann auch Bob überprüfen, ob der Bitcoin den er von Alice erhalten soll, wirklich ihr gehört und nicht bereits ausgegeben wurde. Er überprüft die Transaktion mit seiner Kopie des Hauptbuches und meldet den anderen Teilnehmern im System, dass er die Transaktion akzeptiert, und sie ihre lokale Kopie des Hauptbuchs aktualisieren sollen.

Abb. 3: Bob weist das Netzwerk an, sämtliche Kopien des Hauptbuchs zu aktualisieren

Der in Abbilung 3 dargestellte Prozess nimmt eine gewisse Zeit in Anspruch, bis alle Teilnehmer im Netz ihr Hauptbuch aktualisiert haben. Auch wenn dieser Zeitpunkt der Aktualisierung nur ganz kurz ist, kann dadurch Missbrauch betrieben werden. Alice könnte z.B. gleichzeitig an Bob und Matthias einen Bitcoin zusenden. Wenn Bob und Matthias nahezu gleichzeitig die Transaktion bestätigen und an das Netzwerk zur Aktualisierung weitergeben entstünde ein sogenanntes double-spending.

Abb. 4: Double-Spending Problematik

Wie kann das Problem des double-spending gelöst werden?

Das Problem kann gelöst werden, wenn Bob nicht mehr alleine die Transaktion überprüft, sondern dem Netzwerk die gewollte Transaktion mitteilt, und das Netzwerk kollektiv entscheidet, ob die Transaktion valide ist. Erst wenn Bob von genügend Teilnehmern des Netzwerks die Rückmeldung erhält, dass die Transaktion in Ordnung ist, akzeptiert Bob die Transaktion und teilt den Netzwerkteilnehmern mit, dass er die Transaktion akzeptiert und alle ihr Hauptbuch aktualisieren sollen.

Doch wie viele positive Rückmeldungen sind genügend?

Alice könnte 51% des Netzwerks übernehmen, indem sie z.B. 1 Milliarde Entitäten im Netzwerk aufsetzt. Wenn nun Bob und Matthias das Netzwerk fragen, ob sie die Transaktion bestätigen können, würden beide von den durch Alice aufgesetzten Entitäten die Rückmeldung erhalten, dass die Transaktion valide ist. Dadurch würde wiederum ein double-spending entstehen.

Die Lösung dazu ist das sogenannte Proof-of-Work.

Proof-of-Work

Das Proof-of-Work verfolgt zwei Ziele:

– zum einen sollen die Kosten zur Validierung von Transaktionen
durch eine hohe benötigte Rechenleistung künstlich erhöht werden,

– zum andern sollen diejenigen die mitgeholfen haben die Transaktion
zu validieren (mit Bitcoins) belohnt werden.

Dadurch wird nicht mehr die Anzahl von Entitäten im Netzwerk zur Validierung von Transaktionen ausschlaggebend, sondern die zur Verfügung stehende Rechenleistung.

Mining

Lukas möchte mithelfen die Transaktionen zu validieren. Dazu muss er ein Puzzle lösen (Proof-of-Work). Die Blockchain ist so aufgesetzt, dass die anderen Teilnehmer im Netzwerk die Validierung der Transaktion ohne die Lösung des Puzzles nicht akzeptieren. Die Aufgabe des Puzzles (Proof-of-Work) ist es, die Nonce (Lösung des Puzzles) zu finden. Dabei kann definiert werden, wie schwierig es sein soll, das Puzzle zu lösen.

Sobald Lukas die Nonce gefunden hat, sendet er den Block mit den Transaktionen (ein Block enthält mehrere Transaktionen) und dem gesuchten Wert (Nonce) an die anderen Teilnehmer des Netzwerks, welche wiederum verifizieren, ob die Lösung stimmt. Ist dies der Fall aktualisieren die Teilnehmer ihr Hauptbuch. Dadurch wird die bestehende Blockchain durch einen weiteren Block ergänzt. Die Teilnahme zur Validierung von Transaktionen aufgrund der zur Verfügung gestellten Rechenleistung zur Lösungsfindung des Proof-of-Work, bezeichnet man als Mining. Im Falle von Bitcoin wird der Miner für seine Aufwendungen mit neuen Bitcoins belohnt. Ein alternativer Anreiz wäre es, eine Transaktionsgebühr («transaction-fee») für den erbrachten Proof-of-Work zu verrechnen.

Abb. 5: Vereinfachte Darstellung von Blöcken einer Blockchain

 

 

 

 

Referenzen

[1] S. Roßbach, “Blockchain in wenigen Worten erklärt,” Frankfurt/Main, Sep. 7 2016.
[2] M. Nielson, How the Bitcoin protocol actually works. [Online] Available: http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/.