Bitcoin, Blockchain & Co. — Die Wahrheit und nichts als die Wahrheit (überarbeitete Ausgabe 2021/22)

Tekst
0
Recenzje
Przeczytaj fragment
Oznacz jako przeczytane
Czcionka:Mniejsze АаWiększe Aa

Der vertrauenswürdige Dritte

Historisch betrachtet ist dieses System eines der ersten, in dem der vertrauenswürdige Dritte eine Rolle in einem größeren System spielt. Der vertrauenswürdige Dritte hat die Jahrhunderte überlebt und sich in unserer modernen Gesellschaft etabliert. Wir könnten unser Geld auch unter dem Kopfkissen aufbewahren, aber wir bringen es zum vertrauenswürdigen Dritten, der Bank oder der Sparkasse. Wir leihen unseren Rasenmäher an Klaus, weil er ein Freund unseres Freundes ist.

Unser Freund, der vertrauenswürdige Dritte. Der Staat hat den vertrauenswürdigen Dritten in Form des Notarwesens institut-ionalisiert. Wer eine Firma gründen oder wer eine Immobilie kaufen möchte, der wendet sich an den vertrauenswürdigen Drit-ten, den Notar. Eine andere große, weltweite Branche vertrauens-würdiger Dritter sind die Wirtschaftsprüfer, die die Abschlüsse von Unternehmen prüfen und attestieren, dass die Unternehmen wirklich soundsoviele Werte und Anlagen besitzen, woraus sich in letzter Konsequenz zum Teil auch der Börsenwert ermittelt. Repräsentiert der vertrauenswürdige Dritte aber wirklich die Wahrheit? Wer hat sich nicht schon geärgert, dass er seinen Rasenmäher an diesen, diesen … äh, verliehen hat?

Wer hat sich nicht schon mal über seine Bank geärgert, die plötzlich Gebühren abgerechnet hat? Stand doch groß im Klein-gedruckten und wurde Ihnen als Änderung der AGBs zugesandt.

Wer hat nicht schon einmal beim Notar den Kopf geschüttelt, wenn er eine Immobile ge- oder verkauft hat? Unklare Besitzver-hältnisse sind nicht ungewöhnlich.

Jetzt noch die Wirtschaftsprüfer: Wirecard, CumEx und viele andere Skandale, bei denen Anleger Milliarden verloren haben, lassen grüßen.

Daten in zentralen Systemen können leicht verändert werden

Informationen und Daten, die in verteilten und zentralen Systemen festgehalten werden, können von den Betreibern dieser Systeme verändert werden und die Wahrheit ist somit nicht gewährleistet. Damit müssen wir eben leben. Müssen wir?

Nein, in der Tat ist es wiederum diesem mysteriösen Satoshi Nakamoto zu verdanken, dass wir das eben nicht mehr so hin-nehmen müssen. Sein Konzept zeigt, wie wir mit einem echten dezentralen System die Wahrheit durch die Integrität der Daten gewährleisten können. Sein Konzept, welches erst jetzt langsam das Bewusstsein der Massen erreicht, ist ideal, um unsere Systeme zu verändern: die der Daten- und Informationsverarbeitung sowieso, aber damit einhergehend auch unsere gesamtgesellschaftlichen Strukturen.

Im Wesentlichen hat Nakamoto einige, schon bekannte Ansätze so zusammengesetzt, dass diese Kombination mit besagter Wahrheits-garantie einhergeht. Ein Kernbestandteil ist die Computerver-schlüsselung. Aber das alleine reicht nicht aus, ein weiterer Baustein ist vonnöten: die Verknüpfung älterer Daten mit neuen, sodass eine Kette von Datenblocks entsteht, in der aktuelle Daten sich immer auf vorherige beziehen und diese wieder auf deren Vorgänger. Das ist das Grundprinzip der inzwischen bekannten Blockchain — einer Kette von Datenblocks, die miteinander verlinkt sind.

Eine Kette, bestehend aus Datenblocks, ergibt die legendäre Blockchain

Diese Kette an sich ist allerdings auch nur ein weiterer, wenn auch wichtiger, Teil des ganzen Systems und an und für sich aber auch wieder nichts wert, denn sie kann verändert und vernichtet werden. Man kann sie einfach vom Server löschen und durch einen andere Kette ersetzen, in der andere Daten stehen. Beides gilt es zu verhindern, wenn man sich blind auf Daten verlassen will oder muss.

Aus diesem Grund hat Nakamoto diese Datenkette — die im folgenden als Blockchain bezeichnet wird — zusätzlich auf viele verschiedene, völlig unabhängige Computer verteilt.

Aber auch das alleine genügt noch nicht. Unter gewissen Um-ständen kann man die Blockchain an einer Stelle ersetzen und mit Lichtgeschwindigkeit auf die anderen Computer übertragen und dadurch Daten manipulieren.

Manipulieren muss nicht unbedingt heißen, dass auf einmal Millionenbeträge verschwinden. Wie bereits ausgeführt, reicht es schon aus, die dritte Nachkommastelle zu manipulieren, um auf lange Sicht sehr reich zu werden. Um diese Gefahr zu entschärfen, baute Nakamoto eine Bremse in das gesamte System ein, welche die schnelle Verbreitung manipulierter Daten verhindert.

Im Folgenden werden nun diese einzelnen Bestandteile einer nach dem anderen vorgestellt. Man erkennt dann schnell, wie wirksam die Kombination ist. Man darf sich aber nicht von dem Begriff „Blockchain“ alleine täuschen lassen, deshalb wird gezeigt, an welchen anderen Stellen Gefahren lauern. Man darf dem inzwischen modischen Begriff Blockchain alleine nicht automatisch vertrauen.

Nicht überall, wo „Blockchain“ drauf steht, ist die Wahrheit drin

Nakamoto hat zunächst das System in einzelne Transaktionen aufgeteilt und diese dann zu Datenblocks zusammengeführt. Das Ganze wird dann immer mehr oder wenig verschlüsselt. Die Transaktionen selbst zwar nicht, aber die Art und Weise wie sie genehmigt werden und wie die Datenblöcke miteinander verknüpft sind. Damit betreten wir das Gebiet der Kryptografie.

Im Folgenden verwenden wir deshalb die übliche Nomenklatur der Kryptografie-Branche und nennen die Beteiligten „Alice“ und „Bob“ - anstelle A und B - und verwenden als Währung die virtuelle Währung Bitcoin oder deren Kürzel BTC. Alice und Bob sind Synonyme für Sender und Empfänger einer Transaktion oder Nachricht. „Carol“ und „Dave“ sind weitere Mitspieler in einem kryptografischen System. Auch sie repräsentieren entweder Sender oder Empfänger. Sie stehen stellvertretend für Menschen, die Werte austauschen, also einer verkauft etwas an einen anderen und dieser wird dann bezahlt. Das ist dann eine Transaktion im Sinne von Bitcoin.

Wenn also Alice 5 BTC (also Bitcoin) an Bob senden möchte, dann ist das eine einfache Transaktion. Alice besitzt mehr als 5 BTC und sendet 5 BTC an Bob. Der sendet nun 3 BTC an Carol und 1 BTC an Dave. Das sind dann zwei weitere Transaktionen. Das Bitcoin-System sammelt nun alle diese Transaktionen und packt sie in einen Datenblock.

Dieser Block hat eine bestimmte maximale Größe und wird von spezialisierten Computern zusammengepackt und gebündelt. Das System ist so ausgelegt, dass jeweils ein Block ungefähr alle zehn Minuten erstellt wird. Genau das wirkt als die zuvor erwähnte Bremse und bringt weitere Vorteile mit sich. Dazu später mehr.

Jetzt wird dieser Datenblock nicht einfach nur so gebündelt, also zum Beispiel wie eine Zipdatei, sondern es werden kryptografische Verfahren genutzt, die es ermöglichen, diesen Block mathematisch mit einer absolut eindeutigen Kennung zu versehen. Diese Kennung ist das Ergebnis einer Berechnung aus den Daten des Blocks, die man auch „Hash“ nennt.

Dieser Hash ist ein sehr spannendes, mathematisches Werk, welches auf der sogenannten Falltür-Mathematik beruht. Wie es genau funktioniert, ist für Mathematiker sehr spannend, die mit glasigen Augen davon berichten — eine faszinierende Methode.

Falltür-Mathematik für Laien

Für den Nicht-Mathematiker ist es ausreichend, wenn er versteht, dass die betreffenden Formeln nur in eine Richtung berechenbar sind. Wenn man also normalerweise x berechnen kann, wenn 2+x=5 ist, dann ist das keine Falltürformel, weil sie in beide Richtungen funktioniert. Ein Hash-Algorithmus funktioniert hingegen nur in eine einzige Richtung: vorwärts.

Selbst wenn man das Ergebnis der Rechnung und den dazuge-hörigen Rechenweg kennt, kann man nicht zum Ausgangswert zurückrechnen.

Das hört sich fantastisch an und ist in der Tat faszinierend. Wie schon gesagt, es ist für den mathematischen Laien genug, dieses Phänomen zu kennen und anzuerkennen, um das gesamte System zu verstehen. Wer mehr darüber wissen möchte, kann die ent-sprechende Mathematik leicht im Internet recherchieren.

Die Transaktionen werden also in einem Datenblock zusammen-gefasst und durch einen kryptografischen Algorithmus mit einem Hash-Wert versehen. Dieser Hash-Wert kann nicht verändert werden und aus ihm kann man auch nicht auf die Ausgangswerte rückschließen. Wenn man an den Transaktionsdaten, aus denen der Datenblock besteht, auch nur eine einzige, winzige Stelle verändert, also zum Beispiel an einer einzigen Stelle ein Komma einfügen würde, dann ergäbe das einen vollkommen anderen Hash-Wert.

Es folgt ein echtes, berechnetes Beispiel, das veranschaulicht, wie eine einzelne Änderung ein vollkommen anderes Hash-Ergebnis liefert.

Wenn man zum Beispiel den SHA 256 Hash von folgendem Satz erzeugt: „Ich bin Satoshi Nakamoto“ wird daraus:

c8bb907d49983cfd5b1db28be3fe3c2c5ade3a2b2995bd56f8b4203f74345caa

Wenn man auch nur ein einziges Zeichen ändert, zum Beispiel einen Punkt ans Ende setzt, dann ändert sich der 256 Hash gravierend. Aus: „Ich bin Satoshi Nakamoto.“ wird:

80cd76ffd0af98e2fbe066cda10847e7edbaa4caabb4fbf14d317b9cbbc4c963

Die beiden Hashes haben genau gar nichts miteinander zu tun.

Dieser Hash und die Tatsache, dass er sich durch minimalen Aufwand so wesentlich ändert, ist eine der Grundlagen der Daten-integrität — auch als „die Wahrheit“ bekannt — der Blockchain-Technologie und der Krypto-Währung Bitcoin.

 

Die Datenblocks werden miteinander verschränkt

Nakamoto hat im Bitcoin-System verfügt, dass der Datenblock nicht nur die jeweiligen aktuellen Transaktionen enthält, sondern auch den Hash des jeweils vorherigen Blocks. Nur wenn sich die Hash-Werte verketten lassen, also wenn der neue Block sich mit dem Hash-Wert des Vorgängerblocks zusammenrechnen lässt, darf der nächste Datenblock an den Vorgänger angehängt werden. So entsteht eine schlüssige Blockchain aus Daten, in der die

Informationen unveränderlich und gegen Manipulationen geschützt sind. Darin liegt eine wichtige Sicherheitsfunktionen gegenüber herkömmlichen Systemen, die die Blockchain so zukunftsweisend und zukunftsträchtig macht.

Da dies eine sehr kritische und wesentliche Funktion ist, wird sie hier nochmals zusammengefasst:

Ein Hash-Wert ist ein mathematisch errechneter Wert, der sich schon bei minimalen Modifizierungen der Daten innerhalb eines Datenblockes massiv verändert. Auch wenn man den Ergebniswert und den Rechenweg kennt, kann man die Formel unmöglich zurückrechnen und die Ausgangsdaten extrahieren.

Jeder Datenblock wird aus den Transaktionsdaten und dem Hash-Wert des letzten Blocks zusammengerechnet und damit kann ein Block nur an den Vorgänger angehängt werden, wenn diese Rechnung stimmt. Der Trick bei dieser Mathematik besteht im Wesentlichen darin, dass die Berechnung dieses Wertes zwar sehr aufwendig sein kann, es aber für einen Dritten sehr leicht möglich ist, zu erkennen, dass richtig gerechnet wurde. Man kann also, ohne dass man die Rechnung wieder auflöst, erkennen, dass das Ergebnis richtig ist. Wie gesagt, faszinierend.

Blocks werden unter dieser Prämisse, einer nach dem anderen, aneinander gehängt und ergeben dadurch eine Blockchain.

Wenn man sich vorstellt, dass zum Beispiel fünf Blocks mit jeweils tausend Transaktionen in jedem Datenblock existieren, dann wurde Block 2 aus den Transaktionen dieses Blocks plus des Hash-Wertes von Block 1 errechnet. Block 3 wurde aus den Transaktionen in Block 3 und dem Hash-Wert von Block 2, der seinerseits wieder von dem Hash-Wert von Block 1 abhängt, errechnet. Man merkt schon, wo die Reise hingeht.

Wenn nun eine Transaktion aus dem ersten Block verändert wird, dann ergibt sich aus dieser Änderung ein völlig anderer Hash-Wert für diesen ersten Block. Gravierend anders.

Block 2 hat dann falsch gerechnet, weil der zweite Block ja den Hash des ersten Blocks in der Formel berücksichtigt. Da sich dieser aber geändert hat, kann das Ergebnis nicht mehr stimmen. In der Folge muss nun auch für Block 2 ein neuer Wert errechnet werden. Das Gleiche gilt für die ganze Kette nach vorne.

Alle Blocks erhalten also einen neuen Hash-Wert, weil eine Variable, der Hash des Vorgängerblocks, in der komplexen Hash-Formel für den nächsten Block geändert wird. Dadurch ändern sich alle folgenden Hash-Werte zwingend. Ein genialer Gedanke, der einer der Schlüssel zum Erfolg der Blockchain ist. Aber ist das ausreichend?

Eine minimale Änderung am Anfang zwingt zur kompletten Neuberechnung der gesamten Blockchain

Das alles ist bisher reine Mathematik, die nichts nützt, weil man ja doch Daten ändern kann. Das führt nur dazu, dass die Hash-Werte der Blocks sich verändern. Sie verändern sich zwar in völlig andere, also nicht nur ein bisschen, sodass es nicht auffallen würde, sondern sie ändern sich massiv und die Daten entsprechen nicht mehr Wahrheit. Was aber niemand sehen kann.

Transaktionen und Aufzeichnung aus der Vergangenheit wurden gefälscht. In einer manipulierten Blockchain auf unseren Com-putern sind nicht mehr die ursprünglichen Daten hinterlegt. Die Historie wurde geändert. Das Grundstück gehört jetzt jemand anderem. Das kann es also noch nicht sein.

Natürlich hat Nakamoto auch dieses Problem gelöst, indem er zusätzlich ein sogenanntes „Peer-to-Peer-Netzwerk“ vorgesehen hat. Ein Peer ist eine Person, ein Individuum oder — in der technischen Welt — eine Maschine in einem Netzwerk. In der Übersetzung aus dem Englischen wird ein „Peer“ als ein „Gleich-rangiger“ oder „Ebenbürtiger“ bezeichnet.

In unserem technischen Fall ist es einfach ein anderer Computer, der als Node bezeichnet wird. Dieser Node ist mit anderen Nodes verbunden und nimmt die Datenblocks von seinem Nachbar entgegen. Er überprüft schnell den Hash-Wert des neuen Blocks. Das ist, aufgrund des verwendeten Hash-Prozederes, eine ver-gleichsweise einfache Rechenaufgabe, die jeder Computer sehr schnell ausführen kann. Die Überprüfung ist sehr viel leichter als die ursprüngliche Berechnung des Hash-Wertes des jeweiligen Blocks an sich.

Wenn dieser Hash-Wert nun korrekt ist, dann hängt der Node den neuen Datenblock einfach an die Blockchain an, die er schon hat. Lässt sich der Hash nicht errechnen, dann verwirft der Node den Block und wartet auf den nächsten.

Das ganze Prozedere wird konstant auf vielen Tausend Nodes parallel ausgeführt. So wird Block für Block zu lokalen, auf den jeweiligen Nodes lagernden Blockchains zusammengebaut. In der Bitcoin-Blockchain haben also viele Tausend Nodes die Blocks 1 bis 5 aus dem Beispiel von oben zusammengefügt und lokal gespei-chert.

Das P2P-Netzwerk verhindert die Manipulation

Jetzt wird eine Manipulation extrem schwierig durchsetzbar. Wenn nun jemand auf nur einem Node, also auf nur einem Computer, nur eine einzelne Transaktion im ersten Block ändert, dann ändern sich auf diesem Node die Hash-Werte aller fünf darauffolgenden Blocks aus dem Beispiel.

Das ergibt sich aus der Methodik, dass der Hash eines Blocks immer aus den Transaktionsdaten plus dem Hash-Wert des Vorgängerblocks berechnet wird. Der sechste Block setzt deshalb natürlich auch auf dem Hash-Wert des fünften Blocks auf und passt — auf dem manipulierten Computer — natürlich perfekt. Wenn dieser sechste Block nun allerdings zu den anderen Nodes gesendet wird, dann passt der Block nicht zu dem vorhandenen fünftem Block, der jeweils lokal gespeichert ist. In der Folge wird der Block abgelehnt und die Nodes warten auf einen anderen Block 6. Jetzt existiert zwar ein Computer, der die gefälschten Daten schlüssig darstellen kann, weil der Block 6 sich an den Block 5 anschliessen lässt, aber dieser ist ein einzelner Computer aus Tausenden. Die Wahrheit ist also eher bei den Tausenden zu finden. Das System verfügt über viele Tausend Zeugen.

Um letztlich zu verhindern, dass jeder Node seine eigenen Änder-ungen vornimmt und damit das ganze Netzwerk ständig mit geänderten Daten belastet wird, hat Nakamoto noch ein weiteres Modul vorgesehen. Dieses Modul stellt gleichzeitig eine weitere Funktion bereit und entlohnt bestimmte Akteure im Netzwerk.

Computer, die die Datenblocks errechnen und zusammenbauen, erhalten eine Sonderstellung im Netzwerk. Nodes speichern die bestehende Blockchain selbst und hängen die neuen Blocks jeweils an. Das ist ein Vorgang, der im Vergleich wenig Rechenleistung benötigt, nur relativ viel Speicherplatz, denn jeder einzelne Node speichert die immer länger werdende Kette für alle Zeiten von Anfang an auf seiner lokalem Festplatte. Das scheint teuer und verschwenderisch zu sein, ist aber der Preis, den man für die Wahrheit zahlen muss.

Günstiger Speicherplatz als Grund für die Verbreitung der Technologie in den letzten Jahren

Einer der Gründe, warum die Blockchain erst in den letzten Jahren immer wichtiger wurde und immer mehr Unternehmen auf diese Technologie setzen, ist tatsächlich der Umstand, dass im Laufe der Jahre Speicherplatz immer billiger wurde. Dass Festplatten in den letzten Jahren immer erschwinglicher wurden, so wie alle anderen massengefertigten technischen Produkte auch, ist vielleicht sogar der maßgebliche Grund, warum Bitcoin und die Blockchain erst jetzt in der breiten Bevölkerung ankommen und aus der Experi-mentierecke der technischen Spezialisten ausgebrochen sind.

Die Bitcoin-Blockchain ist inzwischen über 380 GB groß — für Festplatten mit 500 GB oder sogar 1 TB zu unter 100 Euro unproblematisch und erschwinglich. Als Nakamoto 2008 das Bitcoin-Konzept präsentierte, gab es solche Festplatten noch nicht beziehungsweise nur zu astronomischen Preisen.

Neben den Nodes, die, wie beschrieben, die Blockchain jeder für sich selbst zusammensetzen, gibt es weitere spezielle Computer im Netzwerk, die „Miner“ genannt werden. Deren Aufgabe ist es, die einzelnen Datenblocks zu erzeugen.

Diese Miner nehmen die Transaktionen, die in einem sogenannten Pool liegen, Stück für Stück aus diesem Pool heraus und packen sie nacheinander in einem Datenblock zusammen. Alle Blocks sind dabei vom unterliegenden technischen Protokoll mit einer Obergrenze versehen.

Sind also entsprechend viele Transaktionen aufeinander gestapelt, dass die maximale Größe nicht überschritten wird oder wenn alle Transaktionen aus dem Pool in dem Stapel sind, beginnt der Miner den oben schon erläuterten Hash-Wert für diesen Datenblock zu errechnen.

Miner berechnen den Hash-Wert der Blocks und sichern das Netzwerk

Dabei haben die Miner die Aufgabe, die Transaktionsdaten und den Hash-Wert des letzten, ihnen bekannten Blocks und einen weiteren Wert, den sie erraten müssen, in der Formel zusammenzurechnen, um einen, vom Grundalgorithmus des ganzen Bitcoin-Systems vorgegebenen Wert, zu unterschreiten. Das klingt jetzt erst einmal monströs, ist aber, wenn man die einzelnen Schritte nacheinander anschaut, doch nicht so kompliziert.

In der Formel werden also alle Transaktionen zusammengerechnet, dazu der Hash-Wert des letzten Vorgängerblocks. Das könnte der neue Hash-Wert des Blocks sein und würde sehr schnell gehen.

Damit wäre aber unser Problem nicht behoben, dass ständig neue und gegebenenfalls auch manipulierte Blocks an die Nodes gesendet würden. So könnte man auch das Netzwerk lahmlegen, weil die Nodes ganz einfach überflutet würden. Deshalb hat Nakamoto die schon erwähnte Bremse eingebaut.

Diese Bremse funktioniert so, dass im Grundsystem des ganzen Netzwerks, dem sogenannten „Core“, ein weiterer Algorithmus steckt, der alle zehn Minuten vorgibt, wie viele führende Nullen der errechnete Hash-Wert besitzen muss. Hört sich auch wieder kompliziert an, ist allerdings ganz einfach. Man kann es sich ungefähr so vorstellen:

Wenn die gesuchte Zahl 1 wäre, dann muss der Hash-Wert des neuen Blocks kleiner als 1,0 sein. 0,999999 und alle kleineren Werte wären dann zulässig.

Die Miner suchen nun diese kleineren Werte, indem sie in die Formel, neben den Transaktionen und dem Hash des letzten Blocks, auch noch eine beliebige weitere Zahl einsetzen, die als „Nonce“ bezeichnet wird. Also zum Beispiel:

0,745(Summe der Transaktionen)·0,872571(Hash-Wert des Vor-gänger-Blocks)·1,7656(Nonce)=1,1477

Damit wäre die Nonce mit einem Wert von 1,7656 nicht die richtige, weil sie größer als 1 ist. Der Miner muss nun neu rechnen und es mit einer anderen Nonce versuchen. Tatsächlich muss der berechnete Hashwert nicht kleiner als eine bestimmte Zahl sein, sondern eben eine bestimmte Anzahl von führenden Nullen zeigen. Also zum Beispiel vier führenden Nullen: 0,000072863 oder sechs führende Nullen: 0,00000052415. So oder so muss der Miner rechnen, was das Zeug hält, um diese Vorgabe zu erfüllen.