Unsere Lernplattform ist bislang nicht auf eine Nutzung an mobilen Endgeräten angepasst. Wir würden dich deshalb darum bitten stattdessen einen Laptop zu verwenden.
StartseiteIn diesem Kapitel setzt sich Dennis Hillemann mit der Blockchain-Technologie auseinander und gibt einen Einstieg in technische Grundlagen und Anwendungsfälle, insbesondere im rechtlichen Kontext.
Wie Sie im Beispiel sehen können, reicht es nicht aus, dass die Daten dezentral gespeichert werden. Vielmehr müssen Sie sicherstellen, dass die Daten im Nachhinein auch nicht mehr verändert werden können.
Blockchains sind fälschungssichere, verteilte Datenstrukturen, in denen Transaktionen in der zeitlichen Reihenfolge protokolliert abgebildet sind, wobei die einzelnen Transaktionen nachvollziehbar, unveränderlich und ohne zentrale Instanz aufgezeichnet werden. Aber wie können Sie sicherstellen, dass die Daten auch richtig sind?
Hier kommen wir zu einem wesentlichen Punkt: Die Einträge auf der Blockchain werden in einem ersten Schritt mit einem Schlüssel versehen, sogenannten „Hashs“. Jede Transaktion generiert einen „Hash“-Code, der die Information der Transaktion enthält. Diese mathematische Funktion wandelt eine beliebige Zeichenfolge in eine ganz bestimmte Folge von Ziffern und Buchstaben um (einen „Hash“), wobei jede so erzeugte Reihe dieselbe Anzahl von Zeichen hat. Sie verwenden also etwa eine „Hash“-Funktion, die für jeden Eingabewert (Input: z.B. „A gibt B 2 Münzen“) eine Zeichenfolge von 20 Zeichen (Output) erzeugt. Die ausgegebenen Hashwerte weisen dabei die folgenden vier Eigenschaften auf:
Wenn C jetzt einen erneuten Anlauf unternimmt, erzeugt die Hash-Funktion für die von ihm geänderte Transaktion einen neuen Hash. Doch dieser zeigt wiederum nur an, dass eine Änderung stattgefunden hat. Die Liste ist weiterhin nicht fälschungssicher!
In einem zweiten Schritt können Sie die einzelnen Transaktionen aber mithilfe der Hash-Funktion auch miteinander verknüpfen, indem Sie als Input nicht nur die Transaktion, sondern auch den für die zuvor aufgezeichnete Transaktion erzeugten Hash verwenden.
Wenn C seinen nächsten Versuch startet, muss er als Input für die Funktion also nicht nur die Änderung einer Transaktion angeben, sondern auch den vorhergegangen Hash. Denn er muss nicht nur die eine Transaktion verändern, sondern auch die für die vorherige Transaktion bereits erzeugten Hashes – und zwar mit großer Rechenkapazität, also mit Computereinsatz. Nun hängt jeder Eintrag schon von den vorherigen Einträgen ab: Ein deutlicher Gewinn an Sicherheit!
Das heißt auch: Wenn jetzt die Transaktionen weitergeführt werden und z.B. D 5 Münzen an A gibt und C jetzt versucht die Änderung vorzunehmen, sind auch die folgenden Transaktionen davon beeinträchtigt und würden sich verändern, bzw. können nicht mehr nachvollzogen werden. Im obigen Beispiel hätten also A, B und D eine andere Liste als C. Wie können Sie jetzt ausschließen, dass sich die gefälschte Liste durchsetzt?
In einem dritten Schritt werden alle an der Blockchain Teilnehmenden (die sog. „Nodes“) bei jeder Transaktion (bzw. in einem festgelegten Zeitintervall) zu einer Art Abstimmung aufgefordert (dies ist der sog. Konsens-Mechanismus oder auch proof of work). Für diese Abstimmung gleichen alle Beteiligten die bei ihnen liegende Liste mit den anderen Listen ab. Versucht man im Nachhinein die Liste zu verändern, muss man die Mehrheit der Beteiligten „Nodes“ von der Richtigkeit der vorgelegten Liste überzeugen – bzw. die Geräte unter seine Kontrolle bringen. Das mag bei 4 Beteiligten noch möglich sein, bei 1000 oder sogar 100.000 „Nodes“, wie in der Bitcoin-Blockchain, ist der Aufwand unrealistisch groß. Das macht die Blockchain quasi fälschungssicher.
Es erfolgt jedoch noch eine weitere Maßnahme zur Validierung der Inhalte auf der Blockchain. Damit eine Person einen Eintrag vornehmen kann, muss er bzw. sie sich identifizieren. Dies geschieht über eine asymmetrische Verschlüsselung. Jeder Beteiligte verfügt über einen öffentlichen und einen privaten Schlüssel. Ein öffentlicher Schlüssel (eine lange, zufällig generierte Zahlenreihe) stellt die Nutzeradresse auf der Blockchain dar. Über das Netzwerk gesendete Transaktionen werden als zugehörig zu dieser Adresse gespeichert. Mit entsprechenden Programmen (ähnlich wie Browser im Internet) kann man die öffentlichen „Adressen“ einsehen. Schaut man sich die Bitcoin-Blockchain an, so kann jeder einsehen, dass z.B. ein Bitcoin zu einem bestimmten Zeitpunkt von einem Nutzer der Blockchain zu einem anderen gewandert ist. Wer aber die Nutzer hinter der Zahlenfolge sind, das kann man nicht öffentlich einsehen.
Der private Schlüssel fungiert als Passwort zur individuellen Authentifizierung. Wieder am Beispiel der Bitcoin-Blockchain: Damit man von der Rechtmäßigkeit einer Bitcoin-Transaktion ausgehen kann, muss sichergestellt werden, dass jede Überweisung durch den Inhaber der Bitcoins initiiert wurde. Das verwendete asymmetrische Sicherheitssystem oder „Public-Key-Kryptosystem“ ist im Gegensatz zu einem symmetrischen Kryptosystem von keinem gemeinsamen geheimen Schlüssel abhängig. Jede „Wallet“ (der Ort, an dem man seine Bitcoins ablegt) und damit automatisch jeder Teilnehmer des Bitcoin-Netzwerks, besitzt ein Schlüsselpaar, wobei die beiden Schlüssel immer gleichzeitig als Schlüsselpaar erzeugt werden und nur als Paar zusammenpassen. Diese Kombination aus zwei Schlüsseln kann insofern mit einer digitalen Signatur verglichen werden. Solange der private Schlüssel geheim ist, kann das Schlüsselpaar nicht gefälscht werden.
Würde C nun versuchen seine Fälschung vorzunehmen…
1. …müsste er zunächst den privaten Schlüssel von B in Erfahrung bringen.
2. Dann müsste er den „Hash“ neu errechnen
3. und alle nach der Transaktion vorgenommenen Transaktionen erneut errechnen (und dafür jeweils wieder den privaten Schlüssel in die Hände kriegen).
4. Mit der veränderten Liste müsste er jetzt an der nächsten öffentlichen Abstimmung teilnehmen und versuchen die Mehrheit der Teilnehmenden von der Richtigkeit seiner Liste zu überzeugen.
In einer Blockchain werden die so beschriebenen Transaktionen zu einem Block zusammengefasst. Sobald die Kapazitätsgrenze eines Blocks erreicht ist, wird dieser „geschlossen“. Die einzelnen Blöcke verweisen kettenweise auf einander und sind in chronologischer Reihenfolge mit „Hashs“ verkettet. Es ist quasi unmöglich, Daten von vergangenen Transaktionen nachträglich abzuändern. Der Validierungsprozess erfolgt über ein kryptographisch verschlüsseltes Peer-to-Peer-Netzwerk, entsprechend der Validierung von Transaktionen.
Somit haben wir eine fälschungssichere, dezentrale Datenbank geschaffen, in der C keine nachträglichen Änderungen vornehmen kann. Den abgelegten Informationen kann ohne einen Intermediär vertraut werden. Wir haben eine Blockchain.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Du bist jetzt am Ende des Kapitel angekommen. Wenn du möchtest, kannst du gleich mit dem nächsten Kapitel weitermachen. Wähle es dazu in der Seitenteile im linken Teil deines Bildschirms unter Kapitelübersicht aus.
Dennis Hillemann ist Partner der Kanzlei Fieldfisher in Hamburg. Als Fachanwalt für Verwaltungsrecht berät er Ministerien, Behörden und Unternehmen im Öffentlichen Recht, häufig auch auf der Schnittstelle zu modernen Technologien wie Blockchain. Dennis hat zwei eigene Podcasts "Recht im Ohr" und "Law of the Future".