Ich glaube einer Lösung nahe zu sein: Man könnte zusätzlich zum "Anyonecanspend" die einzige Bedingung stellen, eine geheime Zahl/Zeichenfolge ("secret") zu kennen - und den Hash dazu in der Transaktion unterbringen. D.h. auf dem Gutschein steht zusätzlich zur vollständigen Transaktion die geheime Zahl. Die kann der Kassenmitarbeiter dann gleich "einlösen".
Das ähnelt schon LN, da hast du recht. (Ich bin auch überzeugt, dass es diesen Contract schon irgendwie gibt - deshalb wundert es mich, dass es darauf basierend keine Bitcoin-Bargeld-Modelle gibt).
Das ist praktisch das LN in Form eines einseitigen Payment-Channels. Der Händler übergibt dir ein Rätsel, dessen Lösung nur er kennt: Das Urbild des Hashes. (Zumindest gibt es beim LN etwas das dem sehr ähnelt. Ich weiss nur nicht mehr in welche Richtung das ging.) Du erzeugst eine Transaktion mit der entsprechenden Bedingung und kannst dann per ausgedrucktem QR-Code bezahlen. Der Händler kann überprüfen ob der Wisch gedeckt ist und die Transaktion einlösen. Zusätzlich muss man natürlich mit jedem neuen Händler ein neues Rätsel austauschen. Und es gibt immer noch die Gefahr, dass man schnell das Geld wegtransferiert bevor des Händlers Transaktion in der Blockchain landet (ausser man macht einen Multisigvertrag mit dem Händler auf, aber das wäre dann wirklich das LN). Das wäre aber so ähnlich, wie wenn man im Laden bezahlt und dann dem Händler wieder das Geld aus der Hand reisst ...
Eigentlich geht es noch einfacher: Man erzeugt eine Transaktion von A nach B und übergibt dem Händler die Transaktion mit dem Privatekey für B. Man selbst kennt den Privatekey für A und B, der Händler nur für B. Diese Methode hat die gleichen Probleme wie obere, scheint mir aber praktikabler, da man nicht vom Rätsel des Händlers abhängt.
Aber wie Du schon schreibst, die 10 Minuten sind immer ein Problem, da der Händler sich immer erst dann sicher sein kann, dass der Wert ihm gehört, wenn die entsprechende Transaktion in der Blockchain landet.
Gut erklärt.
Diese "10 Minuten" Risiken existieren ( ich will Dir gar nicht widersprechen
) in der heutigen Welt ja auch:
- Lastschriften können zurückgezogen werden
- kontaktloses zahlen per NFC (keine Unterschrift oder PIN notwendig)
und etliche andere Beispiele:
- Tanken mit Firmentankkarte (aber nicht berechtigt)
- im Restaurant nicht Zahlungsfähig
Zahlungsverkehr im Alltag ist nunmal vertrauen, und zumindest verschlechtert man sich mit dem Bitcoin/LN nicht.
Zum "Bitcoin als Bardgeld"-Thema: wieso eigentlich nicht ganz einfach?
Es gibt einen Satoshi als Bargeld-Note, dieser hat den private key quasi "inne" und muss wie ein Rubbel-Los frei gemacht werden (ist aber nie nötig, außer man will die Note ungültig machen).
1 Satoshi hat somit immer 1 eigene "wallet" mit einem private key.
Zahle ich nun meinen BigMac mit einem Satoshi, wandert dieses Wallet in die Kasse des Restaurants, usw. Wie Bargeld eben.
Habe ich jetzt 50 Satoshi zuhause und will diese auf mein eigenes Wallet transferieren, muss ich die Felder frei "rubbeln" und kann über diese Private Keys den Satoshi bewegen.
Der Schein wäre nichts mehr Wert, da nachfolgende Besitzer sehen würden das auf den private Key zugegriffen wurde.
Das ganze kann man dann sicher noch mit QR-Codes oder/und Apps automatisieren, so das man nicht soviele "private keys" abtippen muss..