uPay: Bargeldloses Bezahlen im Club

Das System basiert auf einzelnen Tokens, die einen bestimmten Wert haben. Ein Geraet (fnordload) gibt gegen Bargeld solche Tokens auf USB-Sticks aus.

Ein Token besteht aus einer Zufallszahl, dem Wert und dem Erzeugungsdatum. Ein Hash jedes Tokens steht in einer zentralen Datenbank. Ein guelltiges Token stellt einen Schuldschein gegenueber dem fnordload dar.

Werden die Tokens an den dafuer vorgesehenen Stellen (Matemat, RepRap, …) verwendet werden sie in der (zentralen) Datenbank als benutzt markiert und ein neues Token generiert. Dieses Token wird vom Empfaenger (Matemat) gespeichert und einbehalten.

In einer Datenbank werden die Hashes der ausgegeben Tokens (SHA-512) sowie das Ausstelldatum gespeichert und bei Verwendung als benutzt markiert. Die Datenbank enthaelt so keine Informationen, die zu einen Diebstahl von Tokens ausreichen. Aus Transparenzgruenden wird sie taeglich veroeffentlicht.

Die Tokens werden per USB-Stick vom Matesuechtigen an das System herangetragen. Das System sucht dann nach einer “purse” Datei auf den Partitionen. Die erste gefundene Datei wird verwendet und die darin enthaltenen Tokens per API auf Guelltigkeit geprueft.

Die API laeuft auf dem selben Server, der auch die Datenbank betreibt. Die API hasht die Tokens und vergleicht sie mit den in der Postgresql Datenbank gespeicherten Hashs. Waehlt der Suechtige ein Getraenk werden entsprechend viele Tokens in der Datenbank invalidiert und in neue Tokens umgewandelt. Diese Tokens werden dem Matematen von der API zurueckgegeben Siehe den Punkt API weiter unten.

  • upay/start.txt
  • Last modified: 2021/04/18 12:35
  • by 127.0.0.1