Bitcoin ist eine so genannte Kryptowährung, von denen es inzwischen außer Bitcoin noch etliche 1000 andere gibt, in die man sein Geld versenken kann. Kryptowährungen werden immer als halbwegs sicherer Hafen angepriesen, weil sie nicht von Staatsbanken abhängen, außerdem sind sie anonym, d.h. man kann nicht verfolgen, wer gerade im Besitz einer Einheit ist und wen er damit bezahlt. Wie funktionieren solche Systeme?
Die Einheiten sind gewissermaßen genormte und durchnummerierte elektronische Münzen. Einmal in Verkehr gebracht, bleiben Sie für immer im System. Heraus gegeben und verwaltet werden sie von Maklern. Der Preis richtet sich nach Angebot und Nachfrage.
Wenn man Münzen erwerben will, wendet man sich an einen Makler, der einem gegen Bezahlung in einer normalen amtlichen Währung freie Münzen verkauft. Will man die Münze wieder verkaufen, wendet man sich ebenfalls an den Makler, der die Münzen an andere Interessenten verkauft und das Geld auszahlt, ggf. abzüglich Provision. Im Prinzip funktioniert das wie in einer Börse, was auch impliziert, dass Maklergebühren anfallen und der eine oder andere Mitspieler auch spekulativ arbeiten kann, indem er nur zu bestimmten Preisen kauft oder verkauft.
Neue Münzen werden in der Regel durch die so genannten „Miner“ erzeugt und über den Makler verkauft. Dazu weiter unten mehr.
Will man jemanden bezahlen, sendet man ihm eine entsprechende Anzahl elektronischer Münze. Der Empfänger kann diese nun an einen anderen Makler in einer völlig anderen Währung verkaufen oder eben für weitere Geschäfte mit weiteren Teilnehmern erst einmal bunkern.
Abgesichert werden Transaktionen durch elektronische Signaturen²⁾ und eine Buchführung durch die Makler. Skizzieren wir zunächst, wie elektronische Signaturen funktionieren können:
Der Inhaber der Münzen und sein Erwerber ergänzen das Paket durch ihre öffentlichen Schlüssel ihrer Signaturen. Über das Gesamtdatenpaket wird ein Hashwert gezogen, also eine Einwegverschlüsselung ohne eigenen Schlüssel und ohne Entschlüsselungsmöglichkeit. Dieser Hashwert wird von beiden mit dem privaten Schlüssel der Signaturfunktion verschlüsselt. Mit dem öffentlichen Schlüssel kann nun jeder kontrollieren, ob alles seine Richtigkeit hat, indem er den verschlüsselten Hashwert entschlüsselt und mit dem korrekten Hashwert vergleicht.
Die Gültigkeit der Münzen wird mittels der Buchführung kontrolliert, das ist eine große Datenbank, in der alle Transaktionen verzeichnet sind. In dieser müssen die Münzen als gültig auftauchen, also irgendwann einmal ordnungsgemäß erzeugt worden sein, und bei der letzten aufgelisteten Transaktion vom derzeitigen Inhaber mit den Signaturschlüsseln, die er beim Verkauf verwendet, erworben worden sein. Ist das nicht der Fall, versucht der Inhaber, ihm nicht gehörende Münzen zu verkaufen oder eine Münze mehrfach zu verkaufen. Bei Bedarf kann der Lebenslauf der Münze bis zur Herausgabe rekursiv verfolgt werden. Da aber nur die Schlüssel und nicht die Identität der Inhaber verwendet werden, kann nach dem Kauf (da muss man ja Geld auf irgendein normales Bankkonto überweisen) schnell Anonymität hergestellt werden (notfalls kann der Inhaber die eigenen Münzen mit neuen Schlüsseln „erwerben“). Der Verkauf mit Auszahlung ist natürlich wiederum nicht anonym.
Für die Buchführung berücksichtigt der Makler seine Gebühren in Form von einem Teil der Münzen, die er einbehält und die nicht dem Empfänger gut geschrieben werden, signiert die Transaktion und übergibt das Ganze an das Krypto-Mining. Hier werden Transaktionen verschiedener Makler in einem Paket gesammelt sowie neue Münzen zur Deckung der Kosten (s.o.), ein Zeitstempel und der Hashwert der letzten Transaktion in der Datenbank hinzu gefügt. Außerdem enthält das Paket ein Datenfeld zur freien Verfügung der Miner. Deren Aufgabe besteht nun darin, das freie Datenfeld so fest zu legen, dass der neue Hashwert um nicht mehr als eine vorgegebene Anzahl von Stellen vom vorhergehenden Hashwert abweicht.
Verknüpft man die Ausgabewerte einer Hashfunktion auf zwei beliebige Eingaben mit Hilfe des XOR-Operators (gleiche Bits in beiden Ausgaben haben nach dem XOR den Wert 0, verschiedene den Wert 1) und zählt anschließend die Nullen (oder Einsen) ab, so kommt man in der Regel auf etwa die halbe Zahl der Ausgabebits. Will man mehr (oder weniger) haben, muss man nach geeigneten Eingabewerten suchen und genau das machen die Miner, indem sie das freie Datenfeld so lange verändern, bis sie das gewünschte Ergebnis erreicht haben, etwa das nunmehr 3/4 der Ausgabebits den gleichen Wert wie zuvor aufweisen.³⁾ Das so komplettierte Paket wird an die Datenbank angehängt und die Transaktionen sind nun gültig. Die neu generierten Münzen gehören dem erfolgreichen Miner, der sie nun verkaufen kann.
Die Datenbank wird auch Block Chain genannt, weil in jedem neuen Paket der Hashwert des letzten Standes der Datenbank enthalten ist. Wieder kann man rekursiv prüfen, ob die Datenbank konsistent ist: würde irgendwo etwas geändert, wären alle folgenden Hashwerte ungültig. Die Datenbank ist öffentlich für alle zugänglich und wer aktiv etwa als Broker oder Miner mitmachen möchte, ist gehalten, sie herunter zu laden und zu prüfen, was beispielsweise bei Bitcoin mit ca. 500 GB schon einigen Aufwand bedeutet.
„Unfälle“ sind möglich, wenn zwei Miner gleichzeitig eine Lösung präsentieren und womöglich noch unterschiedliche Pakete bearbeitet haben, weil die Makler uneinig waren. Zeitstempel und Abstimmungsverfahren sorgen dafür, dass man sich auf eine gültige Blockchain einigt.¹⁾
Bei etlichen Tausend verschiedenen Kryptowährungen gibt es natürlich auch die eine oder andere Variation des Grundprinzips. Viele soziale Netzwerke bieten ihre eigenen Versionen an und man kann über telegram beispielsweise auch problemlos Kryptos an Russen auszahlen und umgekehrt. Andererseits fallen natürlich Provisionen für den Makler an und je nach Marktlage kann man beim Ein- und Auszahlen auch ziemliche Gewinne oder Verluste machen. Es ist also alles recht spekulativ. Wer seine privaten Signaturschlüssel verliert, darf einen Totalverlust verbuchen, denn ohne die Schlüssel ist keinerlei Zugriff möglich und die Münzen enden als Karteileichen in der Blockchain.
Der Aufwand des Minings ist in der Regel erheblich und erfordert teilweise Serverfarmen und billigen Strom. Die Kosten werden durch die neuen Münzen aufgefangen, aber wenn das Mining teurer wird als die Entlohnung, weil nicht genügend Käufer vorhanden sind, bricht das System zusammen und viele Leute sitzen auf völlig wertlosen Datensätzen.
Schon seit geraumer Zeit wird der Stromverbrauch beim Mining höher eingeschätzt als beispielsweise der gesamte Strombedarf der Schweiz. Wenn man beachtet, das vielfach Gestalten, die an anderer Stelle ihre grün-rote Gesinnung und ihren Klimawahn heraushängen, wiederum diese Stromverschwendung als Zukunft propagieren, kann man wieder zu dem Schluss kommen, dass diese Leute einfach keine Ahnung haben, grundlegend bescheuert sind oder an ihre eigene Ideologie nicht glauben. Schaut man im Internet nach, was da zu Kryptowährungen steht und welche Prozesse dahinter stehen, ist „keine Ahnung“ wohl nicht ganz weit her geholt.
¹⁾ Verzweigungen der Blockchain sollen allerdings in der Frühzeit vorgekommen sein.
²⁾ Signaturverfahren verwenden Verschlüsselungsalgorithmen mit verschiedenen Schlüsseln für die Ver- und die Entschlüsselung, wobei die Kenntnis eines Schlüssels nicht genügt, auf den anderen zu schließen, da dazu ein weiterer geheimer Wert notwendig ist, der nur bei der Schlüsselkonstruktion verwendet wird. Man kann also einen Schlüssel veröffentlichen und hält den zweiten geheim. Eine Signatur besteht aus der Verschlüsselung eines Hashwertes einer Nachricht mit dem geheimen Schlüssel. Den Hashwert wiederum kann jeder berechnen, Stimmt der mit dem mit dem öffentlichen Schlüssel entschlüsselten Wert überein, stammt die Nachricht zwingend vom Inhaber des Geheimschlüssels.
³⁾ Nehmen wir an, der Hashwert einer Nachricht sei 10 = 1 0 1 1 als Bitmuster. Statistisch stimmen bei einer weiteren Nachricht zwangsweise die Hälfte der Bits mit diesem Wert überein, d.h. möglich sind 08 = 1000 14 = 1110 13 = 1101 02 = 0010 01 = 0001 07 = 0111 Sucht man nun Eingaben, bei denen 3 Bits die gleichen sind, sind die Kandidaten 1 0 1 0 1 0 0 1 0 0 1 1 1 1 1 1 Es gibt somit weniger Eingabewerte, die das gewünschte Ergebnis liefern, und nach denen muss man erst einmal suchen.