Wie Blockchains und Bitcoins funktionieren

Blockchain, Hash, Kryptowährung, Ledger – diese Begriffe fallen, wenn Dr. Lukas Lichtensteiger, Dozent am Institut für angewandte Mathematik und Physik eine Gastvorlesung im Fach Marketing Trends leitet.

Sandro Graf vom IMM leitet das Fach und wollte etwas zum “Hype-Thema” Blockchain anbieten. Viele sprechen nämlich über Blockchain, ohne zu verstehen, wie die Technologie wirklich funktioniert. Deshalb wollte er den Teilnehmern die Möglichkeit geben, einen vertieften Einblick in die Funktionsweise der Technologie zu erhalten. Mit diesem Wissen lässt sich besser diskutieren, welches Potential die Blockchain für das Marketing hat.

Die Grundidee der Blockchain

Dr. Lukas Lichtensteiger warf zuerst die Frage in den Raum, wer denn von den Studenten Bitcoins besitzt nur drei Studenten strecken die Hand. Doch erklären, wie Bitcoin auf einer Blockchain entstehen, das traut sich kaum jemand.

Die Grundidee der Blockchain ist die Distributed Ledger Technologie, kurz DLT. Ein Ledger ist nichts anderes als ein Logbuch, welches traditionellerweise von einer zentralen Stelle geführt wird: Banken haben solche Histories, um Transaktionen zeitlich und individuell identifizierbar abzulegen.

Im Gegensatz dazu verwendet die Blockchain Distributed Ledger, d.h., eine grosse Zahl von Kopien des Logbuchs werden im Netz verteilt gespeichert. Jeder Kunde im Netzwerk (wird auch Knoten genannt) ist sozusagen seine eigene Bank. Das vernetzte System muss sich also ständig mit den anderen Knoten synchronisieren, damit alle dieselbe Information haben. Mehrere zeitlich naheliegende Transaktionen werden in Blöcke (daher der Name) zusammengefasst, kettenweise mittels kryptographischen Hash-Funktionen verlinkt und aneinandergereiht. Die Verlinkung mittels kryptographischer Hash-Funktion macht die Blockchain fälschungssicher, indem eine nachträgliche Veränderung der Transaktionshistorie praktisch unmöglich wird.

Dr. Lukas Lichtensteiger während der Vorlesung

Kryptographische Hash-Funktion

Ein kurzer Exkurs zur Kryptographischen Hash-Funktion. Die Hash-Funktion erzeugt aus beliebigen Quelldaten sogenannte Hashwerte, das sind binäre Codes konstanter Länge (z.B. 256 Bit). Veränderungen der Quelldaten führen zu anderen Hashwerten, d.h., eine mutwillige oder versehentliche Änderung der Quelldaten kann an einem veränderten Hashwert erkannt werden, ohne dass aus dem Hashwert auf die Quelldaten geschlossen werden kann. Diese Eigenschaften sind wichtig bei Verschlüsselungssystemen und garantieren auch die Integrität der Blockchain. Eine gute Hash-Funktion muss deterministisch sein, schnell berechenbar und zwischen dem Hash und den Quelldaten darf absolut kein Zusammenhang sein. Auch nur die kleinste Änderung im Input, muss einen stark veränderten Hashwert ergeben, damit keine Korrelationen möglich sind. Verschiedene Inputs ergeben (fast) niemals denselben Hash.

Der Block fasst also Transaktionen eines bestimmten Zeitraums zusammen und führt diese in einer Liste auf. Der Erzeuger eines neuen Blocks hat also die Aufgabe die Transaktionen zu bestätigen und in den Ledger einzutragen, den Erzeuger nennt man Miner. Entlohnt wird dieser z.B. mit Bitcoins. Weil die Blockchain ein verteiltes System ist, können im Prinzip jederzeit an ganz verschiedenen Orten im Netz neue Blöcke erzeugt und so die Blockchain verlängert werden. Danach muss aber ein Konsens gefunden werden, welches die «richtige» Verlängerung ist. Dies wird so gelöst, dass die jeweils «längste» Version die richtige ist. Ein Fälscher könnte nun einfach an eine falsche Blockchain viele neue Blöcke anfügen, so dass diese vom Netz als die längste und damit korrekte Version angesehen würde. Um dies zu verhindern, muss es schwierig sein, neue Blocks zu erstellen.

Hashes in der Blockchain

Proof-of-work und Mining

Damit kommen wir zum Prinzip «Proof-of-work». Bei Bitcoin handelt es sich um eine öffentliche Blockchain wo die Teilnehmer anonym sind und daher wenig vertrauen ineinander haben. Die Blockchain muss daher Sicherheit und Funktionsfähigkeit des Algorithmus beweisen. Grundsätzlich kann jeder an der Blockerzeugung mitwirken. Das Proof-of-work System ist so konstruiert, dass ca. alle 10 Minuten einem Teilnehmer im System ein Block freigegeben wird. Je höher die sogenannte «Mining Power», desto höher wird als Konsequenz der verlangte Schwierigkeitsgrad. Dadurch wird eine Fälschung schwieriger, da man nur durch Zufall an einen neuen Block stösst. Die Belohnung für das Erschaffen eines neuen Blocks wird zum Zeitpunkt der Vorlesung mit 12.5 BTC, also ca. 70’000 CHF belohnt. Das Suchen nach diesen neuen Blocks wird «Bitcoin-Mining» genannt. Da die Nachfrage nach Bitcoin seit Anfang 2008 extrem gestiegen ist, müssen heute spezielle Hardwarekomponenten eingesetzt werden, um solche Blocks zu finden. Pro Sekunde verarbeiten diese Hardwarekomponenten bis zu 10’000’000 Hashes (im Vergleich zu herkömmlichen Prozessoren die 10-20 Hashes pro Sekunde verarbeiten). Heute schliessen sich Leute in zum Teil riesigen Pools zusammen, um gemeinsam Bitcoin-Mining zu betreiben um überhaupt eine Chance zu haben, neue Blocks zu finden.

Stromverbrauch wegen Bitcoins

Die Idee des Bitcoins existiert schon lange, bereits vor 15 Jahren gab es ähnliche Systeme, die sich aber bis heute noch nie so stark durchsetzen konnten wie Bitcoin und Ethereum. Der Bitcoin hat momentan eine noch sehr hohe Volatilität, weil die Währung noch nicht viel Volumen hat im Vergleich zu einer herkömmlichen Währung. Aufgrund der Anonymität im System kann das System für den Schwarzmarkt, Geldwäscherei und Erpressung verwendet werden. Die Grösse eines Blocks ist zurzeit auf ca. 2000 Transaktionen limitiert, was das System für den täglichen Gebrauch unpraktisch macht. Derzeit können Verifikationen von Transaktionen bis zu Wochen andauern. Ein weiteres grosses Problem ist der extreme Stromverbrauch, welcher durch das Mining entsteht. Derzeit verbraucht die Betreibung des Bitcoins alleine 0.13 % des globalen Stromverbrauchs!


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert