Blockchain verstehen – Konsensus

Die Blockchain. Ein dezentralisiertes Kassenbuch (Bitcoin) indem mit Mining Konsensus erreicht wird. IM dritten Post unsere Serie das Blockchain 1x1 geht es darum zu verstehen wie Konsensus auf der Blockchain erreicht wird. 


Wir haben in Teil 1&2 ein Auge auf das Finanzsystem und Bitcoin geworfen. Nun dreht sich alles um das Problem, welches die Blockchain löst. Wie wir Consensus erreichen und wie das Innenleben einer Blockchain überhaupt aussieht. Um das Problem zu verstehen, welches die Blockchain lösen soll, nehmen wir ein Beispiel zur Hand.


Blockchain verstehen

Das Problem rund um die Generäle von Byzantin

Image

Wie erreichen wir nun Konsensus?

Wir stellen uns vor, dass sich mehrere Divisionen der byzantinischen Armee außerhalb einer feindlichen Stadt aufhalten, wobei jede Division von einem eigenen General kommandiert wird. Die Generäle können nur per Messenger miteinander kommunizieren. Nachdem sie den Feind beobachtet haben, müssen sie sich für einen gemeinsamen Aktionsplan entscheiden. Einige der Generäle könnten jedoch Verräter sein und versuchen zu verhindern, dass die loyalen Generäle eine Einigung erzielen. Die Generäle müssen über einen Algorithmus verfügen, um Folgendes zu gewährleisten:

A. Alle loyalen Generäle beschließen den gleichen Aktionsplan und
B. eine kleine Anzahl von Verrätern kann die loyalen Generälen nicht überstimmen

Image
Image
Image
Image

Die Blockchain ein dezentralisiertes "Kassenbuch" (Bitcoin)

Ausgangspunkt:

  • Ein Bitcoin-Benutzer lädt eine Software herunter (die Bitcoin-"Client"-Software).
  • Diese Client-Software lädt zunächst die Blockchain (Blockkette von Bitcoin) herunter, das Hauptbuch (ledger) aller Transaktionen in der Geschichte von Bitcoin.
  • Jeder Bitcoin-Client speichert die vollständige Aufzeichnung aller Bitcoin-Transaktionen aller Zeiten. Es gibt keinen zentralen Aufzeichnungsspeicher, nur eine Satz von Kopien, die an alle Kunden verteilt werden

Sobald sich die Blockkette auf einem Client-Computer befindet, taucht das Problem der Synchronisierung auf:

  • Wie werden die Blockchains (Ledger), die sich auf jedem Client befinden, miteinander synchronisiert?
  • Oder, mit anderen Worten, wie erreichen die Blockchains einen "verteilten Konsens", ohne dass eine zentrale Partei das definitive Transaktionsregister führt?
  • Oder, mit anderen Worten, wenn ein Kunde widersprüchliche Nachrichten über eine Transaktion erhält, welche soll er akzeptieren und welche soll er ignorieren? Wer von ihnen ist wahrhaftig, wer ist ein Verräter?

Inzwischen sollten klar sein, dass die Synchronisierung der Blockchain-Kopien eine Manifestation des Problems der byzantinischen Generäle ist.

Wie erreichen wir nun Konsensus? Mining?

Um ein dezantrales Kassenbuch wie im Falle von Bitcoin man die Blockchain auch nennen kann, zu führen, brauchen wir also Konsensus. Wie erreichen wir diesen im Falle von Bitcoin? Mit Mining. Mining ist ein Proof of Work verfahren und was ziemlich anderes als das was Bergbauarbeiter tun wenn sie "minen". Im Blockchainbereich ist minen nicht irgendein Bergabbau sondern eher das Führen eines Kassenbuches.

Denke nun also bei Mining eher an einen Buchhalter und es wird viel mehr Sinn ergeben.

Image

Was passiert beim Mining:

  • Beim Mining werden neue Blöcke auf die Blockchain gebracht.
  • Es werden in jedem Block neue Bitcoins erstellt. Dies fast wie eine Zentralbank, die neues Geld druckt. Denke jedoch daran, dass die Menge der zu erstellenden Bitcoins festgelegt ist (21 Millionen).
  • Schafft Vertrauen, indem sichergestellt wird, dass Transaktionen nur dann bestätigt werden, wenn dem Block, der sie enthält, genügend Rechenleistung gewidmet wurde. (Proof of Work)

Proof-of-Work-Problem:

Image

Erklärung der 3 Schritte:

  1. Hash des letzten Block-Kopfes (Header) + Block neuer Transaktionen + Zufallszahl (Nonce=32-Bit Zahl)
  2. Kryptographische Funktion (SHA-256) auf die oben genannten Daten anwenden
  3. Überprüfung des Hashes gegen einen vorgegebenen Wert (ein gewünschtes Muster). Weniger als dieser Wert=Preis. Nicht weniger=Raten

Der Gewinner, welches das "Rätsel" als erstes löst, wird von den Nodes als Block verifiziert und an das Netzwerk gesendet

Wie eine Transaktion auf der Blockchain funktioniert

Hier eine Abfolge einer Transaktion auf der Blockchain:

Image

Schreibe einen Kommentar

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