Funktionsweise

Allgemein

Blockchain:
  • dezentralisiertes, verteiltes Register (engl. Ledger)

  • enthält digitale Datensätze, Ereignisse oder Transaktionen
    • in chronologischer Reihenfolge

    • für alle Teilnehmer nachvollziehbar

    • in Datenblöcken gespeichert („Block“)

    • nahezu unveränderbar miteinander verkettet („Chain“)

Eine Blockchain kann als Protokoll für den Austausch von Werten, statt nur Informationen, beschrieben werden.

[Blockchain-Wikipedia] [Blockchain-Bundesnetzagentur] [Blockchain-HSLU] [Blockchain-IBM] [Blockchain-Videos] [Blockchain-Computerwoche]

Akteure

Mitgliedern in Blockchain-Netzwerken können grundsätzlich drei unterschiedliche Gruppen von Akteuren zugeordnet werden, welche jeweils unterschiedliche Aufgaben und Funktionen übernehmen:

  1. Teilnehmer

  • transaktionsberechtige Nutzer eines Blockchain-Netzwerks

  • erbringen in der Regel keine Rechenleistung

  • müssen keine Transaktionshistorien speichern

  1. Nodes

  • Übernahme bestimmter Prüfaufgaben (ausreichendes Guthaben?, Signaturen authentisch?, korrekte Hash-Werte?, …)

  • Speichern dazu die Historie aller bisher im Netzwerk getätigten Transaktionen

  • Nicht besonders rechenintensiv

  • in der Regel nicht entlohnt (Anreize sind z.B.: Das Einsehen der gesamten Transaktionshistorie, Aktive Aufrechterhaltung der Integrität der Blockchain)

  1. Miner

  • Bildung neuer Blöcke in einer Blockchain (i.d.R. durch Ermittlung von Hash-Werten)

  • können grundsätzlich auch Transaktionen auslösen

  • eigentlicher Anreiz: monetäre Entlohnung für die Blockbildung + möglicherweise Transaktionsgebühr (i.d.R. Kryptowährung)

In der Bitcoin-Blockchain:

Akteur

Anzahl (2017)

Anzahl (2022)

Teilnehmer

~ 15 Milionen

~ 80 Millionen

Miner

~ 100.000

k.A.

Nodes

~ 10.000

~ 15.000

[Blockchain-Bundesnetzagentur] [Blockchain-BDEW] [Blockchain-Stats]

Blöcke

Ein Block der Blockchain beinhaltet die zu sichernden Daten, meist ein zugehöriger Zeitstempel, sowie der Hash des Vorgängerblocks. Aus diesen Werten, sowie einer, für die Validierung des Blocks zu erratende, Nonce (Number only used once) wird der Hash des aktuellen Blocks errechnet, welcher ebenfalls mit gespeichert wird. Dieser Hash-Wert ist einzigartig und kann als digitaler Fingerabdruck des Blocks angesehen werden.

../_images/Blockchain-Block.png

Blockchain-Block

Durch die Sicherung des Vorgänger-Hashes werden die Blöcke eindeutig in eine nicht unaufwändig veränderbare Reihe verkettet. Der erste, ursprüngliche Block, wird als Genesis Block bezeichnet, und hat als Wert des Vorgänger-Hashes einen fiktiven „Startwert“.

../_images/Blockchain-Hashes.png

Blockchain-Verkettung durch Sicherung des Vorgänger-Hashes

Ein Block kann nicht rückwirkend geändert werden, ohne dass alle nachfolgenden Blöcke geändert werden müssen. Wird ein vorhergegangener Block manipuliert, so ändert sich dessen errechneter Hash-Wert, wodurch er und, aufgrund der Verkettung, auch alle folgenden Blöcke invalid werden. Somit lässt sich sagen, dass ein Block umso sicherer ist, je mehr Blöcke auf diesen folgen. Der Genesis Block ist somit der am schwierigsten zu manipulierende Block.

Durch die Nutzung der Hashwerte wird es den Teilnehmern ermöglicht, Transaktionen unabhängig und relativ kostengünstig zu überprüfen und zu kontrollieren.

../_images/Blockchain-Hashes-Fehler.png

Abweichung der Blockchain-Hashes nach Manipulation

[Blockchain-Demo] [Blockchain-Videos] [Blockchain-Bundesnetzagentur] [Blockchain-Computerwoche]

Verteilung

Die Blockchain ist die bekannteste Ausprägung der Distributed-Ledger-Technologien und wird so über ein Peer-to-Peer-Netzwerk verteilt verwaltet. Dabei besitzt jeder Teilnehmer eine Kopie der Blockchain. Um die Einheitlichkeit, sowie die Validität der Blockchain-Daten zu garantieren, muss ein Konsens beim hinzufügen neuer Blöcke an die bestehende Kette gefunden werden.

../_images/Blockchain-Konsens.png

Konsens nötig bei verteilter, redundanter Speicherung

[Blockchain-Wikipedia] [Blockchain-Demo] [Blockchain-Bundesnetzagentur] [Blockchain-Videos] [Blockchain-Computerwoche]

Konsensmechanismen

Zur Konsensfindung zur Erstellung und Anfügung, neuer Blöcke noch nicht validierter Transaktionen, an die Blockchain, werden verschiedene Mechanismen genutzt:

  1. Proof-of-Work

Da das reine Berechnen neuer Hashwerte für einen manipulierten und dessen folgenden Blöcke, auch bei sehr vielen Blöcken, schnell zu bewerkstelligen ist, soll diese Berechnung verzögert werden.

Dazu wird der „Proof-of-Work“ genutzt:
  • Konkurrenz darum als erstes die Lösung eines kryptographischen Rätsels zu finden

  • Versuch den korrekten Hash-Wert des neuen Blockes zu finden (siehe Blöcke)

  • Dieser Hash muss unterhalb eines definierten Schwellwerts liegen. (z.B. erste vier Ziffern ‚0‘)

  • Schwellwert umgekehrt proportional zur Schwierigkeit / Dauer

  • Generierung eines passenden Hash-Werts durch Variabilität der Nonce

  • Hash-Wert kann nur durch rechenintensives Ausprobieren vieler verschiedener Nonces gefunden werden.

  • Sobald ein passender Hash-Wert ermittelt wurde, wird der Block, inklusive Nonce und Hashwert, zur Überprüfung an das Netzwerk gesendet.

  • Zur Überprüfung muss lediglich der Block, inklusive der Nonce gehasht werden und mit dem angegeben Hash-Wert verglichen werden.

  • Bei einem Konsens im Netzwerk über die Korrektheit des Hash-Werts, so kann der Block mit dem bestätigten Hash-Wert an die bisherige Blockchain angefügt werden.

  1. Proof-of-Stake

Aufgrund der hohen benötigten Rechenleistung, sowie der limitierten Transaktionsgeschwindigkeit, werden oft, insbesondere bei konsortialen und privaten Blockchains, andere Konsensmechanismen genutzt.

So wird beispielsweise der „Proof-of-Stake“ genutzt:
  • Wahl von Mitglieder des Blockchain-Netzwerks zur Bildung neuer Blöcke (größeres Vermögen -> wahrscheinlicher gewählt)

  • Annahme, dass wohlhabende Teilnehmer ein hohes Interesse am Fortbestand und Integrität der Blockchain haben.

  • Haften mit ihrem eingesetzten Vermögen für die Korrektheit der Blockbildung.

  • Setzt Vertrauenswürdigkeit voraus -> das Lösen des kryptographischen Rätsels kann deutlich einfacher ausgestaltet werden

  • Die Bildung neuer Blöcke ist deshalb wesentlich schneller und ressourcenschonender als beim Proof-of-Work.

  • Geringere Sicherheit wegen nötigem Vertrauen in gewählte Akteure

  1. Proof-of-Authority

Besonders bei privaten Blockchains kommt auch das Konsensverfahren „Proof-of-Authority“ zur Anwendung:
  • einzelne Teilnehmer, denen die Verwaltung des Blockchain-Netzwerks obliegt, werden für die Blockbildung bestimmt

  • deutlich schneller und ressourcenschonender als der Proof-of-Stake

  • setzt allerdings ein sehr hohes Vertrauen in die blockbildenden Teilnehmer voraus

[Blockchain-Wikipedia] [Blockchain-Demo] [Blockchain-Bundesnetzagentur] [Bitcoin-Proof-of-Work] [Blockchain-HSLU] [Blockchain-Videos] [Blockchain-Computerwoche]

Digitale Signatur

Um sicher zu stellen, dass Transaktionen auch nur von autorisierten Personen ausgeführt werden, wird ein asymmetrisches Kryptosystem (Public-Key) zur digitalen Signierung genutzt. Dabei wird der Hash der Nachricht mit einem privaten Schlüssel (private key) verschlüsselt, wodurch man eine digitale Signatur erhält. Diese kann, nach der Entschlüsselung mithilfe des passenden öffentlichen Schlüssel (public key), mit dem Hash der erhaltenen Daten verglichen werden, um die nichtabstreitbare Urheberschaft und Integrität der Daten zu prüfen.

../_images/Digital-Signature.svg

Digitale Signatur

Von Bananenfalter🍌🦋 - Eigenes Werk, CC0, https://commons.wikimedia.org/w/index.php?curid=17500025

[Blockchain-Wikipedia] [Blockchain-Demo] [Blockchain-Bundesnetzagentur] [Digital-Signature-Wikipedia] [Digital-Signature-Videos]

Blockchain-Varianten

Blockchain-Varianten lassen sich durch Ausgestaltung der Zugangsberechtigungen unterscheiden. So lassen sie sich grundsätzlich in öffentlich zugängliche (public blockchains bzw. permissionless blockchains) und geschlossene Blockchains (private bzw. permissioned blockchains) unterteilen. Eine Mischform hieraus stellen konsortiale Blockchains dar.

Vergleich öffentliche, private, konsortiale Blockchains

(siehe [Blockchain-Bundesnetzagentur] Seite 15 - Tabelle 1)

Öffentlich

Privat

Konsortial

Zugang

Offen zugänglich

Nur für zugelassene Teilnehmer

Nur für zugelassene Teilnehmer

Personenbezug

Pseudonyme Nutzung

Herstellbar

Herstellbar

Bildung neuer Blöcke

Dezentral durch Ressourceneinsatz der Miner

Zentral durch einzelne Instanz

Je nach Ausgestaltung

Konsensmechanismus

i. d. R. Proof-of-Work, z. T. auch Proof-of-Stake

i. d. R. Proof-of-Stake oder Proof-of-Authority

Je nach Ausgestaltung

(IT)-Sicherheit

Sehr hoch, kein SinglePoint-of-Failure, Manipulationen kaum möglich

Eingriffe durch zentralen Akteur möglich, SinglePoint-of-Failure

Je nach Ausgestaltung

Energieverbrauch

Hoch (beim Proof-of-Work)

Tendenziell niedrig

Je nach Ausgestaltung

Transparenz

Hoch durch offene Transaktionshistorie

Nur für ausgewählten Teilnehmerkreis

Nur für ausgewählten Teilnehmerkreis

Systemänderungen

Niedrige Flexibilität

Hohe Flexibilität

i. d. R. Konsens im Konsortium notwendig

Änderungen an bereits durchgeführten Transaktionen

Nicht möglich

Möglich durch zentrale Instanz

Möglich (z. B. durch Mehrheitsbeschluss)

Geschwindigkeit der Transaktionen

Gering (beim Proof-of-Work)

Tendenziell schnell

Tendenziell schneller als bei öffentlichen Blockchains

Kryptowährung

i. d. R. als Anreizmechanismus zur Bildung neuer Blöcke notwendig

Optional

Optional

[Blockchain-Bundesnetzagentur] [Blockchain-Wikipedia] [Blockchain-Computerwoche]