Читать книгу Mysterium Blockchain - Wolfgang Dirnberger - Страница 17
BANANEN – KRYPTOGRAPHIE 1
ОглавлениеAls erstes müssen wir uns nun ein wenig mit Kryptographie beschäftigen, denn für unsere Blockchain brauchen wir eine Verschlüsselungstechnik. Wir wollen ja, dass nur berechtigte und autorisierte Teilnehmer an unserer Bananen-Blockchain, von allen Teilnehmern genehmigte Änderungen vornehmen. Die Technik, welche wir verwenden, nennt sich SHA256. Klingt wie R2-D2 aus StarWars, ist aber nur eine Art digitaler Fingerabdruck von Daten.
SHA bedeutet Secure Hash Algorithm (sicherer Hash Algorithmus) und beschreibt eine Gruppe standardisierter kryptologischer Hashfunktionen. SHA gibt es in verschiedenen Formen seit 1993 und wird zur Verschlüsselung von Passwörtern oder Informationen jeglicher Art verwendet. Ich bezeichne SHA gerne als Faschiermaschine (Fleischwolf).
Lebensmittelstücke werden in einen Einfülltrichter gegeben und von einer waagrechten Förderschnecke durch ein Rohr getrieben, die mit einer Handkurbel bedient wird. Dabei werden die Lebensmittel zerkleinert, gequetscht, vermahlen, vermengt, gehäckselt, folglich gehasht. Am Ende von Rohr und Schnecke befindet sich eine rotierende Messerscheibe vor einer feststehenden Lochscheibe, aus der dann die – je nach Größe der Löcher – mehr oder weniger fein zerkleinerte Masse austritt. Alles klar! Macht Spaß.
Versuche nun, die feine zerkleinerte Masse wieder zurück in ihren Ursprung zu versetzen. Schwierig? Eher unmöglich! Genauso funktioniert SHA256, die Lebensmittelstücke sind die Daten, die Funktion der Handkurbel, der Förderschnecke und des Messers übernehmen Primzahlen, Algorithmen und Mathematik.
Bei unserer Blockchain-Bananen-Geschichte spielt nun diese Verschlüsselungstechnik folgende Rolle. Wir wollen sichergehen, dass die Integrität unserer Bananendatei immer gewährleistet ist oder in anderen Worten, der Inhalt der Datei nach digitaler Übertragung von A nach B oder Veröffentlichung an ein Netzwerk oder innerhalb eines Netzwerks überprüfbar gleich bleibt.
Du könntest nun im Internet nach einem sogenannten SHA256 Generator suchen. Mach das mal, damit können wir zusammen spielerisch einen tollen AHA-Effekt erzielen. Such dir drei verschiedene SHA256 Generatoren und öffne diese in drei verschiedenen TABs (Achte auf SHA256 nicht SHA-1 oder SHA512). Mach dir den Spaß und gib in allen drei SHA256 Generatoren das Wort „Mensch“ ein. (nur das Wort ohne Anführungszeichen und erster Buchstabe groß).
Das Ergebnis sollte sein:
37FE485EF3B1B6B675845A26738AA92E7020B0691FD6AE4BB9A63248555FDD20
oder
37fe485ef3b1b6b675845a26738aa92e7020b0691fd6ae4bb9a63248555fdd20
Jetzt haben wir das Wort „Mensch“ gehäckselt, ergo gehasht. Das Ergebnis, der Hash, hat immer 64 Stellen, Zahlen und Buchstaben, Groß- und Kleinschreibung kann man ignorieren. Bei allen Generatoren kommt immer die gleiche Kombination, der gleiche Hash heraus, wenn Du das Wort „Mensch“ in das Eingabe-Feld tippst und diesen Hash generierst, also das Wort „Mensch“ in der „Faschiermaschine“ häckselst. Man spricht auch von einem deterministischen Vorgang, angelehnt an den Determinismus der Physik.
Wenn man nun nur einen Buchstaben verändert, weglässt oder hinzufügt, an Stelle von „Mensch“ entweder „Monsch“ oder „Mensc“ oder „Menschh“ einfügt, kommt ein vollkommen anderer Hash heraus (in der Kryptographie der Lawineneffekt).
Man kann auch statt nur dem Wort „Mensch“, den Satz „Menschen mit Phantasie langweilen sich nie“ hashen.
Ergebnis (Hash):
0fce5e16674002c5388760e011a60386fc2b0ce2bb5b324f5411eef9c7a64ede
Wieder 64 Stellen.
Nun könnte man statt einem Satz auch ein ganzes Buch oder eine Enzyklopädie hashen oder „1+1=2“ oder die Zeichenfolge:
°°°()_()_():::———:::OOO=ooo=888O888O888O888=ooo=OOO:::———:::()_()_()°°°
Ergebnis ist immer ein Hash mit 64 Stellen. Eine einzigartige digitale Signatur für das Gehäckselte, welche niemals umkehrbar gemacht werden kann. Dieses Ergebnis, diese Signatur, dieser Hash ist EINE Kombination aus 2 hoch 256 Möglichkeiten. Wer aus einem Hash die Ursprungsinformation berechnen möchte, die Ursprungsinformation zurückrechnen möchte (die Formeln sind ja bekannt), der braucht einfach nur einen superschnellen Computer und ein paar tausend Jahre Zeit. Denn diese Zahl mit 78 Stellen, ausgeschrieben:
115.792.089.237.316.195.423.570.985.008.687.907.853.269.984.665.640.56 4.039.457.584.007.913.129.639.936
stellt die Möglichkeiten dar, die es gibt. Diese Zahl repräsentiert die Anzahl der möglichen Versuche. Die Wahrscheinlichkeit bei den Lottosystemen mit den höchsten Gewinnmöglichkeiten beträgt rund eins zu 140 Millionen. Das ist eine Zahl mit 9 Stellen. Hier haben wir 78 Stellen, 2 hoch 256: eins, zwei, drei, vier, fünf, sechs, sieben, acht … Berechnungen, besser gesagt Rückrechnungen, in ein paar Millionen Jahren bist Du fertig!
Und noch einmal, wenn Du einen Hash mit 64 Stellen vor dir hast, kann sich dahinter ein Wort verbergen, ein Text mit tausenden oder Millionen Wörtern, eine Formel, eine Enzyklopädie, eine Liebeserklärung oder ein Kassabuch.
Dieser SHA256-Hash ist wie ein eindeutiger „Fingerabdruck“ plus „Iris-Scan“ plus „Gesichtserkennung“ plus „DNA-Analyse“ digitaler Daten, nur um dir aufzuzeigen, wie sicher diese Verschlüsselungsform ist.
In unserem Fall hashen (häckseln) wir nun die Bananendatei mit dieser kryptografischen Hashfunktion und die SHA256-Prüfsumme bestätigt, dass die Datei „beim Transport“ unverändert geblieben ist.
Wenn ich dir nun eine Information sende und den 64-stelligen SHA256-Hash dazu, kannst Du leicht überprüfen, dass die Information auf dem Weg von mir zu dir unverändert geblieben ist.
Beispiel: Ich sende dir per Mail das Wort „Mensch“ und ich sende dir den Hash:
37fe485ef3b1b6b675845a26738aa92e7020b0691fd6ae4bb9a63248555fdd20
Nun kannst Du das Wort, welches ich dir per Mail gesendet habe, in deinen SHA256 Generator eingeben und das Ergebnis mit dem Hash vergleichen, welchen ich dir gesendet habe.
Hash aus deinem Generator, und Hash von mir gesendet sind identisch. Das bedeutet, die Information „Mensch“, gesendet von mir an dich ist unverändert und unverfälscht bei dir angekommen (integer, Integrität). Macht bei einem Wort wenig Sinn, bei einem Buch schon.
Beispiel:
1000 Bananen von Banksy
55C86391CAD08A3C8BDD1153950773A136D086439E338DB16798C851E8324CCE
Wenn Du nun den Satz:
1000 Bananen von Banksy
in deinen SHA256 Generator eingibst, müsstest Du den gleichen 64-stelligen Hash bekommen – mach das, … siehst Du :)
Nun kannst Du sicher sein: 1000 Bananen und nicht 500, Bananen und nicht Äpfel, von Banksy und nicht von Michelangelo.
Laut heutigem Stand der Technik ist es nicht möglich, eine Datei so zu manipulieren, dass eine identische SHA256-Prüfsumme berechnet wird, wenn ich die Information nur minimal verändere. Egal ob Text mit Tausenden oder Millionen Wörtern, Formeln, Liebeserklärung oder ein Kassabuch.
Noch einmal zum Mitschreiben: wenn ich dir einen Text mit Millionen von Wörtern, Formeln, Informationen sende und irgendjemand manipuliert diese Datei und verändert nur einen einzigen Buchstaben oder ein einziges Zeichen, bekommst Du einen völlig anderen 64-stelligen Hash bei Überprüfung.
Welchen Sinn macht das? Langsam, immerhin haben Millionen von Menschen dieser Technologie hunderte Milliarden von FIAT-Geld, wie Dollar, Euro, Yen, Renminbi und Co. anvertraut! Und wir sind erst am Anfang.
Nur zur Erinnerung: unter FIAT-Geld versteht sich, schön ausgedrückt, ein Objekt ohne inneren Wert zum Tauschen von Waren. Verständlicher ausgedrückt, ein Fetzen Papier, auf dem irgendeine Regierung dieser Welt eine Zahl schreibt und Menschen fälschlicherweise glauben, diese Zahl gilt für alle Ewigkeit.
Zu den Unterschieden, den Funktionen und der Sinnhaftigkeit von FIAT-Geld, Warengeld, Giralgeld, Cryptogeld kommen wir später noch detaillierter.
Blockchain verstehen bedeutet wie bereits mehrfach erwähnt: zuerst ein bisschen Technik, um die Funktionsweise nachvollziehen zu können. Danach ein bisschen Geldgeschichte und Philosophie, da die erste Anwendung der Blockchain-Technologie eben digitales Geld war. Im Anschluss erahnt man die Möglichkeiten der Adaption, der Massenanwendung und deren Auswirkungen auf die Menschheit.
Wiederholung ist der Kern des Lernens, deswegen transportieren wir hier ab und zu bereits Gelerntes immer wieder vom Kurzzeitgedächtnis in das Langzeitgedächtnis.
Wir haben hier eine Geschichte, eine Bananendatei und es wurde bisher beschrieben, wie diese Information unveränderbar übertragen werden kann. Aber wir wollen neben der Integrität (gelöst durch Hashen) auch Sicherheit und Anonymität. Dazu ist es wichtig, den Unterschied zwischen symmetrischen und asymmetrischen Schlüsselsystemen zu verstehen, damit unser Bananenkonzept bei Übertragung und Tausch nicht nur unverändert, sondern auch anonym bleibt und an der richtigen Stelle „ankommt“. Klingt kompliziert, ist aber genauso einfach wie alles bisherige.
Jetzt nur nicht aufgeben!