161 / 736CASHU

Cashu

Digitales Bargeld mit einem bestimmten Herausgeber

Mit Cashu lässt sich digitales Bargeld etwa als Nachricht verschicken. Wer es empfängt, sollte wissen, wer es herausgegeben hat, wie die Annahme funktioniert und wie es sich wieder in Bitcoin tauschen lässt. Mehr Privatsphäre ersetzt nicht das Vertrauen in den Betreiber.

Cashu ist ein offenes Protokoll für e-cash: digitale Token einer Ausgabestelle, der Mint. Häufig stehen sie für Bitcoin-Beträge; Ein- und Auszahlungen können beispielsweise über Lightning Network erfolgen. Nutzer kontrollieren ihre Token, nicht die Bitcoin-Schlüssel der Mint, auf deren Mitwirkung sie weiterhin angewiesen sind.

Stellen wir uns vor, Anna schickt Petr einen Cashu-Token per privater Nachricht. Dabei sendet sie keine Bitcoin-Transaktion an die Blockchain. Sie übergibt Daten, die Petr bei der zuständigen Mint einlösen kann. Ein Token kann einen oder mehrere Nachweise (Proof) enthalten. Das sind Datensätze mit einem Betrag, einem geheimen Wert und einer Signatur der Mint sowie weiteren Angaben. Cashu ist ein gemeinsames Protokoll, kein einzelner Dienst mit gemeinsamer Reserve. Entscheidend sind Herausgeber, Währungseinheit und Signaturschlüsselsatz. Ein Betrag in sats bezeichnet kleine Bitcoin-Einheiten; dieselbe Zahl in einer anderen Einheit bedeutet etwas anderes. Token einer Mint gelten nicht automatisch bei einer anderen. Für technisch Interessierte: V4 verwendet das kompakte Binärformat CBOR und enthält Nachweise einer einzigen Mint. [1] [2] [9]

Anna kann eine Kopie eines gewöhnlichen Tokens ohne zusätzliche Ausgabebedingungen behalten. Deshalb braucht Petr einen Swap: Seine Wallet reicht die alten Nachweise bei der Mint ein und erhält neue mit Geheimnissen, die Anna nicht kennt. Die Mint macht die alten Eingaben ungültig. Erst dieser erfolgreiche Austausch verhindert, dass Anna dieselbe Kopie erneut ausgibt. Eine Statusabfrage reicht nicht. UNSPENT besagt, dass weder Bearbeitung noch Ausgabe verzeichnet ist; für Petr ist damit nichts reserviert. PENDING bedeutet laufende Bearbeitung, SPENT einen bereits eingelösten Nachweis. Veröffentlichen Sie einen Token deshalb nicht wie einen Zahlungsbeleg: Wer eine nutzbare Kopie erhält, kann beim Einlösen schneller sein. [3] [5]

Eine Blind Signature, eine blinde Signatur, trennt die Ausgabe eines Tokens von seiner späteren Verwendung. Die Wallet erzeugt ein Geheimnis, verbirgt dessen mathematische Darstellung und lässt sie von der Mint signieren. Anschließend entfernt sie diese Verblindung. Am eingelösten Token selbst soll die Mint die frühere Anfrage nicht wiedererkennen können. Verborgen ist damit nicht alles: Für verschiedene Stückelungen gibt es verschiedene Schlüssel, sodass die Mint die ausgegebenen Wertklassen kennt. Das Verfahren heißt BDHKE und verwendet die Kurve secp256k1. Um eine Zahlung zu verstehen, müssen Sie keine Kurvenpunkte berechnen; wichtig ist, welche Verbindung die Mathematik schützt. [1]

Die optionale Erweiterung NUT-12 ergänzt DLEQ: einen mathematischen Nachweis, dass zum Signieren derselbe private Schlüssel verwendet wurde, der zum öffentlichen Schlüssel der Mint gehört. Mit den erforderlichen Zusatzdaten kann Petr die Signatur ohne Kontakt zur Mint prüfen. Daraus erfährt er weder, ob eine andere Kopie schon ausgegeben wurde, noch ob der Dienst erreichbar oder seine Bitcoin-Reserve ausreichend ist. Liegt DLEQ bei, muss die Wallet den Nachweis laut Spezifikation prüfen. Das ersetzt trotzdem keinen abgeschlossenen Swap. Counterparty risk, das Risiko eines versagenden Betreibers, bleibt bestehen. [7]

Vielleicht möchte Petr eine Zahlungsanforderung im Lightning Network bezahlen, statt weitere Token zu halten. Dieser Tausch heißt Melt. Zunächst fragt die Wallet ein Angebot ab: benötigter Betrag und Einheit, Gültigkeitsdauer und eine mögliche Gebührenreserve. Hinzukommen können Eingabegebühren. Danach übergibt sie Nachweise, und die Mint führt die externe Zahlung aus. HTTP 200 bestätigt die erfolgreiche Bearbeitung einer Webanfrage, nicht zwingend die Zahlung. PENDING bedeutet weiterhin „in Bearbeitung“, PAID meldet Erfolg. Die Wallet muss das endgültige Ergebnis und gegebenenfalls den Nachweis der jeweiligen Zahlungsmethode verfolgen. [4]

Eine Mint kann ihren Signaturschlüsselsatz wechseln. active=false bedeutet, dass mit dem alten Satz keine neuen Token ausgegeben werden; allein dadurch werden alte Nachweise nicht als Eingaben unbrauchbar. Das optionale final_expiry ist etwas anderes: Nach diesem endgültigen Termin verpflichtet die Spezifikation die Mint nicht mehr zur Einlösung. Verwechseln Sie diese Fälle nicht. Auch input_fee_ppk ist eine Gebühr je Eingabe, nicht einfach ein Prozentsatz des Zahlbetrags. Die Sätze aller verwendeten Nachweise werden addiert und durch 1000 geteilt. Erst dann wird die Gebühr auf ganze Einheiten aufgerundet. Bei einem Schlüsselsatz in der Einheit sat ergeben beispielsweise 3 Eingaben zu je 100 ppk eine Summe von 300; nach dem Teilen und Aufrunden beträgt die Gebühr 1 sat. Gleich hohe Zahlungen können deshalb je nach Anzahl der Nachweise und Schlüsselsätzen unterschiedlich viel kosten. [2]

Eine blinde Signatur beseitigt weder Zahlungszeitpunkte und Beträge noch Verbindungsdaten. Schon die Anfrage nach neuen Stückelungen kann etwas verraten. NUT-03 empfiehlt, angeforderte Werte aufsteigend zu sortieren, damit ihre Reihenfolge nicht unnötig die Aufteilung in Zahlung und Wechselgeld offenlegt. Wiederholte Statusabfragen des Absenders können außerdem die Zuordnung zum Empfänger erleichtern. Cashu bietet Werkzeuge für einen privateren Geldumlauf. Daraus folgt nicht, dass jede Anwendung in jeder Situation alle Zusammenhänge verbirgt. [3] [5]

Die Wiederherstellung muss zur verwendeten Wallet und Mint passen. NUT-13 beschreibt, wie sich Token-Geheimnisse und Verblindungsfaktoren aus dem Seed, dem Ausgangsgeheimnis, sowie Schlüsselsatz und Zähler erneut ableiten lassen. Version 01 des Schlüsselsatzes nutzt HMAC-SHA256, die ältere 00 nutzt BIP32. Signaturen, die der Seed nicht erzeugen kann, liefert die Mint über NUT-09; anschließend ist der Ausgabestatus zu prüfen. „Ich habe eine Seed Phrase und kann überall alles wiederherstellen“ reicht daher nicht. Prüfen Sie Backup, Wiederherstellung und eine kleine Auszahlung, bevor Sie sich auf eine Wallet verlassen. Ein Backup macht eine verschwundene Mint weder erreichbar noch zahlungsfähig. [8] [6]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Fedimint, Chaumian eCash, Blind Signature, Lightning Network, Counterparty risk, Satoshi. Auf diesen Eintrag verweisen außerdem Chaumian eCash, Blind Signature, Fedimint, Fiduciary Media.

DOC · 001Cashu — NUT-00: Protocol and tokensSpezifikation DOC · 002Cashu — NUT-02: Keysets and feesSpezifikation DOC · 003Cashu — NUT-03: Swap tokensSpezifikation DOC · 004Cashu — NUT-05: Melting tokensSpezifikation DOC · 005Cashu — NUT-07: Token state checkSpezifikation DOC · 006Cashu — NUT-09: Restore signaturesSpezifikation DOC · 007Cashu — NUT-12: Offline signature validationSpezifikation DOC · 008Cashu — NUT-13: Deterministic secretsSpezifikation DOC · 009Cashu — Project introductionPrimärquelle
Überarbeitet: Quellenbasiert · Keine Anlageberatung