Good to knowHow to ...Krypto-Währungen

Wie erfolgt die Durchführung einer Krypto-Transaktion?

Die Teilnehmer an Digitalen Währungen tauschen untereinander via Peer-to-Peer-Netzwerk signierte Nachrichten aus.
Die Verwaltung des Guthabens ist nicht an einer Stelle gespeichert, sondern (über viele Knoten) verteilt. Grundsätzlich kann jeder Teilnehmer einen solchen Knoten besitzen. Die Technologie basiert darauf, dass sich die unterschiedlichen Knoten nicht „vertrauen“ müssen, um die Konsistenz der Gesamtbuchhaltung zu gewährleisten. Die Verwaltung des Guthabens bzw. der Transaktionen des Zahlungsverkehrs besteht aus Datenblöcken, die jeweils auf ihren Vorgänger verweisen und somit eine Kette („Blockchain„) vom ersten („Genesis Block“) bis zum aktuellen Block bilden. D.h. Transaktionen werden zu einem Block aggregiert, der allerdings zuerst generiert („gemined“) werden muss und dann an den Vorgänger angehängt wird. Die Menge aller Blocks wird als Blockchain bezeichnet. Man kann dies als eine Art chronologische Log-Datei aller Transaktionen verstehen.
Erstellung einer Transaktion
Wenn der Benutzer A die Transaktion „Sende n Geldeinheiten von A nach B“ ausführen möchte, muss er zunächst diese Transaktion/Nachricht erstellen (incl. Betrag und öffentlichem Schlüssel des Zielkontos) und mit seinem privaten Schlüssel signieren. Danach wird diese Nachricht im Peer-to-Peer-Netzwerk verteilt. Sobald eine gewisse Anzahl von Teilnehmern sie registriert hat, gilt die Transaktion als gesendet. Jeder Teilnehmer kann überprüfen, ob die Transaktion tatsächlich vom Absender stammt (durch Verwendung dessen öffentlichen Schlüssels).
Validierung der Transaktionen („Proof of Work“)
Für die Kontrolle der Transaktionen sind sogenannte „Miner“ zuständig. Dies sind Teilnehmer, die Rechenleistung zur Validierung von Transaktionen zur Verfügung stellen. Dazu sammeln die Miner unabhängig voneinander die letzten Transaktionen und bündeln jeweils mehrere hundert davon in Blocks. Auf die Daten des Blocks (bzw. auf die Daten des Anfangsbereich eines Blocks (Blockheader)) wenden sie eine mathematische Formel (Hashfunktion) an. Dadurch werden die Informationen in eine kürzere Zeichenfolge (fester Länge), also eine Aneinanderreihung von Buchstaben und Zahlen – auch Hash genannt – transformiert. Hashfunktionen haben die Eigenschaft, dass es ziemlich einfach ist, eine Hashfunktion aus Informationen des Blocks zu berechnen, aber nahezu unmöglich zu sehen, was es zuvor war. Um einen Hash zu erzeugen, nutzen die Miner nicht nur die Daten der Transaktionen im Block, sondern auch noch andere zusätzliche Daten, z.B. den Hash im letzten Block der Blockchain. Der Nutzer, der am schnellsten den neuen Block erstellt, gewinnt gewissermaßen das Wettrennen um die Generierung des neuen Blocks, denn er macht die Berechnungsversuche der anderen Nutzer hinfällig. Der Gewinner, also der Miner mit dem richtigen Ergebnis, erhält eine Belohnung (natürlich in Form von virtuellem Geld). D.h. er darf im neuen Block außer den zu bestätigenden neu angefallenen Transaktionen auch eine Transaktion aus dem Nichts auf sein eigenes Konto eintragen. Er erhält damit den an diesen Block gebundenen, vom Regelwerk vorgegebenen Teilbetrag der Neuemission.
Begrenzung der Neuemissionen
Die Erstellung und Überprüfung eines Blocks für die Blockchain wird den Nutzern also absichtlich schwer gemacht, um die damit verbundenen Neuemissionen (Geldschöpfung) zu begrenzen.  Dazu muss vom Miner für den Block eine als kryptologische Hashfunktion realisierte Einwegfunktion errechnet werden. Dieser Hashwert muss eine allgemein anerkannte Bedingung erfüllen, um als gültiger neuer Block anerkannt zu werden, z.B. unterhalb eines vorgegebenen Grenzwerts liegen. Je kleiner dieser Grenzwert ist, desto geringer ist die Wahrscheinlichkeit, dass der neu errechnete Hashwert darunter liegt, und entsprechend schwieriger ist es, einen solchen Block zu erstellen. Der Teilnehmer muss den Block nun solange verändern, bis er einen gültigen Block erstellt hat, dessen Hashwert unter dem Grenzwert liegt. Dazu enthält jeder Block einen als Nonce bezeichneten Wert, dessen einzige Funktion darin besteht, solange verändert zu werden, bis der Hashwert des gesamten Blocks dadurch die Bedingung erfüllt. Da es sich um eine Einwegfunktion handelt, ist es nicht möglich, den benötigten Nonce direkt zu errechnen. Die Schwierigkeit besteht also darin, solange den Hashwert veränderter Blöcke zu errechnen, bis zufällig dabei ein Wert unter dem vorgegebenen Schwellwert erreicht wird. Als Hashfunktion werden von verschiedenen Digitalen Währungen u. a. SHA-2 (Bitcoin, Peercoin), SHA-3 (Copperlark), Scrypt (Litecoin, Worldcoin) und POW (Protoshares) verwendet. Alle Miner im Netzwerk probieren so lange Möglichkeiten aus, bis der erste eine Lösung findet.
Sobald ein neuer gültiger Block generiert wurde, wird er an alle Knoten im Netzwerk als neue längere Blockchain verteilt. Die anderen Knoten akzeptieren den neuen Block, wenn er den Regeln des Systems entspricht und übernehmen dann den Hashwert dieses Blocks in ihre neu zu berechnenden Blöcke.