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

Читать онлайн.
Название Bitcoin, Blockchain & Co. — Die Wahrheit und nichts als die Wahrheit (überarbeitete Ausgabe 2021/22)
Автор произведения Joe Martin
Жанр Социология
Серия
Издательство Социология
Год выпуска 0
isbn 9783947921089



Скачать книгу

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