Wie die Blockchain die Welt verändert - Teil 1

Dies ist der erste Teil einer Serie von Blogeinträgen über die zukunftsweisenden Blockchain Technologien. Dieses mal geht es um das Konzept hinter der Blockchain und wie Bitcoin funktioniert.

Was ist die Blockchain?

Es ist 2017 und Blockchain basierte Kryptowährungen und damit einhergehende Technologien sind gerade dabei an Fahrt zu gewinnen.

Nachdem ich mich die letzte Tage intensiver mit dieser Technologie auseinander gesetzt habe soll hier eine Zusammenfassung meiner Erkenntnisse erfolgen.

Die Blockchain ist ein Übergriff für verteilte Buchhaltungssysteme mit einem Mechanismus für Konsens. Es besteht aus einem Netzwerk an Teilnehmern, die durch das Bereitstellen von Rechenleistung das Netzwerk aufrecht erhalten.

Was ist die Idee hinter der Blockchain?

Im Prinzip ist die Blockchain das Resultat einer Weiterentwicklung der doppelten Buchhaltung. Im Bitcoin Whitepaper wird das "Triple Entry Accounting", also dreifache Buchführung, genannt.

Das funktioniert so: Während man bei der doppelten Buchführung eine Soll und eine Haben Seite verbucht, wird das ganze hier noch um eine digital signierte Quittung aller Blockchain Teilnehmer erweitert.

Im Gegensatz zur klassischen Variante der Buchung gibt es also zusätzlich zu den beiden Belegen, welche die jeweilige Handelspartner vorhalten, noch den öffentlichen Beleg der für alle einsehbar und unveränderbar ist.

Da hier kryptografische Verfahren zugrundeliegen sind alle Details der Transaktion mathematisch beweisbar.

Damit der digital signierte Beleg nicht verloren geht, wird er von allen Teilnehmer der Blockchain gleichzeitig aufbewahrt, denn jeder hat Interesse am Erhalt.

Gemeinsame Buchführung

So wie dies beispielsweise bei Bitcoin umgesetzt ist hat das folgende Konsequenzen:

  1. Jede Transaktion ist öffentlich einsehbar

  2. Transaktionen können nicht rückgängig gemacht werden

  3. Jede Transaktion ist fälschungssicher vor Manipulation geschützt

Wie entsteht der Konsens?

Die Blockchain kann man verstehen als eine dezentrale Datenbank von Transaktionen. Dezentral deshalb, weil jeder Teilnehmer der Blockchain seine eigene Version dieser Datenbank vorliegen hat.

Um dieser Datenbank nun vertrauen zu schenken, müssen sich alle Teilnehmer darauf einigen, dass es sich um die korrekten Inhalte handelt. Hier kommt der eigentliche Durchbruch der Blockchain Erfinder in’s Spiel: "Proof of Work", ein Algorithmus für verteilten Konsens ohne Vertrauensbasis.

Vertrauen in verteilten Netzwerken

Wie kann man nun sicher sein, dass niemand falsche Daten in das Netzwerk einspeist?

Hier wird die Rechenleistung des Blockchain Netzwerks von Bedeutung. Da alle Blöcke den Hash ihres Vorgängers beinhalten ist es nicht möglich eine neue in sich konsistente Blockchain zu präsentieren ohne die Rechenleistung aufzuwenden die bis zu diesem Punkt schon investiert wurde. Die Mehrheitsentscheidung des Netzwerks wird also stets durch die längste Blockchain repräsentiert.

Solange ein Angreifer nicht über die Mehrheit der Rechenleistung im Netzwerk verfügt ist ein Betrug also ausgeschlossen. Wird die Mehrheit der Rechenleistung dagegen von vertrauenswürdigen Teilnehmern kontrolliert, so wächst die richtige Blockchain schneller als alle manipulierten Varianten.

Bei diesem Verfahren bekommt man also praktisch Stimmen entsprechend der hinzugefügten Rechenleistung.

Die Teilnehmer der Blockchain werden auch als "Miner" (zu Deutsch "Bergmann") bezeichnet und das Erzeugen der Blöcke als "Mining". Eine Analogie zum Abbau von Rohstoffen.

Woraus besteht ein Block?

Wie der Name schon andeutet handelt es sich bei der Blockchain um eine Kette von Blöcken. Aber woraus besteht denn nun so ein Block?

Hier sind die wichtigsten Bestandteile anhand des Beispiels Bitcoin aufgeführt:

  • Das "Target", Zielwert für den zu errechnenden Hash. Seine Schwierigkeit kann angepasst werden um sich an die Hash-Rate des Netzwerks anzupassen

  • Einen Zeitstempel, Wichtig um die chronologische Reihenfolge der Blockchain aufrecht zu erhalten und den Proof-of-Existence an einen Zeitpunkt binden zu können

  • Die "Nonce", der Wert der geraten wurde um einen gültigen Hash zu erzeugen

  • Der aus dem Hash-Baum der Transaktionen entstandene Hash "Merkle Root", er dient dazu Manipulationen an den Transaktionen zu erkennen

  • Die Transaktionen selbst

  • Der Hash des vorhergehenden Blocks, durch ihn ensteht die "Chain" also Verkettung der Blöcke. Das Prinzip ist vergleichbar mit einfach verketten Listen

  • Der eigene Hash, damit er gültig ist muß er kleiner als das Target sein

Hier eine sehr schöne Infografik dazu.

Raten des richtigen "Nonce"

Um Blöcke zu erschaffen muß Arbeit investiert werden.

Die "Mining" genannte Arbeit die bei dem Proof-of-Work Verfahren investiert werden muss ist ein wichtiger Bestandteil des Systems. Letztlich geht es dabei darum die richtige Zahl zu erraten.

Diese Zahl wird "Nonce" genannt. Sie ist Bestandteil eines Blocks. Aus allen Daten eines Blocks wird dann mit Hilfe eines Hash-Baums ein einzelner Hash generiert.

Gesucht wird ein passendes "Nonce" um ein vordefiniertes Ziel, "Target" genannt, zu unterschreiten. Dann ist das "Problem" gelöst und der Teilnehmer wird für seine "Arbeit" entlohnt.

Durch ein automatisiertes Absenken des "Targets" wird die Schwierigkeit des Problems fliessend an die Rechenleistung der Teilnehmer angepasst.

Ein wichtiges Detail ist die Tatsache, dass das finden eines solchen "Nonces" schwierig, also sehr rechenaufwändig ist, während die Verifikation sehr einfach möglich ist.

Es ist also schnell möglich zu prüfen ob ein vorgeschlagenes "Nonce" auch wirklich einen Hash erzeugt der kleines als das "Target" ist.

Was ist Bitcoin?

Bitcoin ist eine Anwendung der Blockchain Technologie um eine dezentrale, digitale Währung zu erschaffen.

Im Zusammenspiel mit Public-Key-Verschlüsselungsverfahren kann dazu jeder sein eigenes Bitcoin "Bankkonto" eröffnen. Dazu braucht es nur ein Schlüsselpaar.

Der Aufwand ist also ähnlich hoch wie beim Erzeugen von SSH Schlüsselpaaren.

Die Idee von Bitcoin ist einfach: Man erzeugt ein gültiges Schlüsselpaar und zum Versenden von einem Bitcoin reicht es einfach die Nachricht "Alice sendet 1 Bitcoin an Bob" mit dem eigenen privaten Schlüssel zu signieren und in der Blockchain als Transaktion zu veröffentlichen.

Weitere Details zur Umsetzung von Bitcoin findet man auch im original Whitepaper von "Satoshi".

Ausblick

Im nächsten Teil setzen wir uns mit Ethereum und den daraus entstehenden Implikationen auseinander.


Direkt und bequem die neuesten Posts per Mail bekommen.

Ich freue mich auch über Leserbriefe an blog@lrx.gmbh