Jeder redet von Bitcoin und hierbei fällt dann meist auch der Begriff “Blockchain“. Doch was ist die Blockchain eigentlich und wie funktioniert diese? In diesem Artikel wollen wir dies so einfach wie möglich erklären.
Der Begriff „Blockchain“ selbst verrät uns schon einiges:
Der Block in der Chain
Wie der Begriff „Blockchain“ vielleicht schon vermuten lässt, geht es um eine Verkettung von Blöcken. Ein Block stellt einfach nur eine Sammlung beliebiger Informationen dar. Im Fall von Bitcoin sind dies die Transaktionen. Einfach gesagt: Von wo wurde welcher Betrag wohin überwiesen.
Der digitale Fingerabdruck - Hash
Mittels einer sogenannten Hash-Funktionen (einem mathematischen Verfahren) wird aus den in dem Block gespeicherten Informationen ein eindeutiger Wert (der Hash) berechnet.
Dies können Sie hier ganz einfach testen. Geben Sie in das Feld „Inhalt“ einen beliebigen Text ein. Unterhalb der Eingabe wird der errechnete Hash angezeigt:
Unabhängig von der Menge an Informationen hat der berechnete Hash immer die gleiche Länge. Wenn Sie die gleiche Information an einem anderen Computer eingeben, wird auch dieser den gleichen Hash berechnen. Verändern Sie jedoch auch nur ein Zeichen, wird dieser nicht mehr übereinstimmen.
Einen Hash bezeichnet man daher auch als einen digitalen Fingerabdruck. Das besondere hieran ist, dass es keine Möglichkeit gibt einen Hash vorherzusagen, ohne die Informationen selbst zu kennen.
Dies wird zum Beispiel auch genutzt um Kennwörtern nicht speichern zu müssen. Hierbei wird lediglich der Hash des von Ihnen vergebenen Passworts gespeichert. Da man aus dem Hash nicht auf Ihr Passwort schließen kann, kann es auch nicht gestohlen werden. Sobald Sie ein Passwort zur Anmeldung eingeben, wird hieraus wieder der Hash berechnet und dieser mit dem gespeicherten Hash verglichen.
In unserem Beispiel verwenden wir ein Hash-Verfahren mit dem Namen SHA256. Neben diesem existieren jedoch auch zahlreiche weitere Hash-Verfahren.
Die Digitalwährung Bitcoin nutzt den errechneten Hash, um die in einem Block gespeicherten Transaktionen vor Manipulationen zu sichern, was wir gleich noch genauer beschrieben.
Block für Block - Die Blockchain
Ist ein Block voll, werden hierauf folgende Informationen in einem neuen Block gespeichert. Gleichzeitig wird der Hash des vorhergehenden Blocks in dem neuen Block gespeichert.
Der letzte Satz verdient eine besondere Beachtung denn so entsteht die Kette: Der Hash des vorhergehenden Blocks ist Bestandteil der Information, aus welcher der Hash des neuen Blocks berechnet wird.
Die Konsequenz hieraus ist: Wurde an einem beliebigen Block in der Kette etwas geändert, dann stimmt keiner der folgenden Blöcke mehr.
Dies ist das Kernstück der Blockchain da eine Möglichkeit der Manipulation hierdurch ausgeschlossen wird. Bis hier jedoch noch nicht ganz aber dazu gleich mehr.
Das Verfahren können Sie auch hier wieder Testen. Im Folgenden sehen Sie drei Blöcke. Jeder Block enthält den Hash des vorgehenden Blocks. Ändern Sie doch einfach mal den Inhalt des ersten Blocks:
Verteilte Datenspeicherung
Bis hierhin ist das Ganze vor Manipulationen nur sicher wenn Sie demjenigen, der die Blockchain speichert auch vertrauen. Nichts würde denjenigen daran hindern eine Transaktion zu verändern, um dann im Anschluss einfach die Hashes aller folgenden Blöcke neu zu berechnen.
Dies wird letztlich durch gleich zwei Verfahren verhindert: Unzählige Teilnehmer des Bitcoin Netzwerkes (die Miner) berechnen parallel die Hash- Werte auf Basis von Kopien der Blockchain sowie durch die künstlich geschaffene Schwierigkeit die Hash- Werte zu berechnen selbst.
Die Miner
Grundsätzlich kann jeder ein Teil des Blockchain Netzwerks werden. Dies werden Sie durch die Installation der Bitcoin Software. Diese lädt eine vollständige Kopie der Blockchain auf Ihren Computer von welchem Punkt an Sie selber Hash- Werte für neue Blöcke berechnen können. Da Sie wie viele anderen nun über eine Kopie der Blockchain verfügen, würden die von Ihnen berechneten Hash-Werte nicht mit denen der anderen Teilnehmer übereinstimmen, sollten Ihre Daten in irgendeiner Weise modifiziert worden sein.
Falls Sie bereits eine Zahlung mit Bitcoin getätigt haben, dann werden Sie vielleicht bemerkt haben, dass der Empfänger zunächst auf eine bestimmte Anzahl an Bestätigungen (Confirmations) wartet. Je mehr Miner zu dem gleichen Ergebnis kommen, je sicherer ist demnach das eine Transaktion auch ordnungsgemäß durchgeführt wurde. Bei 3 oder mehr Confirmations kann man also schon sehr sicher sein.
Die Miner sind demnach für die Sicherheit der gesamten Blockchain extrem wichtig. Da das Bereitstellen dieser Rechenleistung auch mit einem nicht gerade unerheblichen Aufwand verbunden ist (hierzu im Folgenden mehr), erhalten die Miner eine Vergütung in Form von Bitcoin.
Die Hash- Schwierigkeit
Computer sind in der Berechnung von Hash- Werten extrem gut. Normalerweise wäre die Berechnung des Hash zu einem Block für jeden handelsüblichen PC und selbst jedes Smartphone keine besonders nennenswerte Aufgabe. Die Schwierigkeit wurde daher künstlich erhöht, was das Mining zu einer wahren Schlacht um Rechenleistung gemacht hat. Mit einem handelsüblichen PC haben Sie nun wenig Chancen. Hiervon profitieren nun insbesondere Hersteller von Grafikkarten, deren Prozessoren sich besonders für rechenintensive Aufgaben eignen und natürlich die Energieversorger, welche sich über den hohen Stromverbrauch freuen.
Erreicht wird die Schwierigkeit dadurch, dass der Hash mit einer bestimmten Zeichenfolge beginnen muss. Zum Beispiel mit dem Wert 000a. Erst wenn der Hash mit diesem Wert beginnt, gilt ein Block als gültig. Man spricht dann von einem signierten Block.
Hierzu ist eine zusätzliche Information erforderlich, welche mit in die Berechnung des Hash einfließt. Diese Information bezeichnet man als „Nonce“. Sie können in dem folgenden Beispiel versuchen den Nonce Wert zu verändern bis der Hash mit 000a beginnt. Dieser Vorgang wird als Mining bezeichnet. Wenn Sie die Aufgabe lieber Ihrem Computer überlassen möchten, können Sie den „Mine“ Button drücken und auf das Ergebnis warten.
Die Angst besteht nun vor Quantencomputern, welche diese Herausforderung eventuell mit Leichtigkeit meistern könnten. Manche Kryptowährungen setzen daher auf andere Berechnungsverfahren, welche als „Quantum-Proof“ gelten. Die speziell für den IoT (Internet of Things) Bereich gedachte Kryptowährung IOTA zählt sich zum Beispiel zu diesen.
Blockchain - Einfach aber genial
Die Blockchain selbst ist zunächst keine sonderlich komplexe Sache und macht sich altbewährte Verfahren zunutze. Die verteilte Verarbeitung mach das hier beschriebene Verfahren jedoch deutlich komplexer. Zu Bitcoin und anderen Digitalwährungen gehört ebenfalls noch wesentlich mehr. Schließlich muss zum Beispiel auch sichergestellt sein wie man über das eigene Guthaben sicher verfügen kann. Also zum Beispiel, das kein Fremder in Ihrem Namen eine Zahlung tätigen kann. Hier kommen dann Themen wie digitale Signaturen ins Spiel, was aber den Rahmen dieses Beitrags sprengen würde.
Eine interessante Sache möchten wir dennoch hier kurz erläutern. Vielleicht haben Sie sich schon gefragt, wo denn nun eigentlich der Kontostand gespeichert wird:
Ganz einfach: Nirgends. Lediglich die Transaktionen selbst werden gespeichert. Wenn Sie eine Zahlung durchführen, werden die Transaktionen so lange rückwärts nachverfolgt, bis für die Zahlung ausreichendes Guthaben gefunden wurde. Klingt vielleicht zunächst umständlich, aber ist bedingt durch das oben Beschriebene dafür absolut manipulationssicher.
Beispiel:
Sie haben eine Zahlung über 4, sowie eine über 2 Bitcoin erhalten. Sie besitzen also 6 Bitcoin.
Wenn Sie nun 2,5 Bitcoin überweisen, dann wird so lange rückwärts gesucht, bis eingehende Zahlungen von in Summer gleich oder größer der zu zahlenden 2,5 Bitcoin gefunden werden.
Da der zuerst gefundene Zahlungseingang an Ihre Bitcoin Adresse 2 Bitcoin war, also nicht ausreicht, wird weitergesucht bis auch die zuvor eingegangene Zahlung über 4 Bitcoin gefunden wird. Hieraus entsteht nun folgende Buchung:
6 Bitcoin zu Ihren Lasten
2,5 Bitcoin and den Empfänger
3,5 Bitcoin zu Ihren Gunsten
Fazit
Die Blockchain genießt derzeit große Aufmerksamkeit und aus unserer Sicht auch nicht ganz unberechtigt. Nicht etwa wegen Kryptowährungen wie Bitcoin selbst, sondern vielmehr wegen den sich hieraus ergebenden Möglichkeit Informationen bis hin zu ganzen Prozessen manipulations- und ausfallsicher sowie ohne zu vertrauenden Dritten speichern zu können. Diesen Möglichkeiten haben sich zum Beispiel Projekte wie Ethereum oder NEO mit sogenannten (DApps = Distributed Apps) verschrieben. Die Grundidee ist eine Form von virtueller Maschine, welche das Ausführen von Programmen auf der Blockchain ermöglicht. Auch im Crowdfunding Bereich bieten sich hier interessante Möglichkeiten. Leider ist es bei letzterem im Rahmen sogenannter „Initial Coin Offerings“ (ICO) bereits zu zahlreichen Betrugsfällen gekommen, was inzwischen auch zu einem vorübergehenden Verbot in China geführt hat und auch in anderen Ländern kritisch betrachtet wird.
Wer im Enterprise Umfeld mit Blockchain experimentieren möchte, der sollte unter anderem einen Blick auf Stratis oder NEO werfen. Stratis stellt zum Beispiel auch sogenannte Sidechains zur Verfügung, so dass nicht alle Informationen in einer endlos wachsenden Blockchain gespeichert werden müssen.
Weitere interessante Projekete sind zum Beispiel auch OmiseGo , eine Zahlungsplattform, welche die Ethereum Blockchain nutzt oder aber die Waves Platform , mittels welcher sich einfach eigene digitale Assets erstellen lassen.