Blockchain-Hanse #2 Der Maschinenraum

in #deutsch7 years ago (edited)

Warum ist die Blockchain-Technologie der Grundbaustein für super resistente und mächtige Netzwerke, wie im letzten Beitrag behauptet?


Dieses Video motiviert die Blockchain ausgezeichnet. Nur zeigt es nicht die “militärische Sicherheit” und die Idee dieser Technologie auf. Wenn Bitcoin, Etherum, Dash oder Steemit Produkte wie z.B. Autos sind, die man einfach im Alltag nutzen kann, so will ich an dieser Stelle erklären, was sich unter der Motorhaube befindet und darstellen, wie das grundlegende Module funktioniert. Auf steemit.com trägt dieser Beitrag sicher nur Eulen nach Athen, aber außerhalb soll er diese Technologie verständlich machen und damit Vertrauen schaffen.

[Vorsicht: nur für Feinschmecker]

Das Herzstück einer jeden Blockchain ist die sogenannte Hashfunktion (auch Streuwertfunktion). Sie ist wie der Motor eines Autos. Was genau macht eine Hashfunktion? Diese Funktion hat ein Argument in Form einer beliebig langen Zeichenkette und die Rückgabe (auch das Ergebnis) ist ein sogenannter Hashwert. Der Hashwert kann zur Vereinfachung auch als ein Wert aus einer endlichen Zahlenmenge verstanden werden und wird häufig im Hexadezimalformat dargestellt (z.B. 8cd54e ist Element aus 000000 bis ffffff). Auch dieser Artikel kann ein Argument einer Hashfunktion sein, die dann eine derartige Zahl ausgeben würde. Diesen Hash könnte ich unten bei den Kommentaren angeben. Wenn sich nur ein Zeichen dieses Artikels ändert, irgendwo was weggelassen wird oder hinzukommt, so gibt die Hashfunktion einen vollkommen anderen Wert zurück. Würde ich nachträglich etwas ändern, so würde es jedem anhand des Hashwerts auffallen und niemand bräuchte den kompletten Artikel lesen und vergleichen. Jetzt könnte ich fragen, welche Kleinigkeiten ich noch alles manipulieren müsste, um den gleichen Hashwert zu bekommen. Nur dies ist ein mathematisches Problem, welches ich bei einer guten Hashfunktion nicht auflösen kann. Mit einer Hashfunktion kann man also große Datenmengen kryptografisch “abstempeln”. Bei der Blockchain wird die Hashfunktion erstens zum schnellen überprüfen der Daten genutzt. Ein Block hat somit ein Hashwert.

Wie kommt es jetzt zur Kette (engl. chain)? Bei einer Blockchain legt man fest, in welchen Zeitabständen statistisch ein neuer Datenblock entstehen soll. Diesen Zeitabstand nennt man Blockzeit. Dazu wird die Hashfunktion als Zufallszahlengenerator missbraucht (besser: zweckentfremdet), was zu einer Art Lotterie-System führt. Die “mathematische Aufgabe”, wie es immer so schön heißt, lautet: Nehme den Hashwert des letztes Blocks und hänge eine beliebige Zahl dran. Wenn der Hashwert dieser Zeichenkette kleiner ist als ein definierter Schwellwert, dann veröffentliche den nächsten Block. Wir haben also folgende mathematische Aufgabe:

Schwellwert < Hashfunktion( Vorgängerhash, gültige Lösung)

Es gibt natürlich viele gültige Lösungen. Nur um eine gültige Lösung zu finden, muss das Netzwerk viele “Lose ziehen”, d.h. viele Hashes mit unterschiedlichen Zahlen berechnen. Die Gültigkeit kann natürlich von allen Netzwerkteilnehmern schnell verifiziert werden. Der Schwellwert wird je nach aktueller Hashrate (berechnete Hashes pro Zeiteinheit) dynamisch angepasst, damit in den gewünschten Blockzeiten gültige Lösungen gefunden werden und damit Blöcke. So wenden nun die Datenblöcke kryptografisch sicher aneinander gekettet. Alle Netzwerkteilnehmer arbeiten auf einer gemeinsamen Datenbasis, die ständig weitergeführt wird und es herrscht eine absolut flache Hierarchie. Niemand ist Meister oder Sklave, wie es in der IT-Welt heißt. Alle sind gleichberechtigte Netzwerkknoten (Nodes).

Damit haben wir nun verstanden, warum wir mit der Blockchain super resistente Netzwerke errichten können. Sollte es einem Angreifer gelingen, einen oder wenige Netzwerkknoten z.B. per DDoS-Angriff lahm zu legen, so “schlägt das Herz” des Netzwerks nur kurze Zeit minimal langsamer, aber der Service für das fortschreitende Register ist weiter verfügbar. Die Macht ergibt sich erst daraus, wie Menschen solche Netzwerke nutzen und wie attraktiv sie sind. Organisiert sich eine große Anzahl über ein derartiges Netzwerk, so kann man ihre Struktur nur schwerlich zerstören und sie können weiter wachsen. Damit können sich dezentrale autonome Organisationen bilden, die am Ende wie Institutionen, Firmen, Währungsunionen oder sogar Staaten erscheinen. Verschiedene Netzwerke können sich auch durchdringen und voneinander profitieren. Jeder kann an mehreren Projekten beteiligt sein. An einer öffentlichen Blockchain kann jeder mit etwas IT-Know-How teilnehmen. Man lädt sich die notwendige Software runter und lässt das Programm zu Hause oder auf einen gemieteten Server im Internet laufen. Damit wächst das Netzwerk und wird stabiler, sicherer und wertvoller. So kann sich jeder frei einem Netzwerk anschließen und davon partizipieren. Es sind aber auch Aufspaltungen (Hard Fork) möglich, indem ein Teil des Netzwerks das Protokoll ändert, sodass aus einer plötzlich zwei unterschiedliche Ketten werden, die eine gemeinsame Vergangenheit (Datenbasis bis zum Hard Fork) haben. Das Bewusstsein der eigenen Machtposition im Netzwerk ist notwendig, um die Grundidee der Blockchain zu begreifen.

Zu welchen Ressourcenverbrauch das Lotterie-Protokoll bei monetären Anreiz führt und welche alternativen es dazu gibt, soll in einen anderen Artikel behandelt werden. Es sei auch zu erwähnen, dass man ein langsames Einfrieren des Herzschlags per Protokoll festlegen kann, indem man die Blockzeit ständig erhöht und damit die Blockchain irgendwann unbrauchbar macht. Dies ist zum Beispiel bei Etherum der Fall, damit die Entwickler gezwungen sind, eine Weiterentwicklung zu veröffentlichen, wodurch sich eine neue Blockchain abspaltet, die länger nutzbar bleibt.

Ich habe mich hier nicht mit all den möglichen Anwendungen beschäftigt. Ich habe nicht den Unterschied zwischen Diesel-, Otto- und Zweitaktmotor erklärt. Ich habe nicht die Farbe der Sitzbezüge und den Fahrkomfort eines Autos thematisiert. Ich habe versucht die Funktionsweise der Hashfunktion und deren Bedeutung für jede Blockchain darzulegen. Es ging hier nur um den Herzschlag eines Blockchain-Netzwerks. Doch ich glaube, dass das grundlegende Prinzip Voraussetzung für das Verständnis und das Vertrauen in diese Technologie ist. Hat man das Grundlegende Prinzip einmal verstanden, so ist es einem möglich, auf der Blockchain zu tanzen und sie ist nicht mehr der mysteriöse Meteorit, der auf die Erde gekracht ist.