Beginner
Blockchain – Basisinfos für Einsteiger
Wozu brauchen wir die Blockchain?
Die Blockchain-Technologie bietet eine Lösung für zwei bekannte Probleme. Die einfache Vervielfältigung von digitalen Informationen und Daten sowie die Notwendigkeit von Vertrauen und Mittelsmännern bei bestimmten Transaktionen.
Seit der Jahrtausendwende werden immer größere Bereiche unseres Lebens digitalisiert, wie z. B. Bücher, Filme oder Musik. In der digitalen Welt ist es sehr viel leichter, solche digitalen Güter zu kopieren und auszutauschen. Der Nachteil: diese kostenlose Vervielfältigung führt auch zu einem Wertverlust, denn Knappheit ist ein großer ökonomischer Faktor, der den Wert eines Gutes mitbestimmt – je knapper ein Gut ist, desto wertvoller ist es. Diese Gesetzmäßigkeit gilt auch im digitalen Raum, was dazu führt, dass viele digitale Güter stark an Wert verlieren. Dies ist einer der Gründe, warum Währungen noch nicht digitalisiert wurden. Die Kopie (Falschgeld) eines digitalen 50€-Scheins würde sich nicht vom Original unterscheiden lassen. Niemand würde einer solchen digitalen Währung vertrauen. Die Blockchain-Technologie verspricht für dieses Problem Abhilfe. Sie kann sicher aufzeichnen, wer was wann und wie viel besitzt. Es lässt sich also ein Original bestimmen, auf das referenziert werden kann.
Die Problematik des Vertrauens besteht auch in der realen Welt. Transaktionen zwischen unbekannten Teilnehmern können nicht immer von Angesicht zu Angesicht abgewickelt werden. Dafür benötigt es vertrauenswürdige Mittelsmänner. Die Blockchain erlaubt jedoch Transaktionen zwischen unbekannten Parteien, ohne dass ein Mittelsmann benötigt wird. Dadurch könnte die Technologie neben der Internetökonomie auch einen großen Effekt auf viele Bereiche und Branchen in unserem Wirtschaftssystem haben. Warum es überhaupt Mittelsmänner gibt, erklären wir vorab am Beispiel von Banken.
Verständnis-Exkurs: Warum gibt es Banken?
Banken erfüllen in unserem Wirtschaftssystem unterschiedlichste Funktionen. In unserem Beispiel werden wir uns auf eine Funktion beschränken: die Abwicklung des Zahlungsverkehrs.
Person A kauft bei Person B ein Produkt. A erhält das Produkt von B und bezahlt diesen im Gegenzug mit einer Währung. Diesen Vorgang nennt man eine Transaktion. Können beide Beteiligten nicht am selben Ort sein, wie z. B. beim Einkauf über das Internet, dann kommt eine Bank bzw. das Bankensystem ins Spiel.
Die Bank ist die Zwischeninstanz beim Kauf oder Austausch von Werten. Banken führen die eigentliche Transaktion zwischen den zwei Parteien aus. Kauft Person A von B ein Haus im Wert von 500.000€ und sie einigen sich darauf, die Transaktion mit einer Überweisung abzuwickeln, wird eine Bank benötigt, der beide vertrauen. Die Bank prüft, dass A genug Geld auf dem Konto hat, um diese Überweisung zu tätigen und vermerkt die Abbuchung des Betrags. A vertraut der Bank, das die Überweisung ordnungsgemäß durchgeführt wird und B vertraut der Bank, dass die Summe seinem Konto gutgeschrieben wird. Ohne die Bank könnte B nicht sicher sein, dass A das Geld besitzt oder es nicht schon an jemand anderen überwiesen hat. Die Bank ist der vertrauenswürdige Dritte, der sog. Intermediär, der die Transaktion ermöglicht.
Der Nachteil dieser Lösung ist dabei offensichtlich: Die Bank selbst ist die zentrale Schwachstelle. Ist die Bank nicht verfügbar oder kommt es zu einem Vertrauensverlust, so kann die Transaktion nicht mehr durchgeführt werden. Außerdem ist nicht sichergestellt, dass die Bank sich selbst ordnungsgemäß verhält. Alle Transaktionen werden zentral in einer Datenbank bei der Bank gespeichert und sind nur im beschränkten Maße vor Manipulationen geschützt. Genau an diesem Nachteil setzt die Blockchain-Technologie an und ermöglicht vertrauenslose Transaktionen und Wertspeicherungen zwischen unbekannten Teilnehmern.
Definition der Blockchain
Auf das Bankenbeispiel bezogen ist die Blockchain ein öffentliches, dezentrales Kassenbuch, in das jeder einsehen kann und das von allen verwaltet wird.
Allgemein:
Die Blockchain ist eine speziell aufgebaute Datenbank, die Informationen dezentral auf vielen Computern verteilt, abspeichert und synchronisiert. Jeder dieser Computer besitzt eine eigene, vollständige Kopie der Datenbank. Zusammen bilden diese das Blockchain-Netzwerk. Die Blockchain besteht im Prinzip aus zwei Hauptbausteinen:
- einem dezentralen sogenannten Peer-to-Peer Netzwerk
- Blöcken mit Datensätzen
Wie ist das Bitcoin-Netzwerk aufgebaut?
Um die Blockchain im Detail zu erklären, nutzen wir das Beispiel Bitcoin, die erste Blockchain mit dem Einsatz im Finanzsektor. Bitcoin wurde als eine elektronische Währung geschaffen, mit der man sich gegenseitig Geld „überweisen“ kann. Dabei transferiert man keine Euros oder US-Dollar, sondern eben Bitcoins. Die Teilnehmer im Netzwerk kontrollieren und speichern alle Transaktionen. Die Hierarchie des Netzwerks ist flach und es gibt keine zentralen Knoten. Dieser Netzwerkentwurf heißt Peer-to-Peer (P2P). Jeder Knoten ist mit beliebig vielen anderen Knoten im Netzwerk verbunden, ohne dass es zentrale Knoten gibt. Diese Knoten werden ‘Nodes‘ genannt. Je mehr Knoten ein Netzwerk besitzt, desto stabiler und widerstandsfähiger ist es. Denn, der Wegfall eines Teilnehmers führt nicht zum Erliegen der gesamten Kommunikation.
Der Ablauf einer Transaktion auf der Blockchain
Um Bitcoins zu kaufen und aufzubewahren benötigt man ein sogenanntes „Wallet“, also eine digitale Geldbörse, vergleichbar mit einem Online-Bankkonto. Man muss zum Eröffnen eines Wallets jedoch nicht seine personenbezogenen Daten angeben, sondern kann sich ein Wallet über eine Website oder ein Programm erstellen. Nach der Erstellung erhält man ein kryptografisches Schlüsselpaar, welches mathematisch miteinander verbunden ist. Dieses Paar besteht aus einem öffentlichen Schlüssel, der als Adresse dient (vergleichbar mit der IBAN) und einem privaten Schlüssel, der vollen Zugriff auf die Adresse gibt (ähnlich der PIN). Mehr dazu in diesem Artikel.
Beispiel:
A will nun B einen Bitcoin überweisen. Dafür muss A mit dem Bitcoin-Netzwerk über eine vollständig synchronisierte Node verbunden sein. Dazu benötigt A die Adresse (öffentlicher Schlüssel) von B. Diesen kann B an A beruhigt preisgeben, da er nur auf ein bestimmtes Wallet (Konto) Einsicht gibt, aber ohne privaten Schlüssel kein Zugriff auf dieses möglich ist. A erstellt eine Transaktion, in der Folgendes aufgezeichnet wird: die Absenderadresse (öffentlicher Schlüssel von A), die Menge an Bitcoins (1) und die Empfängeradresse (öffentlicher Schlüssel von B). Die Transaktion wird dann mit dem privaten Schlüssel signiert. Damit verifiziert A sich als Eigentümer der Bitcoins auf der Absenderadresse. Im Anschluss wird die Transaktion im Netzwerk veröffentlicht. Alle Knotenpunkte im Bitcoin-Netzwerk überprüfen daraufhin die Transaktion. Zuerst wird anhand der Absenderadresse (des öffentlichen Schlüssels von A) und Unterzeichnung geprüft, ob die Transaktion vom Besitzer des privaten Schlüssels verifiziert wurde. Danach wird die Korrektheit der Transaktion sichergestellt. Ist A überhaupt im Besitz der zu überweisenden Menge an Bitcoins und handelt es sich um eine gültige Adresse? Ist dies der Fall, wartet im zweiten Schritt die Transaktion darauf, in einen Block aufgenommen zu werden. Hier folgt nun der zweite Hauptbestandteil der Blockchain. Die Blöcke.
Baustein zwei: die Blöcke einer Blockchain
Wir wissen bereits, dass alle Daten über das Netzwerk verbreitet, überprüft und gespeichert werden. Doch wo liegen diese Daten? Hier kommen die Blöcke ins Spiel. Denn alle Daten – wie Transaktionen – werden fortlaufend portionsweise zusammengefasst und sicher in einem Block gespeichert. Dabei erhält jeder Block eine kryptografische Verschlüsselung, also eine Art Identifikationsnummer, die im nächsten Block wieder mit aufgeführt wird. Es entsteht eine Kette von Verweisen: die Blockchain. Das Besondere: Durch die kryptologische Verschlüsselung können Daten im Nachhinein nicht verändert werden, denn eine minimale Veränderung reicht aus und die ‘Identifikationsnummer’ passt nicht mehr zu dem vorherigen Verweis. Das Netzwerk wird alarmiert. Dadurch sind Betrugsversuche so gut wie ausgeschlossen.
Beispiel:
Die Transaktion aus dem oberen Beispiel von A wurde wie die anderen Transaktionen im Netzwerk überprüft. Diese werden nun zusammengefasst, in einen neuen Block aufgenommen und mit einer Prüfsumme (Hashwert) abgesichert. Der signierte Block wird dann auf allen Knoten der Blockchain verteilt und gespeichert.
Erklärung: Ein Hashwert ist das Ergebnis einer Hashfunktion, einer sogenannten im erweiterten Sinne “Einwegsfunktion”. Diese hat mehrere Eigenschaften:
- der Input kann z. B. jede Größe annehmen, von einem Wort bis zu einer ganzen Datei oder Datenbank.
- die Länge des Ergebnisses bleibt immer gleich. Das heißt, es kommt immer ein gleich langer Wert heraus (z. B. 32 Zeichen bei der SHA-1 Funktion).
- das Ergebnis lässt keine Rückschlüsse auf den Input zu (daher “Einwegsfunktion”).
- kleinste Änderungen (z. B. ein Buchstabe oder ein Bit) verändern den Hashwert vollständig.
Ein einfaches Beispiel: Die Hashfunktion SHA-1 generiert aus dem Wort “Hallo” einen Hashwert beginnend mit den Ziffern ‘59d9’. Der Hashwert des Wortes “Hallö” beginnt mit den Ziffern ‘e435f’. Das Ergebnis ist also nur durch die Änderung des Buchstabens “o” in ein “ö” ein völlig anderes geworden. Probiert es hier mal aus
Der Clou: Würde B versuchen in seiner Version der Blockchain aus dem einen Bitcoin 100 Bitcoins zu machen, würde sich sofort der Hashwert der Transaktion, sowie der Hashwert des Blocks selber verändern. Dadurch bricht die Kette und jeder im Netzwerk kann sofort erkennen, dass die Blockchain auf einem Knoten manipuliert wurde.
Woher kommen überhaupt die Blöcke? Der ‘Proof-of-Work’ Algorithmus
Bei immer neuen Transaktionen muss die Datenbank (in unserem Fall also die Bitcoin-Blockchain) kontinuierlich erweitert werden. Da die Blockchain aber dezentral auf allen Knoten existiert, müssen sich alle Knoten auf eine Erweiterung einigen. Dies wird über den Konsens-Algorithmus ermöglicht. Bei Bitcoin wird dieser ‘Proof-of-Work‘ genannt. In einem dezentralen Netzwerk ist nicht sichergestellt, dass jeder Knotenpunkt alle neuen Transaktionen erhalten hat und ob die Reihenfolge korrekt ist. Um dies sicherzustellen, wird die Blockchain nicht kontinuierlich erweitert, sondern in einem bestimmten Zeitintervall. Bei Bitcoin wird im Schnitt alle 10 Minuten die Blockchain um einen neuen Block vergrößert. In diesem neuen Block sind alle neuen Transaktionen enthalten. Blöcke werden aber nicht einfach geschaffen, sondern müssen bestimmte Bedingungen erfüllen. Die Erstellung eines solchen Blocks nennt man Mining und ist mit sehr viel Aufwand (Rechenleistung) verbunden. Er wird von speziellen Nodes durchgeführt, den Minern.
Ablauf: Nach der Überprüfung der Transaktion durch die Nodes sammelt der Miner die Transaktionen (siehe oben) in einem sogenannten ‘Kandidatenblock’. Dann berechnet der Miner den Hashwert dieses Kandidatenblocks. Der Block ist nur gültig, wenn der Hashwert eine bestimmte Bedingung erfüllt (z. B. die ersten 6 Stellen sind eine 0). Ist der Hashwert ungültig, ändert der Miner in dem Kandidatenblock eine bestimmte Zahl (Nicht in den Transaktionen!) und berechnet erneut den Hashwert. Dies machen alle Miner im Netzwerk gleichzeitig und konkurrieren gegeneinander. Der Prozess wird solange wiederholt, bis ein gültiger Hashwert von einem Miner gefunden wurde. Dabei handelt es sich um einen stochastischen Prozess und das Finden eines gültigen Wertes ist rein zufällig (ähnlich wie Lotto spielen). Wird ein Block gefunden, wird dieser im Netzwerk bekannt gegeben und jeder Teilnehmer kann im Netzwerk anhand des Hashwertes nachprüfen, ob der Block gültig ist. Je nachdem wie strikt die Bedingungen sind, wird ein gültiger Wert schneller oder langsamer gefunden. Dieser Prozess wird “Proof-of-Work” genannt. Damit wird sichergestellt, dass immer neue Blöcke entstehen und gleichzeitig alle Informationen auf den Blöcken korrekt sind und alle Knotenpunkte die Transaktionen in einer festgelegten Reihenfolge abspeichern.
Damit die Miner motiviert sind ihre Rechenleistung und somit Strom einzusetzen, erhält der Finder (Miner) im Gegenzug Bitcoins (aktuell sind es 12,5). In Deutschland ist das “Mining” jedoch nicht wirtschaftlich, denn die Berechnung für einen neuen Block benötigt enorm viel Strom. Der Finderlohn kann die Kosten dafür nicht mehr decken. Da sind die Voraussetzungen in Ländern mit günstigerem Strom deutlich besser.
Zusammengefasst: Vorteile der Blockchain
Veränderbarkeit / Sicherheit
Der Aufbau der Blockchain garantiert einen sehr hohen Grad an Sicherheit. Daten, die in der Blockchain gespeichert sind, können nicht einfach geändert werden. Wird in einem Block auf einer Node etwas verändert, so ‘bricht’ die Kette. Das bedeutet, jeder kann nachweisen, dass der Block nachträglich manipuliert wurde. Es gibt eine theoretische Möglichkeit, wie eine Manipulation nicht auffällt. Man benötigt dafür mindestens 51% der gesamten Rechenpower des Netzwerkes. Ändert man nun etwas in einem Block verändert sich der Hashwert. Dieser muss neu berechnet werden. Da der Hashwert des nachfolgenden Blocks noch den ‘alten’ Hashwert verzeichnet hat, muss dieser und damit alle nachfolgenden Blöcke neu berechnet werden. Während der Neuberechnung kommen auch noch weitere Blöcke hinzu. Wenn man diese Blöcke neu berechnet hat und damit die längste Blockhöhe hat, akzeptieren alle anderen Nodes diese.
Pseudonymität
Anders als oftmals behauptet, ist ein Großteil der existierenden Blockchain-Projekte nicht anonym, sondern pseudonym. Um eine Blockchain zu nutzen, benötigt man nur ein Wallet, welches man sich sehr einfach erstellen kann, ohne persönliche Daten dafür zu benötigen. Das heißt, man muss dafür nicht mit meinen persönlichen Daten registrieren. Auf der Blockchain wird so ein Wallet nur über die Adresse (öffentlicher Schlüssel) gefunden. Die Adresse ist genau einem Besitzer zugeordnet, lässt aber so keine Rückschlüsse auf den Besitzer zu. Es ist nur möglich zu sehen, wie viele Bitcoins er auf dieser besitzt und welche Transaktionen er durchgeführt hat. Die Adresse ist also ein Pseudonym. Diese kann aber auch aufgehoben werden.
Transparenz
Jeder Knoten enthält immer eine komplette Kopie der Blockchain, also alle bisher gesammelten Daten der Blockchain. Damit ist eine sehr hohe Transparenz gegeben. Jeder kann Betreiber eines solchen Knotens werden, indem er aktiv eine Node betreibt. Dazu gehört der Download der client software (bei bitcoin: hier) und die Synchronisierung der gesamten Blockchain. Um ein Node zu sein, muss der Client dauerhaft eingeschaltet und mit dem Netzwerk verbunden sein.
Erreichbarkeit
Das dezentrale Netzwerk ermöglicht eine Erreichbarkeit von fast 100%. Wie auch beim Internet müsste man bei der Blockchain sehr viele Knotenpunkte entfernen, damit das Netzwerk zusammenbricht. Eine Blockchain kann somit nicht einfach abgeschaltet werden.
Zugänglichkeit
Jeder mit Zugang zum Internet hat die Möglichkeit, auf einer öffentlichen Blockchain ein Konto zu erstellen. Es benötigt keinerlei Bonitätsprüfung. Dadurch wird sehr vielen Menschen ein Zugang zu einem Finanzsystem wie z. B. Bitcoin gewährt, die sonst davon ausgeschlossen wären. Das ist in Entwicklungsländern ein großer Teil der Bevölkerung.
Welche Anwendungsfälle außerhalb des Bankensektors sind noch denkbar?
Wir befinden uns derzeit noch am Anfang dieser technologischen Entwicklung. Der Markt für Anwendungsfälle ist riesig. Und natürlich gibt es auch noch viele Fragen und zu lösende Probleme. Zum Beispiel, welche Konsens-Generierung neben dem Proof-of-Work noch möglich sind bzw. gute Alternativen bieten. IOTA geht mit Tangle zum Beispiel einen neuen Weg. Außerdem gilt es herauszufinden, wo der Einsatz von Blockchains wirklich sinnvoll ist oder wo zentralisierte Datenbanken ausreichen. Wo benötigt es Regulierung und Regelungen, um gesellschaftlich unerwünschte oder illegale Aktivitäten (z. B. Geldwäsche) einzuschränken. Aber diese offenen Punkte sind typisch für den Anfang einer Disruption – also einer technologischen Entwicklung, die bestehende Strukturen und Geschäftsmodelle ablösen kann.
Mögliche Anwendungsfälle:
Identität
Viele Firmen arbeiten daran, Identitäten auf die Blockchain zu bringen. In Deutschland z. B. Helix.
Herkunftssicherung
Z. B. Everledger bringt Diamanten auf die Blockchain, um diese eindeutig zu identifizieren und so Blutdiamanten zu verringern.
Lieferketten
Maersk und IBM arbeiten an einer vereinfachten Lieferkette für Blumen.
Musikbranche
UJO-Musik will Songs und Rechteverwaltung über die Blockchain lösen
Internet of Things (IOT)
Die Kommunikation zwischen Maschinen soll über die Blockchain sicherer gemacht werden. Wir haben hier einen Artikel über IOTA dazu oder hier ein Beispiel von Blockcharge.
Regierung
Wahlen könnten z.B. über eine öffentliche Blockchain durchgeführt und so sicherer gegen Betrug werden.
Wetten / Casinos
Gerade hier ist das aktuelle System sehr intransparent. Die Blockchain kann hier Vertrauen schaffen und eindeutig nachvollziehen lassen, wann, wie viel und wer etwas gewonnen hat.
Versicherungen
Hier gibt es sehr unterschiedliche Ideen. Die bekannteste Idee ist, dass Versicherungsverträge auf der Blockchain gespeichert werden und automatisch im Schadensfall ausgeführt werden, ohne hohe Verwaltungskosten.