Mental model: an ecash mint with the purpose of processing payments for a specific service is an alternative to an accounting system.
The flow:
- user tops up balance (e.g. via Lightning)
- service provider (SP) issues ecash to user
- user pays ecash to SP for use of service
Imagine running an entire blockchain for a single application, a website, social network, VPN provider. That would enable interesting use cases but would be a huge waste of resources. With ecash, you can build these systems without blockchains. Lightweight, fast, and cheap.
That is why I'm advocating for businesses to explore these use cases as I see great potential in them, especially in the Bitcoin space. Not only does it guarantee privacy, but it's also easier and safer to build than to have user accounts, passwords, balances, transactions, etc.
Closed ecash systems also do not run into risk of being regulated as money transmission services for the same reason you don't have this issue when you use a BTCPayServer for selling a VPN, for example.
It's only the service provider who gets paid for its service.
I'll be focussing on these use cases as we're developing the Cashu protocol, which allows you to use ecash with Bitcoin.
The internet is as bad as it is partially because payments are so bad. Payments forced us to think in accounts and accounts forced us to be traceable.
"The internet is as bad as it is partially because payments are so bad. Payments forced us to think in accounts and accounts forced us to be traceable." 🎯💯
nostr:nevent1qqs2633022jztwc78qsqn5slwsn9j24sm07vkletjy4vsc7ypj7swtgpzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgq3q2rv5lskctqxxs2c8rf2zlzc7xx3qpvzs3w4etgemauy9thegr43sxpqqqqqqzjmkd82
All of what you are pushing and creating with ecash is so powerful as it’s just not worth the state even trying to censor which in turn means they are forced to accept privacy.
So then are you kind of living within the ecash systems you use? Meaning, the SP will be incentivizing staying within their garden?
Kagi needs this. Every web search today could be linked to the payment, they pinky promise it's not.
Should be a low hanging fruit as they already accept LN and are familiar with nostr.
In cybersecurity there’s the “zero trust” model. I wonder if collateralizing all network requests with eCash can be part of the model too?
https://www.keychat.io/
Keychat is a chat app, built on Bitcoin ecash, Nostr protocol and Signal protocol.
Keychat is inspired by the postal system — stamps, post offices, letters.
Keychat uses Bitcoin ecash as stamps and Nostr relays as post offices.
Keychat uses Signal protocol to ensure message encryption security and meta-data privacy
This looks very neat!!
We are pleased to find a very good 【prototype】; people can easily understand the postal system, which allows them to comprehend ecash as e-stamps, Nostr relays as post offices, and the necessity for messages themselves to be end-to-end encrypted. Messages need to continuously update the recipient and sender addresses.
you are Chinese developers? i feel I can read that in your English. who is backing you guys? very very nice and clean and sophisticated looking project.
Coming soon, not Comming Soon - on the website, for whoever is maintaining it
When you say ecash, do you mean Cashu? If so, I think we're on the right path. 🥜🫡
Yes, of course 😉
Legend. Looking forward to what you guys are working on.
Coming when ? Can you add an email subscribe to be notified when it’s out please
@Dan Are you building keychat? If so, I'd love to chat with you abot how you're implementing the Signal protocol. I have an open PR on the NIPs repo right now to bring Signal like double ratchest to Nostr.
https://github.com/nostr-protocol/nips/pull/1206
Hi Jeff. About message encryption, Nostrat fully reuses the Signal protocol (X3DH + double ratchet) and reuses libsignal.
First, let's return to the mechanism of the Signal app. The Signal app uses phone numbers as user IDs. When Alice downloads the Signal app and knows Bob's phone number, she adds Bob as a Signal friend by entering Bob's phone number in the Signal app. The Signal server then returns the following data associated with Bob's phone number:
Bob's identity key IKB,
Bob's signed prekey SPKB,
Bob's prekey signature Sig(IKB, Encode(SPKB)),
(Optionally) Bob's one-time prekey OPKB.
Alice then combines this with her own identity key IKA and her ephemeral key EKA to complete the X3DH operation, and then initiates the double ratchet algorithm to start encrypting messages. When Bob receives the message, he can also initiate the double ratchet to decrypt the message.
Let's now assume that Alice and Bob have both downloaded Keychat and want to communicate using it. Bob displays his QR code, which contains his Nostr key and Signal-related keys. Alice scans it. Alice can then complete the X3DH operation and start the double ratchet encryption. It can be said that Keychat, unlike Signal, does not use a server to pass the related Signal keys. Keychat treats the Nostr key as a phone number. If Alice only knows Bob’s Nostr key, she can send a special NIP4 message to retrieve Bob’s related Signal keys.
>>Keychat fully reuse signal protocol.
Sure that all makes sense. I just wrote NIP-104 basically codifying that into the spec. Just curious how your implementation is done. Is your code open source somewhere? Would love to have a look.
Have you looked into syncing on multiple devices yet?
Code will be released soon.
Keychat doesn’t support syncing on multiple devices. Every device has its own ID. And those devices can communicate through group chat.
It’s very hard to support syncing for double ratchet algorithm. More difficult in conditions there is no coordination server.
Since this is using Signal, will it require a central coordinator?
No, just need nostr relay as post office.
Encryption/decryption is processed on client.
One reason why pay with lightning never took off on the web is using sats denomination when everything is priced in $$. The cashu tokens should be of unit USD or Euro to make this possible..!
Could you elaborate on not having a risk to be regulated? Why do you think that is so?
Sorry to be so frank, but, why doesn't the BIS , regulators, etc follow their own fiat pronouncements and definitions that the legal tender of any country is by definition money/currency globally?!
cashuAeyJ0b2tlbiI6W3sibWludCI6Imh0dHBzOi8vbWludC5taW5pYml0cy5jYXNoL0JpdGNvaW4iLCJwcm9vZnMiOlt7ImlkIjoiMDA1MDA1NTBmMDQ5NDE0NiIsImFtb3VudCI6OCwic2VjcmV0IjoiTEVEYzN4OWpQNGpUVEZaSmMwMFBQY3dCYnJUaC9UNGJId0V6c1paZnNjMD0iLCJDIjoiMDNhYzQ0MDM0YmM4NjIxNzFkNDdiNTBiYTAyNzhjNzMyZDgyOTdiN2YwMTY3NTJhMTJhNzA2NzAzMGU5ZGQ4YTJkIn0seyJpZCI6IjAwNTAwNTUwZjA0OTQxNDYiLCJhbW91bnQiOjMyLCJzZWNyZXQiOiIyWS8wdGFINk5QRnc0eHdpclpsQWcrQUtvOU9CS3EyTE05a0ZCV1kyVmJNPSIsIkMiOiIwMjViYWE0ZTgwYmNhNzVmNzdlZGViZGU3Mzc4ZDQxYjMxNGRiZTc3ZTlkMjM4NzNkNzk0ZjFiZTRmNjMyYWQzNTYifSx7ImlkIjoiMDA1MDA1NTBmMDQ5NDE0NiIsImFtb3VudCI6NjQsInNlY3JldCI6ImNkV3ZZdkpRajdLZTJjcVJaRGpwSkxoWEhvSko4OXUxV2x5TVIxVEdCZnc9IiwiQyI6IjAzMGMyYzZjY2NiYTFiNWY0ZDIyNWQxMWRhNmQxMjAyZjk0NGY4ZmE5N2Y2YWExZjFmNjFmYjZmM2MwZDA4NmQ1OSJ9LHsiaWQiOiIwMDUwMDU1MGYwNDk0MTQ2IiwiYW1vdW50IjoxMjgsInNlY3JldCI6ImJPMVRmR05LQmF1SVZvT1FDdHdDZFBGZGlZVy91RmR4RWxYUmVoQXUxV2c9IiwiQyI6IjAyNDFiZDBmYjIwZWI4NmJmZjFiMjM5NTYxMzhlOWVlNDBjOTVmMzgwNGE5MTBlNjg3NDkxMDA2YWQ1MjhiMWIwYSJ9LHsiaWQiOiIwMDUwMDU1MGYwNDk0MTQ2IiwiYW1vdW50IjoyNTYsInNlY3JldCI6InVaSDBucmhnNStvcDEzaUZOUlNFbTA5RVBLZ0FmWTJ0YnZRZ0JHR3BmTlE9IiwiQyI6IjAzODdhMGQ2ZDg1ODk5NzkwMDA5YzVkNWY2NGVhZDM5YzI2Nzg0OTNjNTFhMDk2NzBmZDlhODFiOGE5YzhlMzk1MiJ9LHsiaWQiOiIwMDUwMDU1MGYwNDk0MTQ2IiwiYW1vdW50Ijo1MTIsInNlY3JldCI6IlpDZ0ZHM3VIUGZNZXVrcHdqK0NIRC9mNDJaUml2SER0L0ZhbDZWbW5IbWM9IiwiQyI6IjAyOTE1MjhmMmQ5YTBmMzkyOWJiMTE3NTdjNDU3OGY0ZWMxZTc4YTQ3YzcyNjUwOWY3ODFlNzE1YmQwY2VlZGI1NyJ9XX1dLCJtZW1vIjoiU2VudCB2aWEgZU51dHMuIn0
I think this should be the model for some (or even most) nostr relays. Relays are service providers, if you rely on them for reach, why not incentivize them for every post, and since you directly rely, ecash makes more sense
nostr:nevent1qqs2633022jztwc78qsqn5slwsn9j24sm07vkletjy4vsc7ypj7swtgpr3mhxue69uhhyetvv9ujumt4w35ku7thv9kxcet59e3k7mgzypgdjn7zmpvqc6ptqud9gtutrcc6yq9s2z96h9dr80hss4wl9qwkxqcyqqqqqqgfgl5fh
@calle 👁️⚡👁️ , is there currently a feasible easy way to build this kind of service-specific credit system without user accounts?
For example, if someone wanted to create a website with a credit system similar to a real-life arcade (user buys credits with money, and credits can only be used for the games within that arcade place), how could they get started?
Yo. Check this. `/mint` only. No `/melt`. Maybe `/swap`?
nostr:nevent1qqs2633022jztwc78qsqn5slwsn9j24sm07vkletjy4vsc7ypj7swtgpp4mhxue69uhkummn9ekx7mqzypgdjn7zmpvqc6ptqud9gtutrcc6yq9s2z96h9dr80hss4wl9qwkxqcyqqqqqqg4yc5ru
I think one difference is that credits on an account can't be traded for cash, but ecash can be.
Amazon vouchers and gift cards can also be traded for cash, but something something FBI! GET ON THE GROUND! or something.
I feel like even gift vouchers are going away like cash, and when as it does, its perception as a tool for criminals and the subsequent lack of empathy from the people lead to it becoming criminal.
Looking at this as a possibility for a meatspace project I'm working on