Cashu is a new Chaumian Ecash system with Bitcoin Lightning capabilities. Very briefly summarized, Cashu a way to improve the privacy in Bitcoin custody by using Chaumian Ecash.
A classical custodial wallet provider (for example: Wallet of Satoshi) knows how much money you have and who you're transacting with. With Cashu, they don't.
The purpose of @CashuBTC is not only to be a simple-to-use wallet and mint that can be run by everyone (we're working on that right now) but to become a simple library that can be integrated into existing Bitcoin apps.
@calle Thank you for sharing this interesting work. Would you mind quickly summarizing the similarities and differences between cashu and fedimint? Are the tradeoffs mostly the same?
I think the two main differences are that Cashu is not a federated system and it has no on-chain support (yet?). To be clear, I freaking love Fedimint!
I haven't spent too much time thinking about tradeoffs but there is clearly an improved trust relationship with the mint if they are federated. On the other hand, a non-federated approach is a lot simpler to implement, which means that it should be a lot easier to add to existing Bitcoin applications.
The simplicity of Cashu (and the standardized client protocol we're currently working on) should enable other devs to build their own clients and thus make it actually useful.
$ cashu --help
Usage: cashu [OPTIONS] COMMAND [ARGS]...
Options:
-h, --host TEXT Mint address.
-w, --wallet TEXT Wallet to use.
--help Show this message and exit.
Commands:
mint Mint tokens.
balance See balance.
send Send tokens.
receive Receive tokens.
burn Burn spent tokens.
pending Show pending tokens.
pay Pay lightning invoice.
info Information about Cashu wallet.
I suppose that inbound and outbound liquidity is managed by lightning?, I mean, can issue like 100k sats and starts sending to others cashu accounts without dealing with liquidity?.
I think the two main differences are that Cashu is not a federated system and it has no on-chain support (yet?). To be clear, I freaking love Fedimint!
Not really, to be honest. This is a much simpler, bare bones (and proof of concept) system. At least for now. Also it doesn't even attempt to do the most difficult thing that Fedimint does: federations of mints with threshold signing.
If the goal is to decentralize all custodians, how are you going to replace accounts, usernames, passwords or even lightning logins? For example, here on SN we can login by multiple means but we have our accounts and a balance attached to them. If we were to operate with just chaumian tokens we would have to keep cryptographic material somewhere safe?
The above exception was the direct cause of the following exception:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "ON": syntax error
[SQL:
INSERT INTO dbversions (db, version) VALUES (?, ?)
ON CONFLICT (db) DO UPDATE SET version = ?
]
[parameters: ('wallet', 1, 1)]
(Background on this error at: http://sqlalche.me/e/13/e3q8)
If anyone wants 10 sat tokens, they can start a DM with me here (are DMs a thing here? I don't remember :) ). I will send you the token string and you can copy paste.
Don't tell the state. This is going to rock their socks off. I can practically hear them trying to explain this in senate hearings in like 2024 or 2025.
Quick tutorial
Install Cashu
Use Cashu
Try it
cashu receive <token>
. First come, first serve :)