Was ist eigentlich Kryptografie?

Das Wort „Kryptos“ bedeutet so viel wie „geheim“ oder „verborgen“. „Graphein“ dagegen bedeutet schreiben. Es handelt sich also wörtlich übersetzt um eine Geheimschrift. So können auch uralte Schriften in verschlüsselter Form bereits als Kryptografie bezeichnet werden.

Eine sehr einfache Verschlüsselungsmethode war es, die eigentlichen Buchstaben jeweils um eine bestimmte Anzahl im Alphabet zu verschieben. Z. B. beim Verschieben um drei, nahm man anstelle eines A ein D, statt eines B ein E, usw. Man konnte nun eine geheime Botschaft übermitteln und beispielsweise dem Boten den Schlüssel dazu mitgeben (eben in diesem Fall „plus 3“).

Der Nachteil dabei war, dass man 1. dem Boten zu 100% vertrauen musste (denn der konnte die Botschaft lesen) und 2. die Möglichkeit bestand, dass der Bote unter Folter zur Preisgabe des Schlüssels gebracht werden konnte.

Kannten sich die beiden Kommunizierenden bereits, wurde im Vorfeld ein Schlüssel für die Korrespondenz vereinbart. Der Empfänger kannte also immer den Schlüssel, ein Dritter musste nicht eingeweiht werden.

Eine weitere Möglichkeit wäre der Austausch der Buchstaben untereinander, wie z. B. der Letzte gegen den Ersten, der Vorletzte gegen den Zweiten, usw. Oder aber, man nimmt den ersten Buchstaben plus zwei, den zweiten plus vier, etc. der Kreativität sind keine Grenzen gesetzt.

Mit der Zeit wurden immer komplexere Verschlüsselungsmethoden erfunden und angewendet. Im zweiten Weltkrieg wurde bereits eine Art Kryptografie-Maschine genutzt, die ENIGMA. Sie war aufgebaut wie eine Schreibmaschine, besaß aber zusätzlich zu den Eingabetasten drei (später fünf) unterschiedliche Buchstabenwalzen. Drückte man nun ein A auf der Maschine, kam, über diverse Stromleiter gesteuert, ein anderer Buchstabe von einer Walze aufs Papier. Für jeden Tag gab es andere Anweisungen, wie die Walzen zu installieren waren, so dass es ohne eigene Enigma unmöglich schien, die Nachrichten zu entziffern.

Dennoch gab es auch damals bereits Krypto-Analytiker und so konnte die Schrift unter enormem Personal- und Zeitaufwand dennoch (nach Jahren) entschlüsselt werden.

Mit der Geburtsstunde der Computer war auch eine neue Möglichkeit der Verschlüsselungstechnik geboren. Denn auch wenn für den Laien ausschließlich Buchstaben zu lesen sind, wenn es um Kommunikation geht, so bestehen die Informationen innerhalb eines Computers dennoch aus Nullen und Einsen. Ein A wird vom Rechner als 01000001 dargestellt, ein B als 01000010 Sogar Leerzeichen haben einen eigenen Code, nämlich: 00100000. Diese Sprache nennt man „binär“, denn es gibt nur zwei Zustände: Mit, oder ohne Strom. Doch dies ist keine Verschlüsselung, denn jeder kennt diesen Code und man kann sie sogar online übersetzen lassen. Jedoch bietet diese Aneinanderreihung von Nullen und Einsen eine Unmenge an Verschlüsselungsmöglichkeiten. Außerdem kann ein Computer sehr komplexe Verfahren in kürzester Zeit anwenden und berechnen. Für die Entschlüsselung ist demnach ebenfalls ein Computer notwendig, denn die Aufgabe wäre zu komplex für einen Menschen.

Die Art, wie Daten verschlüsselt werden, nennt man Algorithmus. Es wurden viele verschiedene entwickelt und die Entwicklung dauert noch an. Die beim Bitcoin angewandte Technik heißt z. B. SHA-256. Nach diesem Verfahren kann aus einem großen Datensatz ein kurzer „Hashwert“ generiert werden. Auch die Autorisierung einer Transaktion beruht auf einer sicheren Verschlüsselung. Bei diesem asymmetrischen Verfahren wird mit Hilfe eines geheimen Schlüssels ein öffentlicher Schlüssel generiert, der weitergegeben werden kann. Das Netzwerk kann nun prüfen, ob dieser Schlüssel korrekt ist, denn nur mit Hilfe des privaten Schlüssels kann die Transaktion auch tatsächlich korrekt verschlüsselt werden. Aus einem privaten Schüssel können unzählige öffentliche Schlüssel generiert werden, aber aus einem öffentlichen Schlüssel kann niemals der private Schlüssel wiederhergestellt werden. Solange also dieser private Schlüssel unter Verschluss gehalten wird, gilt das System als sicher.

Was bedeutet „Bitcoin-Synchronisierung“?

Eine Synchronisierung ist immer ein Abgleich von Daten. Die meisten von uns kennen dies aus dem Mobilfunkbereich, wenn z. B. Telefonbücher zwischen zwei Geräten „synchronisiert“ werden. Die Daten werden also jeweils bei beiden synchronisierten Geräten auf den neuesten Stand gebracht.

Beim Bitcoin ist die Synchronisation ein wichtiger Vorgang. Denn: Soll ein Client eine Transaktion bestätigen/überprüfen, so muss dieser natürlich wissen, wer gerade wie viele Bitcoin besitzt, bzw. auf welchen Adressen sich gerade ein Guthaben befindet. Hierfür muss zu Beginn die gesamte, bisherige Blockchain abgerufen werden. Selbstverständlich handelt es sich dabei um riesige Datenmengen, die mit der Verlängerung der Kette automatisch ebenfalls immer mehr werden. Damit dies schneller geht, kann von größeren Knotenpunkten nur ein „Hash-Tree“ abgerufen werden. Hierbei handelt es sich um erneut verschlüsselte („gehashte“) und zusammengefasste Daten, so dass die abzurufende Menge nicht mehr ganz so groß ist.

Geht ein Client vom Netz und meldet sich später erneut an, so muss natürlich nur die Differenz der Daten abgerufen werden. Die Synchronisation dauert also nicht mehr so lange.