Digitale Währungen: digitales Geld

Es geht natürlich auch einfacher als mit Bitcoins, wenn eine zentrale Bank den Zahlungsverkehr überwacht. Der ganze Aufwand für die Blockchain entfällt, aber die Anonymität ist natürlich nicht mehr (unbedingt) gewahrt. Dafür ist der Gegenwert, weil offizielles Zahlungsmittel, garantiert.

Das Problem bei digitalem Geld: ist ist nicht kopiersicher. Eine Datei kann man beliebig oft vervielfältigen, allerdings darf nur eine einmal verwendet werden. Die anderen müssen danach wertlos sein. Daraus folgt, dass eine digitale Münze – lassen wir es mal bei dem Begriff – zwar ausgestellt und beliebig lange aufbewahrt werden darf, beim Bezahlen der Empfänger sie aber sofort wieder einlösen muss, wenn er sicherstellen will, dass er sein Geld bekommt. Alles andere geschieht auf eigene Gefahr: gibt er selbst die Münze weiter, ist er auf der sicheren Seite, aber der letzte Empfänger sieht in die Röhre, falls inzwischen jemand anderer eine Kopie eingelöst hat.

Wie sieht eine Münze aus?

Eine Münze ist einfach eine Datei mit folgendem Inhalt:

Name der Bank
Wert der Münze
Seriennummer
Digitale Signatur

Die Seriennummer ist ein Unikat, d.h. eine Münze ist einmalig. Die Bank notiert diese Nummer bei Ausgabe der Münze und kennzeichnet sie als „eingelöst“, wenn der Empfänger eine Münze einreicht. Taucht der Datensatz ein weiteres Mal auf, wird sie nicht mehr eingelöst – im Klartext: dem Konto des Einreichers gutgeschrieben. Der Einreicher ist mithin nicht anonym. Es gibt aber ein paar Optionen, wie die Seriennummer ausgestellt wird.

Option 1: komplette Kontrolle durch die Bank

Bei dieser Option kauft der Kunde bei der Bank die Münzen fertig ein. Die Bank kann sich notieren, welche Seriennummern sie an den Kunden ausgegeben hat und damit beim Einlösen jederzeit kontrollieren, woher einer Münze stammt. Wenn das Einreichen als online-Transaktion erfolgt, kann sie auch die Einlösung verweigern. Das ist das, was manche bei der elektronischen Währung befürchten: der Staat/die Bank kann das Kaufen bestimmter Güter verbieten und sperren. ²⁾

Option 2: anonymer Kunde

Der Trick, die Identität des Kunden zu verbergen, heißt „Blinde Signatur“, was man auch mit Blanko-Unterschrift beschreiben könnte. Es gibt verschiedene solche Verfahren; ich beschreibe hier eine Methode mit Hilfe des RSA-Verschlüsselungsverfahrens. Es erfordert mehrere Schritte. Im ersten Schritt übergibt die Bank dem Kunden einen Münzrohling

Name der Bank
Wert der Münze
Seriennummer des Signaturzertifikats

Pro Münzwert verwendet die Bank ein bestimmtes Zertifikat. Damit wird verhindert, dass der Kunde einen 1 € – Rohling bestellt und heimlich einen 200 € Rohling daraus macht. Der Rohling wird veröffentlicht und wenn er in der fertigen Münze nicht genau so auftaucht, sollte man die Münze nicht annehmen. Der Kunde ergänzt nun diese Münze:

Name der Bank
Wert der Münze
Seriennummer des Zertifikats
Seriennummer der Münze

Die Seriennummer erzeugt der Kunde selbst. Die Bank kennt ihn nicht. Die Seriennummer ist einfach eine große Zufallzahl. Sie darf in anderen Münzen nicht verwendet werden, aber wenn die Zahl groß genug ist, wird das auch nicht passieren.

Jetzt fehlt nur noch die Signatur. Die ist ein mit einem asymmetrischen Verfahren verschlüsselter Hashwert. Bei asymmetrischen Verfahren gibt es zwei Schlüssel für die Ver- und Entschlüsselung, wobei man von einem Schlüssel nicht auf den anderen schließen kann. Hält man einen Schlüssel geheim und verwendet ihn zum verschlüsseln, kann jeder mit dem öffentlichen Schlüssel die Verschlüsselung rückgängig machen und so sicher sein, dass nur der Inhaber des Geheimschlüssels die Verschlüsselung durchgeführt hat.

privat  ...  geheimer Schlüssel
public  ...  öffentlicher Schlüssel
hash    ...  Hashwert (kann jeder berechnen)
sig = privat(hash)    ... Signatur
hash == public(sig) = public(privat(hash))  ... alles ok

Um nun eine Signatur von der Bank zu erhalten, sendet der Kunde

z1 = hash * public(Seriennummer*Zufallzahl)

an die Bank. Die Mathematik dahinter ist so gestaltet, dass die Bank z1 nicht in seine Bestandteile zerlegen kann. Die Bank erzeugt nun

z2 = privat(z1) = privat(hash) * private(public(...)
   = sig * Seriennummer * Zufallzahl

und sendet diese Zahl an den Kunden zurück. Der extrahiert nun

sign = z2 / (Seriennummer * Zufallzahl)

und besitzt nun eine gültige Münze.

Sicherheit bei Option 2

Der Kunde kann nicht mogeln, denn wenn er die Münze ändert, wird sie keiner einlösen. Wenn er eine Seriennummer verwendet, die bereits verwendet wurde, wird die Bank die Münze nicht einlösen und der Kaufpreis der Münze ist ebenfalls futsch. Das einzige Risiko ist, dass jemand anderer die Seriennummer bereits verwendet hat und seine Münze noch nicht eingelöst wurde. Dann schaut einer von beiden in die Röhre. Wenn die Seriennummer groß genug ist, wird das aber nicht passieren.

Die Bank kann die Einlösung der Münze nicht verweigern, wenn sie eine gültige Signatur und Seriennummer besitzt. Sie kann aus einer eingelösten Münze auch nicht ableiten, wem sie sie gegeben hat, denn dazu müsste sie die Zufallzahl wissen, mit der der Kunde z1 erzeugt hat. Da der Kunde die Seriennummer ebenfalls selbst erzeugt hat, bleibt er völlig anonym, solange der Einlöser nicht seine Identität notiert und von der Bank gezwungen wird, diese Preis zu geben. Diese Option kommt Bargeld schon recht nahe.

Fazit

Im Prinzip hat man damit anonymes Geld, von dem man sich beliebig viel auf sein Handy laden und es über einen längeren Zeitraum ausgeben kann. Ist das Handy weg, ist natürlich auch das Geld weg, es sei denn, man hat sich eine Sicherheitskopie der Münzen auf dem PC angelegt. Die sollte man aber gut verschlüsseln. Denn jeder kann mit einer solchen Münze bezahlen, der sie irgendwo geklaut hat. Dazu müsste er aber das Handy oder den PC knacken. Diebstahlsicherer ist die Sache bei etwas Mühe also auf jeden Fall.

Rein theoretisch könnte man damit auch beliebig lange Zahlungsketten realisieren, in der Praxis sollte der Empfänger einer Münze die in einem online-Transaktionsverfahren sofort einlösen, sonst ist das Betrugsrisiko sehr hoch. Die Umlaufzeit solcher Münzen ist somit wesentlich geringer als bei Bargeld. Somit kann auch weniger vor dem Staat verborgen werden: wer ein Auto verkauft, kann Bargeld beliebig lange bunkern, wer das gegen elektronische Münzen macht, sollte die zumindest sofort gegen eigene Münzen tauschen. Schwarzgeldgeschäfte werden damit schwieriger, weil das Finanzamt nahezu jede Transaktion sieht und nachfragen kann, woher das Geld kommt. ¹⁾

Im Gegensatz zu Bitcoin & Co ist der Stromverbrauch dieser Methode mehr oder weniger Null und da Banken das Geld ausgeben, ist der Wert einer Münze im Gegensatz zu Bitcoin garantiert. Bei einem Blackout ist das natürlich ebenfalls nicht nutzbar.

Varianten

Zwischen Option 1 und Option 2 gibt es noch andere Modelle, die durch Einschalten weiterer Parteien die Identität bei Bedarf offenlegt.


¹⁾ Denkbar sind natürlich Geldwäsche-Transaktionen, bei denen der Betrag zwar in einer online-Transaktion abgesichert wird, aber über einen Mittelsmann, bei dem die Summe nicht auffällt oder einer ausländischen Bank. Der löst die Münzen ein und gibt dem Kunden eigene Münzen abzüglich einer Gebühr dafür. Business as usual, als Geschäftsmodell u.U. sogar noch größer als jetzt, weil auch kleinere Beträge umgeschlagen werden. 1 Mio in elektronischen Münzen lassen sich per Internet umsetzen, 1 Mio in Banknoten müssen erst mal in einem großen Koffer durch den Zoll geschmuggelt werden.

²⁾ Im Prinzip ist das nicht viel anders als bei Kreditkartenzahlungen. Die Bank kann natürlich versprechen, nichts zu notieren, was ein wenig Anonymität bringen würde, aber verlassen sollte man sich darauf nicht.