Blockchain ist das technologische Grundgerüst hinter den meisten Kryptowährungen. Bitcoin als dezentrale Währung ist der bekannteste Anwendungsfall dieser Technologie. Genauer gesagt: Bitcoin ist die bekannteste Blockchain.
Möchte man sich eine Blockchain bildlich vorstellen, hilft es den meisten, den Begriff selbst zu zerpflücken: Eine Kette (Chain) aus Blöcken (Blocks). Das geht schon in eine richtige Richtung. Noch richtiger wäre es aber, sich ein Netz vorzustellen, bei dem sehr viele Ketten miteinander verbunden sind. Ein Spinnennetz – ohne Mittelpunkt. Die Spinnen, die das Netz weben, sitzen an vielen verteilten Knotenpunkten. Damit wären wir auch bei einer der wichtigsten Eigenschaften der Blockchain: Dezentralität.
Stets im Mittelpunkt: Dezentralität
Bei einer Blockchain geht es darum, Daten zu verwalten, zu speichern und zu transportieren. Das Ganze passiert allerdings ohne zentralen Server, der die Daten verwaltet. Die Blockchain ist also eine dezentrale Datenbankstruktur beziehungsweise ein digitales Register, das Transaktionen verzeichnet.
Dieses Register ist ein digitales Hauptbuch, auf Englisch: Ledger. Dieses Hauptbuch wird nicht zentral abgelegt, sondern auf vielen verschiedenen Computern – den sogenannten Nodes – gespeichert und aktualisiert. Die dezentralen Ablagemöglichkeiten sorgen dafür, dass eine Blockchain von keiner zentralen Autorität verwaltet werden muss. Man spricht bei Blockchains daher auch im übergeordneten Begriff von Distributed-Ledger-Technologien (DLT).
Konsensmechanismus
Bei digitalen Währungen stand man vor der Erfindung der Bitcoin Blockchain vor einem Problem: Wie kann man sicherstellen, dass Geld nicht doppelt ausgegeben werden kann? Dieses „Double-Spend-Problem“ stellte Programmierer lange Zeit vor Herausforderungen. Bis Satoshi Nakamoto das Bitcoin White Paper veröffentlichte und die Blockchain als Lösung präsentierte. Das Besondere daran war unter anderem der „Proof of Work“-Konsens. Zu Deutsch etwa: „Arbeitsnachweis“.
Dabei müssen die einzelnen Netzwerkteilnehmer Rechenaufgaben lösen, die nur durch häufiges Ausprobieren geknackt werden können. Dies stellt sicher, dass ausreichend Arbeit in die Berechnung und Absicherung der Transaktionen investiert wird. Wenn sie die Rechenaufgaben richtig lösen, bekommen sie die Erlaubnis, einen neuen Block an die Blockchain zu heften. Als Belohnung dafür bekommen sie – neben Transaktionsgebühren – eine bestimmte Menge Bitcoin ausbezahlt, auch Block Reward genannt. Zurzeit liegt die Belohnung pro neuem Block bei 6,25 BTC. Da dieser Prozess mit dem Schürfen von Gold verglichen werden kann, nennt man ihn auch „Mining“, die Netzwerkteilnehmer die diesen Prozess unterstützen sind die „Miner“.
Entwicklung der Blockchain
Die Entwicklung der Blockchain geht seit Veröffentlichung des Bitcoin Whitepapers im Jahr 2008 durch Satoshi Nakamoto in großen Schritten voran. Handelte es sich bei Finanztransaktionen als Anwendungsfall in den ersten Jahren noch um ein nerdiges Nischenprodukt, hat die Technologie längst ihren Siegeszug angetreten.
Vitalik Buterin, ein damals 19-Jähriger Entwickler mit kanadisch-russischen Wurzeln, verpasste der Blockchain Ende 2013 ein wichtiges Update. Mit der Ethereum Blockchain machte er es erstmals möglich, programmierbare Verträge, sogenannte „Smart Contracts“, auf die Blockchain zu bringen. Mit ihnen ist es seitdem möglich, verschiedenste Verwaltungs- und Prozessanwendungen abzuwickeln.
Die smarten Verträge folgen dabei alle derselben Logik. Man spricht hier von „Wenn-Dann-Bedingungen“. Bei der Entwicklung gibt man ihnen also den Auftrag, beim Eintritt von bestimmten Ereignissen (Wenn), immer auf eine bestimmte Art zu reagieren (Dann).
So können etwa Daten aus dem Gesundheitswesen oder Eigentumsverhältnisse wie zum Beispiel Grundbesitz über eine Blockchain abgebildet und gehandelt werden. Gleichzeitig kann jeder jemals getätigte Eintrag in einem Blockchain-Verzeichnis für immer nachvollzogen und nicht gelöscht oder verändert werden. Die Möglichkeit, Prozesse über eine sichere Infrastruktur zu automatisieren und dabei die Gefahr einer Datenmanipulation zu unterbinden, ist für viele Institutionen und Unternehmen reizvoll.
Doch der Hauptanwendungsbereich der Blockchain bleibt nach wie vor im Krypto-Finanzwesen. Allein der Bereich der Dezentralen Finanzen (Decentralized Finance, DeFi), hat zahlreiche Anwendungsfälle hervorgebracht. Ob das Verleihen von Kryptowährungen für Zinsen („Lending“), das Betreiben dezentraler Krypto-Börsen (Decentralized Exchange, DEX) oder das Abbilden von Derivaten: Ohne Blockchain läuft nichts.
Quickcheck: Eine Kette mit vielen Eigenschaften
Bevor wir tiefer in das Spinnennetz eintauchen, schauen wir uns kurz die wichtigsten Eigenschaften einer Blockchain an.
Dezentralität und Kryptographie
Ein Kernaspekt der Blockchain ist ihre Dezentralität. Zwar kann diese unterschiedlich stark ausgeprägt sein, doch haben alle Anwendungen eine Sache gemein: die Chain liegt nicht auf einem einzigen Computer.
Das direkte Versenden von Werten
Durch ihre dezentrale Ausrichtung und den Konsensmechanismus ist es möglich, Vermögenswerte und sensible Daten digital zu versenden. Und zwar nicht über eine Bank, sondern Peer-to-Peer, also direkt von Mensch zu Mensch.
Unveränderlichkeit
Einmal in die Blockchain gemeißelt, können Informationen nicht mehr verändert werden. Man kann darauf vertrauen, dass sie nicht im Nachhinein manipuliert werden.
Transparenz
Die meisten Blockchains sind öffentlich einsehbar – jeder und jede kann zu jeder Zeit nachverfolgen, wann Transaktionen stattgefunden haben. Allerdings werden dabei keine persönlichen Daten preisgegeben – das System ist pseudonym.
Innerhalb des Netzes: Was ist ein Block Header?
Erinnern wir uns an unser Bild: Die Blockchain ist eine Kette aus Blöcken, die sich zu einem Netz zusammenspinnt. Schauen wir einmal in die Blöcke hinein. Diese bestehen aus einem Kopf (Block Header) und seinem Körper (Block Body). Der Block Body enthält alle bestätigten Transaktionen, er ist so zusagen der Container für Informationen. Doch die richtige Mining-Party passiert im Kopf.
Der Kopf des Blocks teilt sich in sechs Bestandsteile auf.
1. Die Versionsnummer der Software
Die Versionsnummer der Software spielt in den meisten Fällen keine große Rolle. Allerdings kann ein Miner mit einer bestimmten Versionsnummer signalisieren, welche Protokollentscheidungen er unterstützt.
2. Der Hash des vorigen Blocks
Der Hash des vorigen Blocks enthält Informationen aus vorangegangenen Transaktionen. Ohne diese Komponente bestünde keine Verbindung und Chronologie zwischen den einzelnen Blöcken.
3. Der Root Hash des Merkle Trees
Alle Transaktionen in einem Block kann man in einem Hash darstellen. Das ist der Root Hash des Merkle Trees.
4. Zeitstempel
Ein Zeitstempel im Block selbst. Die Zeit wird in Sekunden seit dem 1.1.1970 angegeben. Dies war der Start von Unix 6, dem ersten öffentlichen Betriebssystem von Bell. Wenn man so will: Dieses Datum ist der Beginn der Zeitrechnung von Betriebssystemen.
5. Das Ziel der aktuellen Difficulty
Das Ziel gibt an, wie klein der neue Hash sein muss, um Gültigkeit zu beanspruchen. Mit anderen Worten: jeder Hash hat eine Größe in Bits. Je niedriger das Ziel in Bits ist, desto schwieriger ist es, einen passenden Hash zu finden. Das gibt Auskunft darüber, wie schwierig es ist, einen neuen Block zu finden.
6. Die Nonce
Die Nonce ist die Variable, die beim Proof of Work hochgezählt wird. Auf diese Art und Weise errät der Miner einen gültigen Hash, also einen Hash, der kleiner als das Ziel ist.
Der Merkle Tree: Hash, Hash, Hash
Wenn Miner Blöcke schürfen, überprüfen sie Transaktionen auf ihre Gültigkeit. So stellen sie sicher, dass alle Informationen korrekt sind. Sie überprüfen zum Beispiel, ob jemand, der Coins verschicken möchte, auch genügend hat, um das zu tun. Dazu muss er sich die Transaktionen anschauen. Die Informationen dazu stehen im Merkle Tree. Beim Merkle Tree handelt es sich um eine Datenstruktur, die eine Zusammenfassung aller Transaktionen eines Blocks beinhält.
Der Merkle Tree ermöglicht es, viele Informationen in einem einzigen Hash, einer Art digitalen Fingerabdruck, darzustellen. Wie Sand, den man immer feiner siebt, komprimiert das System die Daten. Zunächst werden sie selbst „gehasht“, danach werden die Hashes gehasht, bis der Merkle Tree in einem einzigen Hash zusammengeführt ist. Dieser letzte Hash trägt auch den Namen Root Hash, also die Wurzel des Baumes. Er repräsentiert alle Informationen seiner „Blätter“ (einzelne Transaktionen) und „Zweige“ (Hashes der Blätter) in einer relativ kurzen Zeichenfolge.
Mining: Die Suche nach einem besonderen Hash
Mit diesem Wissen fällt es leichter, das Mining besser zu verstehen. Denn beim Mining wird der Block Header des Blocks verändert, um einen besonderen Hash zu erhalten. Anders gesagt: Miner wühlen im Kopf der Blöcke auf der Suche nach einem bestimmten Zielwert, also der Lösung für ihre Aufgabe. Und dazu bedienen sie sich der einzigen Variablen im Block Header: Der Nonce.
Die Nonce ist eine Zahl, die beim Mining um den Faktor Eins erhöht wird. Dann hasht der Miner die Daten und überprüft, ob die Daten in einen Hash resultieren, der unter dem gesuchten Zielwert liegt. Wenn der Hashwert größer ist als das Ziel, wiederholt der Miner den Prozess, also erhöht die Nonce um eins, hasht und überprüft erneut. Diesen Prozess wiederholt er, bis er einen Hash gefunden hat, der unter dem Ziel liegt oder er von einem anderen Miner aus dem Netzwerk einen Block erhält, dessen Hash unter dem Ziel liegt. Er nähert sich dem Ziel also nach und nach durch Ausprobieren an. Den neuen Block nimmt er sich und verwendet ihn als Grundlage, um einen neuen Block zu erstellen.
Mining ist also ein hyper-repetitiver Prozess, dessen Ziel es ist, einen besonderen Hash zu finden. Ist der Hash gefunden, geht das Spiel von vorne los. Die Wahrscheinlichkeit, einen besonderen Hash zu finden, hängt von der aktuellen Difficulty (Schwierigkeit) ab. Diese wird regelmäßig angepasst. Dieser Vorgang ist so komplex, dass man den Hash nur durch Erraten findet. Deshalb ist der Prozess nicht nur sicher, sondern auch so energieaufwändig: Man muss die Computer ständig rechnen lassen, bis man die richtige Lösung findet.
Exkurs: Wie war das mit dem Energieverbrauch?
Nun dürfte etwas klarer sein, warum Bitcoin so viel Energie verbraucht. Und zwar eine ganze Menge. Aktuellsten Schätzungen zufolge ist allein der Energieverbrauch von Bitcoin so hoch wie der von Argentinien. Warum das so ist, wissen wir jetzt: Es liegt am Konsensmechanismus Proof of Work. Er stellt sicher, dass das Netzwerk vor Angriffen geschützt ist. Und dass man keine zentrale Verwaltung braucht. Und keine Gebäude, in denen diese Verwaltung sitzt. Und keine Menschen, die in dieser Verwaltung sitzen und Papierkriege führen. Und, und, und. Man braucht nur die Technologie und die Netzwerkteilnehmer, um das System aufrecht und sicher zu halten.
So what?
Aus diesem Grund entbrennt bei der Debatte um den Energieverbrauch die immerwährende Diskussion um die Sinnhaftigkeit und Unsinnigkeit von Kryptowährungen auf der einen und dem traditionellen Finanzwesen auf der anderen Seite. Die einen nennen Bitcoin einen Klimakiller, die anderen sagen, dass Visa und Co. auch eine Unmenge an Energie verbrauchen. Wenn dann nichts mehr hilft, kann man immer noch die gute alte Weihnachtsbeleuchtung anführen: Schon mal ausgerechnet, wie viel Energie das frisst? Ehe man sich’s versieht, befindet man sich im Whataboutism und vergisst dabei die wesentliche Frage: Ist das alles gerechtfertigt?