Home » Artikel » Wie funktioniert die Blockchain? Einfach erklärt.

Wie funktioniert die Blockchain? Einfach erklärt.

Jonas Affolter, Affolter Consulting

Die Blockchain wird bald jeden beeinflussen doch finden sich manche in den technologischen Begriffen nicht zurecht: Konsens, Dezentralisierung, Hashing, oder private Schlüssel und Ledger können überwältigend wirken. Dieser Artikel erklärt was diese Begriffe bedeuten und wie die Blockchain funktioniert.

Wie funktioniert die Blockchain?

Die letzten Jahre haben gezeigt, dass die Blockchain weit mehr ist als Bitcoin, ihre erste Anwendung. Es handelt sich um eine revolutionäre Technologie, die Teil unserer Zukunft sein wird. Umso wichtiger ist es zu verstehen, wie die zugrunde liegende Technologie funktioniert. Um mehr zu lesen, empfehlt sich das Buch «Blockchain 2.0» von Julian Hosp, welches zugleich eine Quelle und Inspiration für diesen Artikel ist.

Konsens

Wer entscheidet, was in einer Datenbank passiert ist und was nicht? Meistens wird diese Aufgabe an Einzelpersonen, Firmen oder Länder delegiert, welche diese Veränderung für den Nutzer festhalten. Der Hauptgrund dafür ist, dass dies aus technologischer Sicht effizienter ist und es vor der Einführung der Blockchain keine naheliegende Alternative gab. Mit der Erfindung der Blockchain, der zunehmenden Aufmerksamkeit von Nutzern für die Art und Weise wie ihre Daten gespeichert werden, und dem schwindenden Vertrauen in Technologie-Grosskonzerne ist eine Nachfrage nach Blockchain-Lösungen entstanden.

Dezentralisierung

Ein mit dem Konsens verbundenes Konzept ist die Dezentralisierung. Dezentralisierung ist das was passiert, wenn das Vertrauen nicht auf einigen wenigen Einheiten basiert, sondern auf viele Einheiten verteilt ist. Dies steht im Gegensatz zur Zentralisierung, welche die bestehende Norm ist. Ein tägliches Beispiel dafür ist die Speicherung von Daten auf Google Drive. Bei der Nutzung von Google Drive vertraut man darauf, dass Google, das Unternehmen, die Daten nicht verändert, an Dritte weitergibt oder in sonstiger Weise beeinflusst. Der Vorteil dieses Modells ist, das die Nutzung relativ einfach ist. Eine Alternative dazu ist eine dezentrale Speicherung, bei welcher die Daten von vielen Stellen gleichzeitig gespeichert werden, um dezentrale Sicherheit zu gewährleisten.

Dies führt zum ersten Schlagwort, welches durch die Blockchain populär wurde: der Ledger, oder die damit verbundene dezentrale Ledger-Technologie. Der Ledger ist das grundlegende Element auf dem die Blockchain aufbaut und ist daher wichtig zu verstehen. Ein Ledger ist fundamental nichts anderes als eine Datenbank, die Informationen enthält. Das bereits erwähnte Google Drive ist ein Beispiel für einen solchen zentral verwalteten Ledger. Google entscheidet was gespeichert wird und was nicht. Das hat den Vorteil, dass es ökonomisch und technologisch effizient ist, weil nur eine Partei sich darüber einigen muss, was auf seinem Ledger geschehen ist.

Die offensichtliche Schwierigkeit bei einem dezentralen Ansatz besteht darin einen Konsens darüber zu finden, was in der Datenbank aktualisiert werden muss. Der beliebteste Ansatz zur Lösung der Koordinierung dieser Aktualisierungen ist die Blockchain. Die Lösung der Blockchain besteht darin sicherzustellen, dass die dezentrale Gemeinschaft einen Ledger in regelmässigen «Zeitblöcken» aktualisiert, beispielsweise alle 10 Minuten. Daher wird ein Konsens darüber, was seit der letzten Aktualisierung (in unserem Beispiel in den letzten 10 Minuten) geschehen ist, in einem neuen Zeitblock festgehalten. Sobald sich die Mehrheit der Gemeinschaft über den Inhalt des aktuellen Zeitblocks einig ist, wird dieser Block zu den letzten hinzugefügt, um eine Historie der Aktualisierungen zu erstellen.

Diese Blöcke werden aneinandergereiht, um eine Konsenshistorie zu erstellen. Dies geschieht, indem eine komprimierte Version des letzten Blocks in den aktuellen Block inkludiert wird, wodurch ein kontinuierlicher Konsens über das Geschehene ermöglicht wird. Da rückwirkende Änderungen mit hohen Kosten verbunden sind, macht es diese Kette von Blöcken unmöglich, die Vergangenheit zu verändern, wie zum Beispiel etwas zu löschen. Das liegt daran, das wenn eine Entität versuchen würde einen früheren Block zu ändern, die gesamte Kette danach «brechen» und die Geschichte der Blockchain zerstört werden würde. Zusammenfassend lässt sich sagen, dass Änderungen in der Blockchain nur durch den Konsens der Mehrheit der Gemeinschaft vorgenommen werden können.

Die Blockchain ist also eine digitale Datenbank, in welcher dieselben Informationen, die vom Mehrheitskonsens akzeptiert wurden, von jedem Mitglied einer Gemeinschaft gespeichert werden. Regelmässige Aktualisierungen werden zu den bestehenden Informationen hinzugefügt, um sicherzustellen, dass jedes Mitglied über alle Informationen verfügt und nicht vom Vertrauen in andere abhängig ist.

Kryptografische Grundlagen

Zum Verständnis der kryptografischen Grundlagen der Blockchain-Technologie werden zwei weitere Konzepte kurz angesprochen: Hashing sowie private und öffentliche Schlüssel.

Hashing

Ein Hash ist eine Buchstaben-Zahlen-Kombination mit fester Länge, die von einem Hash-Algorithmus erstellt wird. Dieser mathematische Algorithmus wandelt eine gegebene Information in einen anderen Wert mit einer bestimmten Form und Länge um. Eine wichtige Eigenschaft ist, dass es leicht möglich ist, aus der ursprünglichen Information eine Buchstaben-Zahlen-Kombination, auch Hash genannt, zu erzeugen, es aber nahezu unmöglich ist, diesen Schritt rückgängig zu machen. Genau so wie 10 + 11 eindeutig 21 gibt, man 21 aber auf unendlich viele Wege erreichen kann.

Ein Beispiel soll dies anhand des Hash-Algorithmus SHA-256 verdeutlichen:

vires in numeris => fb3a3384783921e1bc394229481209f29f70c588f1c8092cb7e43fdcadcfe241

Wenn nur das «V» grossgeschrieben wird, ändert sich der Hash komplett:

Vires in numeris => 2d01a25482469c761bc32056de9c6a1c622d427f11b4a89c8f6b7c4d28b9e9a2

Der Hash-Algorithmus ist in der Lage, Informationen wie «Alice hat Bob am 3. Januar 2009 um 09:30 Uhr 100 Satoshis gesendet» zu hashen und als Hash-Wert auszudrücken. Wie aus den obigen Beispielen hervorgeht, würde eine Änderung der Anzahl Satoshis oder Namen in dieser Aussage den Hash-Wert komplett verändern. Eine Blockchain verwendet diese Hash-Algorithmen, um Informationen und Aktualisierungen auszudrücken. Nach der Erstellung eines Blocks (man erinnere sich an das Beispiel der regelmässigen Aktualisierung alle 10 Minuten) wird der Block selbst gehasht. Dieser Hash, der somit indirekt alle Informationen des letzten Blocks enthält, wird dann in den nächsten Block eingebettet, um eine abhängige Kette zu bilden. So entsteht die oben erwähnte «komprimierte Version des letzten Blocks». Wenn ein vorheriger Block oder ein einzelnes Wort darin nur minimal bearbeitet wird, sind natürlich alle folgenden Hashes falsch, und die Kette ist gebrochen. Die nachfolgende Grafik fasst die bisherigen Erkenntnisse zusammen.

Wie erwähnt kostet die Erstellung von Blöcken etwas. Um die Historie und den Konsens der Gemeinschaft zu verändern, müsste ein (böswilliger) Akteur hohe Kosten auf sich nehmen und eine Mehrheit der Gemeinschaft repräsentieren (dies wird theoretisch durch die Erstellung von Fake-Servern erreicht, die insgesamt über 50 % der Teilnehmer repräsentieren). Würde der Akteur nur eine Minderheit der Gemeinschaft repräsentieren, würden die anderen diese Änderung einfach ignorieren.

Private und öffentliche Schlüssel

Auf einer Blockchain ist die Verschlüsselung bestimmter Informationen erforderlich. Es gibt zwei gängige Möglichkeiten, Informationen zu verschlüsseln. Die eine ist die symmetrische Verschlüsselung, die andere die asymmetrische Verschlüsselung. Bei der symmetrischen Verschlüsselung können Informationen mit der gleichen Verschlüsselung ver- und entschlüsselt werden. Ein Beispiel verdeutlicht diesen Mechanismus. Wenn Alice Bob sichere Informationen senden möchte, würde sie diese mit einem Passwort verschlüsseln. Damit Bob die Informationen öffnen und lesen kann, muss Alice ihm das Passwort schicken. Dies stellt ein Sicherheitsrisiko dar, da ein Externer auf diesem Weg den Schlüssel erhalten könnte.

Die Blockchain nutzt die zweite Option, die asymmetrische Verschlüsselung. Das E-Mail-Postfach ist eine einfache Analogie. Jeder, der die E-Mail-Adresse von Bob kennt, kann ihm eine E-Mail schicken, aber nur er, der Besitzer der E-Mail-Kontos und des zugehörigen Passworts, kann sie lesen. Um diese asymmetrische Verschlüsselung zu erreichen, erstellt die Blockchain einen privaten und einen öffentlichen Schlüssel, die mathematisch miteinander verbunden sind. Ähnlich wie bei den oben beschriebenen Hash-Funktionen wird der öffentliche Schlüssel aus dem privaten Schlüssel abgeleitet. Auch hier ist es unmöglich, den privaten Schlüssel zu finden, wenn man den öffentlichen Schlüssel kennt. In der Analogie zum Posteingang ist der öffentliche Schlüssel die Postadresse und der private Schlüssel das Passwort.

Die wesentliche Funktion ist, dass Alice und Bob ohne Risiko ihre öffentlichen Schlüssel austauschen können. So kann Alice die vertraulichen Informationen mit Bobs öffentlichem Schlüssel verschlüsseln, und nur der Inhaber des zugehörigen privaten Schlüssels (in diesem Beispiel Bob) kann die Informationen entschlüsseln. Eine andere Möglichkeit ist, dass Alice die Informationen nicht verschlüsselt, sondern signiert. Indem sie z.B. eine Transaktion mit ihrem privaten Schlüssel signiert, kann jeder die Informationen lesen und überprüfen, ob sie tatsächlich der Absender der Nachricht ist, da die beiden Schlüssel miteinander verbunden sind (der private Schlüssel wird nicht veröffentlicht, sondern bloss ein Hash der aus dem privaten Schlüssel und der Transaktion besteht – diesen Hash kann nur sie erstellen).

Wie der Konsens in einer Blockchain hergestellt wird

Wie bereits kurz erwähnt, muss die Konsensbildung etwas kosten, um effizient zu funktionieren. Wäre die Konsensbildung nicht mit Kosten verbunden, könnte ein Akteur unbegrenzt und ohne nennenswerte Kosten Informationen hinzufügen, ändern oder löschen. Ausserdem ist für die Konsensbildung eine Mehrheit der Gemeinschaft erforderlich. Wenn ein Akteur versuchen würde, eine Aktualisierung zu verbreiten und dann eine zweite Aktualisierung zu verbreiten, die der ersten widerspricht, würde dies bei einer Konsensbildung ohne Mehrheitspflicht zu Problemen wie double-spending führen (z. B. wenn Eve ein «einmaliges» Bild zuerst an Alice und dann auch an Bob sendet). Ein Block wird daher erst bestätigt, wenn ihn mehr als 50 % der Netzwerkteilnehmer akzeptiert haben (dann wurde vereinbart, dass das Bild nun Alice gehört und Eve es nicht mehr an Bob senden kann).

Der erste und gebräuchlichste Mechanismus zur Konsensbildung wird als Proof of Work (zu Deutsch etwa ‘Nachweis von Arbeit’) bezeichnet. Die Arbeit in diesem Sinne ist eine Rechenoperation, die ein mathematisches Rätsel löst, das leicht von anderen überprüft werden kann, aber schwer zu erstellen ist. Konkret muss der Computer einem Block eine Information namens «Nonce» beifügen, sodass der Hash das Blocks z.B. mit 4 Nullen beginnt. Aus diesem Grund wird die Rechenleistung auch als Hash-Leistung bezeichnet.

Der Prozess des Lösens dieser mathematischen Rätsel wird Mining genannt, und damit kann ein Miner beweisen, dass er oder sie die Arbeit des Erratens der Nonce geleistet hat. Dies ist wiederum sehr leicht zu überprüfen, da die Ableitung des Hashs aus den ursprünglichen Informationen einfach ist. Meistens haben diese Miner hochspezialisierte Computer, und die Nutzer der Blockchain zahlen eine Transaktionsgebühr an einen spezialisierten Miner für diese Rechenleistung. Der Miner erhält oft nicht nur eine Belohnung in Form von Transaktionsgebühren, sondern zusätzlich einen Teil der Blockchain basierten (Krypto-)Währung. Ein negativer Aspekt von Proof of Work ist, dass der Arbeitsnachweis viel Energie verbraucht. Ob der Arbeitsnachweis insgesamt gut oder schlecht ist, übersteigt den Rahmen dieser Einführung. Warum zum Beispiel Bitcoin grüne Energien sogar fördert, wurde in diesem Artikel im Kapitel «Bitcoin Missverständnisse und Kritik» besprochen.

Ein weiterer Konsensmechanismus ist Proof of Stake. Im Proof of Stake wird durch eine gewichtete Zufallsauswahl bestimmt, wer den nächsten Block in der Blockchain erstellen darf. Leute im Netzwerk können ihre Münzen staken, vereinfacht gesagt zur Seite legen, um am Auswahlprozess teilzunehmen. Je mehr Münzen man vom Gesamtangebot hat, desto höher sind die Chancen, ausgewählt zu werden. Daher kommt auch die Kritik, dass Proof of Stake genau so zentral sein kann wie die heutige Welt.

Sobald ein Miner ausgewählt ist, validiert er die Transaktionen im Block, signiert den Block mit seinem privaten Schlüssel und fügt ihn der Blockchain hinzu. Wie beim Proof-of-Work-Mechanismus erhält der Validierer in der Regel die gleiche Art von Belohnung. Sobald die Münzen nicht mehr gestaked sind, nimmt die Person nicht mehr am Auswahlverfahren teil.

Zum Schluss dieses Abschnitts werden die verschiedenen Arten von Rollen, die ein Teilnehmer einnehmen kann, zusammengefasst. Es gibt drei Akteure in einem Blockchain Netzwerk. Der Miner/Validierer und der Nutzer, die oben besprochen wurden, sowie eine Full Node. Kurz erklärt stellt eine Full Node sicher das alle Informationen tatsächlich korrekt und nicht widersprüchlich auf der Blockchain gespeichert sind und hat somit einen kontinuierlichen Überblick darüber, was gemäss dem Konsens passiert ist und ob eine neue Aktualisierung gültig ist. Ein Nutzer kann jederzeit zwischen diesen drei Rollen wechseln, was die Dezentralität der Blockchain gewährleistet.

Wie man eine Blockchain nutzt

Die Nutzung einer Blockchain ist, sobald man die Technologie verstanden hat, ziemlich einfach. Um einer Blockchain beizutreten, muss ein Nutzer die vorhandene Historie herunterladen und erhält einen zufälligen privaten Schlüssel, welcher sicher aufbewahrt werden muss. Dies mag für manche beunruhigend sein, da es vernünftig erscheinen mag, dass eine andere Person per Zufall denselben privaten Schlüssel erhält wie man selbst. Aufgrund des mathematischen Aufbaus einer Blockchain ist es jedoch praktisch unmöglich, denselben privaten Schlüssel wie eine andere Person zu erhalten (im Falle einer 256-Bit-Adresse ist es 1 : 2256).

Sobald man Zugang zu einem privaten und öffentlichen Schlüssel hat, kann man mit dem öffentlichen Schlüssel Daten empfangen oder mit dem privaten Schlüssel Daten senden. Nachdem man also der Blockchain durch die Erstellung eines privaten Schlüssels beigetreten ist und die bestehende Blockchain heruntergeladen hat, kann man die kryptographischen Funktionen einer Blockchain nutzen. Bis jetzt wurde die Blockchain generalisiert, jedoch gibt es verschiedene Merkmale, welche bei der Erstellung einer Blockchain gewählt werden können.

 OpenPermissioned
PublicDies ist die «ideale» Form, denn jeder kann mitmachen, sich beteiligen und sehen welche Veränderungen vorgenommen werden.Jeder kann Änderungen sehen, aber um an der Blockchain teilzunehmen, ist eine Genehmigung erforderlich.
PrivateJeder kann der Blockchain beitreten und Änderungen vornehmen, aber die Öffentlichkeit kann diese nicht einsehen.Änderungen sind von aussen nicht einsehbar und nur autorisierte Personen können teilnehmen.

Smart Contracts

Um die Einführung in die Blockchain und ihre wichtigsten technischen Funktionen abzuschliessen ist es wichtig, kurz auf Smart Contracts einzugehen. Wie der Name schon sagt, dreht sich diese Technologie um Verträge. Eingeführt vor der Blockchain-Technologie selbst, sind Smart Contracts selbstausführende digitale Verträge. Der Inhalt eines Vertrages ist meist ein Auslöser oder eine Ursache und eine Folge. Sobald beispielsweise ein Lieferant ein Paket liefert, überweist der Smart Contract die vom Kunden bereitgestellten Mittel an den Lieferanten.

Kombiniert man diese Verträge mit dem durch die Blockchain ermöglichten Vertrauen, kann eine Gemeinschaft viele Drittparteien ersetzen, die heute zur Gewährleistung des Vertrauens erforderlich sind. Obwohl die Verträge an sich recht einfach sind, muss man bei ihrer Ausarbeitung und Annahme vorsichtig sein, da sie aufgrund ihrer digitalen Natur anfällig auf Fehler und Hacker sind. Smart Contracts können von erfahrenen Softwareentwicklern oder mit Hilfe von Tools zur Erstellung intelligenter Verträge erstellt werden.

Fazit

Die Blockchain bietet einen dezentralen Weg Informationen in einem Netzwerk sicher zu speichern. Dies garantiert Unveränderbarkeit, Vertrauen und Redundanz, kann aber auch teuer, Ressourcen-intensiv und kompliziert sein.

Wenn Sie oder Ihre Unternehmung Fragen zur Blockchain haben oder mehr über deren Anwendungen wie Kryptowährungen lernen wollen, kontaktieren Sie uns oder buchen Sie eine Schulung.

Wenn Sie diesen Artikel lehrreich gefunden haben, können Sie ebenfalls diesen Newsletter abonnieren und diesen Artikel mit anderen Interessierten teilen.

Über den Autor

Jonas Affolter ist Geschäftsführer von Affolter Consulting und unterstützt in der DACH-Region Firmen und Investoren beratend. Auf seiner Homepage führt er einen Blog, in welchem er kostenfrei Bitcoin-relevante Themen einfach erklärt, seine Meinungen darlegt und Marktupdates veröffentlicht.

E-Mail: info@jonasaffolter.ch

Web: jonasaffolter.ch

Haftungsausschluss

Dieser Artikel ist nicht als Anlageberatung gedacht und dient nur zu Informationszwecken. Die in diesem Artikel erwähnten Ansichten wurden vom Autor verfasst und können Fehler enthalten.