Montag, August 19, 2019

Finanzen, Dienstleistungen, Datenmengen, wie zum Beispiel Musik, Filme, oder auch Kurznachrichten und noch vieles mehr, all diese Dinge werden heutzutage größtenteils über das Internet verwaltet, verkauft und versendet. Das Internet hat es unglaublich einfach gemacht, Geld zu überweisen, den Lieblingssong herunterzuladen, oder einem Freund eine Nachricht zu schicken, der gerade am anderen Ende der Welt verweilt.

All diese Dinge werden über zentrale Parteien gesteuert. Banken regeln unseren Finanzfluss, Kurznachrichtendienste, wie zum Beispiel Whatsapp, leiten unsere Nachrichten weiter und Firmen wie Netflix, Apple oder Spotify verkaufen uns Musik, Filme und Apps.

Der Haken dabei: Man muss diesen Firmen persönliche Daten und Informationen preisgeben und man muss ihnen vertrauen, dass sie keinen Unsinn mit diesen Daten treiben und sie beispielsweise nicht an Dritte weitergeben. Ein weiterer Punkt: Zentrale Institutionen, die wesentliche Aspekte steuern, wie zum Beispiel Finanzen, haben immer das Potential eine Monopolstellung einzunehmen und den jeweiligen Markt, auf dem sie agieren, zu kontrollieren. Ohne solchen Institutionen einen Generalverdacht der Böswilligkeit unterstellen zu wollen: Sonderlich demokratisch und im Sinne des Einzelnen ist dieses Konzept oft nicht.

Ein Gegenentwurf wären also dezentrale Versionen der oben angesprochenen Konzepte. Hier kommt die Blockchain als neue technologische Möglichkeit ins Spiel.

Die Blockchain – kurz und bündig

Eine Blockchain ist ein dezentral gesteuertes System, in dem Zustände beschrieben werden. Das können zum Beispiel Finanzzustände sein, also wer wie viel Geld hat. Diese Zustände werden auf Datensätzen, sogenannten Blöcken, festgehalten. Diese Liste von Blöcken ist kontinuierlich erweiterbar, es können also immer neue Zustände festgehalten werden (Bsp: Person A verschickt Geld an Person B – Person A hat jetzt weniger und Person B mehr Geld).

Jeder Teilnehmer des Blockchainnetzwerks darf das System überwachen und sehen, ob alles mit rechten Dingen zu sich geht. Alle Teilnehmer, die das System überwachen, müssen sich immer über die festgehaltenen Zustände, also beispielsweise wer wie viel Geld hat, einig sein. Je mehr Teilnehmer es gibt, desto mehr Überwacher gibt es und desto stabiler und sicherer ist das ganze System.

Dadurch, dass alles öffentlich einsehbar ist, kann also beispielsweise niemand Geld versenden, dass er nicht hat, da jeder sehen würde, dass er den nötigen Betrag nicht zur Verfügung hat. Öffentlich heißt nicht, dass jeder sehen kann, dass beispielsweise Max Mustermann 10.000 Bitcoins hat. Innerhalb des Systems ist die öffentliche Adresse der virtuellen Geldbörse und deren Inhalt sichtbar und nicht der Besitzer dahinter. Die Adresse einer Geldbörse würde beispielsweise so aussehen: 0x1208d4hfr448473262 – Man kann sich diese Zahl wie eine Kontonummer vorstellen.

Die Infrastruktur des Systems wird von den Teilnehmern zur Verfügung gestellt. Jeder Teilnehmer, der das System überwachen will, vernetzt seinen Computer mit dem System und stellt Rechenleistung und Speicherplatz zur Verfügung. Die Blockchain wird somit also nicht zentral, sondern dezentral auf vielen tausenden Computern gespeichert.

Was haben die Teilnehmer davon, außer hohen Stromkosten? Für die Überprüfung gibt es eine Belohnung. Wenn der Speicherplatz eines Blocks mit Transaktionen vollgeschrieben ist, wird ein neuer Block erstellt. Das ist die Aufgabe der Überwacher. Um einen neuen Block zu erstellen, müssen alle Überwacher, bzw ihre Computer, eine Rechenaufgabe lösen (wir reden hier nicht von einer einfachen Additionsaufgabe, sondern von hochkomplexen Berechnungen, für die man einen PC mit hoher Rechenpower benötigt). Parallel dazu schreiben alle Überwacher sämtliche Transaktionen auf, die in dieser Zeit passieren. Sobald der erste Überwacher die Rechenaufgabe gelöst hat, sagt er dem Netzwerk bescheid und alle anderen Überwacher vergleichen ihre aufgeschriebenen Daten mit denen des ersten Überwachers. Wenn alles übereinstimmt, wird der Block erstellt und die Daten in den Block übertragen. Zur Belohnung bekommt der Überwacher, der den Block erstellt hat, einen Teil der Transaktionsgebühren (Innerhalb der Bitcoin-Blockchain wären das zum Beispiel ein paar Bitcoin-Bruchteile) und ein paar neu generierte Bitcoins.

Überwacher werden aufgrund dieses Suchens nach einem neuen Block auch „Miner“ genannt. Sie schürfen sozusagen in den Tiefen des Systems nach Bitcoins. Man muss aber kein Miner sein, um das System zu nutzen und beispielsweise Bitcoins versenden zu können. Wenn man nur Transaktionen innerhalb der Blockchain ausführt, dann vertraut man darauf, dass es genug Miner gibt, die das System kontrollieren.

Ein erstes Beispiel:

Du steigst neu in die Krypto-Welt ein und holst dir auf einer Handelsbörse einen Bitcoin. Dieser liegt jetzt auf dieser Börse in einem virtuellen Geldbeutel, der mit dem Blockchain-Netzwerk verbunden ist. Du möchtest den Bitcoin nicht auf der Handelbörse liegen lassen, sondern auf deinen eigenen virtuellen Geldbeutel schicken.

Du schickst also den Bitcoin von dieser Börse über das Netzwerk zu deinem Geldbeutel und musst dabei eine Transaktionsgebühr bezahlen (bspw 0.000001 Bitcoin). Die Miner schreiben diese Transaktion auf – der erste Miner löst die Rechenaufgabe und erstellt einen neuen Block. Deine Transaktion ist jetzt auf diesem Block abgespeichert, die Zustände innerhalb des Blockchain-Netzwerks haben sich also geändert.

Neuer Zustand: Dein Börsengeldbeutel: 0 Bitcoin / Dein privater Geldbeutel: 0.999999 Bitcoin / Der Miner erhält eine Belohnung von 0.000001 Bitcoin von dir dafür, dass er das Netzwerk in Betrieb hält und deine Transaktion bestätigt hat.

Der Zustand, dass auf deinem Geldbeutel jetzt 0.99999 Bitcoin liegen, ist auf allen Miner-Computern abgespeichert und nur mit unglaublich hohem Rechenaufwand veränderbar. Jeder Block, der jetzt auf den eben erstellten Block, auf dem deine Transaktion abgespeichert ist, draufgelegt wird, erschwert es noch zusätzlich etwas daran zu verändern.

Die Blockchain im Detail

Eine Blockchain ist im Prinzip nichts anderes als die gesamte Transaktionshistorie von allen Transaktionen, die in dieser Blockchain je stattgefunden haben und über die die überprüfenden Teilnehmer der Blockchain übereingestimmt haben.

Das Blockchain-System wird von sogenannten Fullnotes (oder auch „Minern“) betrieben. Die Miner erstellen Blöcke durch lösen von mathematischen Aufgaben. Sie suchen dabei nach einem gültigen Wert, einem sogenannten Hashwert, der benötigt wird, um einen neuen Block zu erzeugen. Der genaue Ablauf ist sehr komplex und wird an dieser Stelle nicht detailliert aufgegriffen. Wer die Berechnung eines Block-Hashs ganz genau nachvollziehen möchte, dem empfehle ich den Wikipedia-Eintrag, der die Sache ganz genau erläutert.

Die Miner machen zwei Dinge gleichzeitig: Sie notieren alle Transaktionen, die im Zeitraum nach dem Erstellen des letzten Blocks stattfinden. Desweiteren versuchen sie die mathematische Aufgabe zu lösen, um einen neuen Block zu erstellen, bzw zu finden.

Die Transaktionen werden größtenteils von sogenannten Lightnotes ausgeführt, also von Leuten, die Kryptowährungen von A nach B versenden, ohne ein aktiver Überwacher/Miner des Blockchain-Systems zu sein.

Der erste Miner, der die mathematische Aufgabe gelöst hat, meldet das dem Blockchain-System. Jetzt sehen sich alle anderen Miner an, was er auf dem neuen Block aufgeschrieben hat und vergleichen das mit ihren eigenen Notizen. Wenn alles stimmt, löschen sie ihre Notizen und übernehmen die Notizen des Finders. Der neu erstellte Block wird also verifiziert und bei jedem Miner abgespeichert. Der neue Block beschreibt jetzt also den aktuellen Zustand der Blockchain, also beispielsweise alle aktuellen Bitcoin-Mengen auf allen virtuellen Geldbeuteln im Bitcoin-Blockchain-System.

Der Block hat alle Transaktionen gespeichert, die der Finder im Zeitraum nach der Erstellung des vorherigen Blocks aufgeschrieben hat. Zusätzlich hat der Block eine Prüfnummer. Durch das Erstellen des Blocks wurden Bitcoins generiert. Diese bekommt der Finder als Belohnung, zusätzlich dazu bekommt er die Transaktionsgebühren derjenigen Transaktionen, die er in dem Block aufgeschrieben und damit auch verifiziert hat. Diese Belohnung ist ein Anreiz für die Miner, ihre Computer und deren Rechenpower zur Verfügung zu stellen und das System am laufen zu halten.

Ohne eine Belohnung würde sich das Betreiben des Netzwerks für die Miner nicht lohnen, da es viel Strom braucht, umso mehr, je mehr Miner es gibt. Die Schwierigkeit der mathematischen Aufgabe wird im Netzwerk dynamisch so geregelt, dass alle 10 Minuten ein neuer Block erzeugt wird. Wenn also mehr Miner ins Netzwerk einsteigen, kommt dadurch auch mehr Rechenpower ins Netzwerk. Das Netzwerk skaliert dann also die Schwierigkeit der mathematischen Aufgabe nach oben, damit die Dauer für die Erzeugung eines neuen Blocks weiterhin 10 Minuten beträgt.

Nach der Erzeugung eines Blocks geht sofort die nächste Runde los. Alle Miner erfassen wieder alle Transaktionen, die im Zeitraum nach dem Auftauchen unseres beispielhaften Block 1 stattfinden und versuchen gleichzeitig, die nächste mathematische Aufgabe zu lösen und den benötigten Hashwert für den nächsten Block zu finden.

Nach ungefähr 10 Minuten hat wieder ein Miner als erstes einen neuen Block erzeugt. Alle Transaktionen aus diesem Zeitraum werden, nachdem die anderen Miner sie mit ihren aufgenommenen Daten verglichen haben, in den Block gespeichert. Auch dieser Block erhält eine Prüfsumme. Zusätzlich dazu wird die Prüfsumme des vorherigen Blocks zur Kontrolle mit eingetragen. Die Blöcke werden also durch die Prüfsumme miteinander verbunden.

Dieses Verfahren ist ein kryptografisches Verfahren, mit dem die Blöcke aneinandergekettet werden (deshalb auch „Blockchain“). Jeder Block enthält einen kryptografisch sicheren Hash (die Prüfsumme) des vorhergehenden Blocks, einen Zeitstempel und Transaktionsdaten.

Was würde passieren, wenn man jetzt also versuchen würde die Blockchain zu manipulieren? Sagen wir, wir wollen eine Transaktion verändern, wie in Abbildung 3 zusehen, und uns 0.5 Bitcoin gutschreiben, die eigentlich jemand anderem geschickt wurden. Teilnehmer 1 wollte den Zustand der Blockchain eigentlich so verändern, dass 0.5 Bitcoin von seinem Konto abgezogen und auf das Konto von Teilnehmer 2 gutgeschrieben werden. Wir verändern diese abgespeicherte Transaktion jetzt so, dass die 0.5 Bitcoin stattdessen unserem Konto gutgeschrieben werden.

Durch die Veränderung der in Block 1 gespeicherten Daten würde sich die Prüfsumme des Blocks aufgrund der kryptografischen Eigenschaften verändern. Die zusammengerechneten Daten innerhalb des Blocks würden dann eine andere Prüfsumme ergeben. Jetzt würde die Prüfsumme, die in Block 2 abgespeichert wäre, nicht mehr stimmen. Das System würde sofort erkennen, dass die Blockchain manipuliert worden wäre.

je weiter unten ein Block also in der Blochchain liegt, desto unveränderbarer ist er. Wenn man versuchen würde einen weit unten liegenden Block zu verändern, könnte man sich das ganze so vorstellen: Man würde versuchen, ein Blatt, das an sehr viele andere Blätter mit Kleber drangeklebt ist, abzureißen. Bei so einem Versuch würde man den ganzen Blätterstapel, bzw die ganze Blockchain kaputtreißen, weil alles miteinander verklebt ist. Jeder würde sehen, dass man versucht die Blockchain zu verändern.

Ein solcher Versuch würde außerdem eine enorme Rechenleistung benötigen, je weiter unten der Block in der Blockchain liegt, desto größer würde die benötigte Rechenleistung werden. Der Richtwert ist, dass eine Transaktion nach etwa 3 bis 4 Blöcken so sicher in der Blockchain abgespeichert ist, dass es nahezu unmöglich ist, sie zu verändern, da eine enorm große Rechenleistung notwenig wäre. Man müsste alle darüberliegenden Daten ebenfalls verändern.

Soweit das Grundkonzept einer Blockchain. Die Bitcoin-Blockchain war (wahrscheinlich) die erste, die das Licht der Welt erblickt hat. Mittlerweile gibt es noch viele weitere. Der größte Konkurrent von Bitcoin und von vielen als eine technologische Weiterentwicklung betrachtet, ist die Ethereum-Blockchain. Es gibt jedoch noch viele weitere Kryptowährungen, die auf separaten Blockchains laufen und es kommen immer noch weitere hinzu. Wenn man in eine bestimmte Kryptowährung investieren will, sollte man sich die Technologie dahinter genau ansehen und verstehen lernen.

Tags: , , , , ,
Der Autor dieses Blogs.

0 Comments

Leave a Comment

%d Bloggern gefällt das: