Buchgeld gibt es schon lange. Aber kann man neben Münzen
und Noten auch Bargeld herstellen, das nicht aus Metall oder Spezialpapier
besteht, sondern aus Bitfolgen, die als Datei auf einem Computer
gespeichert sind und mit denen man genauso bezahlen kann wie mit Bargeld?
Ja man kann, aber es ist klar, dass die Anforderungen an die Sicherheit
und der Schutz vor möglichem Missbrauch sehr hoch sein müssen. Das
gewährleisten die kryptographischen Verfahren RSA und Signatur, die wir
schon kennen, ergänzt um ein Anonymisierungsverfahren (Blind Signatur).
Folgende Forderungen müssen erfüllt sein:
-
Authentizität: Nur autorisierte Instanzen
(Banken) dürfen Geld herstellen. Es darf nicht möglich sein, die
Bitfolge, die die Münze darstellt, zu raten.
-
Verifizierbarkeit: Der Zahlungsempfänger muss den
Geldcharakter und die Echtheit einer Datei prüfen können.
-
Unikat: Banknoten fälschen ist ziemlich
schwierig. Eine Datei kopieren kinderleicht. Es wird also ein Schutz
gegen mehrfaches Einreichen der Münze (double spending protection)
benötigt
-
Anonymität: Das freut nicht nur die Mafiosi, es
gibt genügend gute Gründe für den ehrbaren Bürger, dass man seiner
Zahlung z.B. nicht ansehen kann, was er bei wem gekauft hat.
Am Beispiel Digicash, das von David Chaum, dem
Erfinder des Protokolls für digitales Bargeld, entwickelt wurde, kann man
überprüfen, in wie weit diese Forderungen erfüllt werden. In einem stark
reduzierten Modell gibt es drei Beteiligte: Käufer - Verkäufer - Bank.

Prinzipielle Darstellung |
Kryptographische
Umsetzung |
1. Geld erzeugen
Käufer schreibt auf einen Zettel: Das sind 100 DM und fügt eine
genügend große Seriennummer (z.B. 64 bit) hinzu. |
(Bank hat öffentlichen
Schlüssel e,n und privaten Schlüssel d)
Zufällige Seriennummer M erzeugen, die einem bestimmten Muster
genügt, an dem Beteiligte erkennen können, dass es sich um eine
Geldzahl handelt. |
2. Blinding
Den Zettel legt er in einen Umschlag mit einem Kohlepapier
darüber.
Die Bank signiert den Umschlag, ohne ihn zu öffnen. Die
Seriennummer bleibt ihr also unbekannt. Die Signatur wird auf dem
einliegenden Geldzettel abgedrückt.
Bank belastet Käuferkonto mit 100 DM und sendet den Geldbrief an
Kunden zurück. (Damit ist auch klar, dass es sich im
finanztechnischen Sinne nicht um eine Geldschöpfung handelt.)
Käufer öffnet den Umschlag und entnimmt den signierten Geldschein
(unblinding). |
Umschlag erzeugen mit
einer Zufallszahl r zwischen 1 und n. Zum Verdecken M mit r
multiplizieren:
U = M x r e mod n
U d = (M x r e) d
mod n = M d x r mod n
Umschlag entfernen durch Multiplikation mit r -1,
um Signatur s zu gewinnen.
s = U d x r -1 mod n
s = M d mod n
|
3. Digitale Zahlung leisten
Käufer sendet den signierten Geldschein an Verkäufer.
Käufer prüft Echtheit des Schein. |
Signatur mit öffentlichem Schüssel e prüfen |
4. Geldschein einlösen
Verkäufer sendet ihn an die Bank, die prüft, ob die Seriennummer
schon einmal vorgelegt wurde. Sie weist zurück oder erteilt
Gutschrift. |
Double Spending Test, eine Online-Prüfprozedur.
Die Seriennummer jeder Münze, die bei der Bank eingelöst wird, ist
in einer Datenbank vermerkt. |
|