Why do we need eCash? How is it better than lightning?
Discussion
Better privacy from custodians, offline sending
how does offline sending work, wouldn't that mean you could double spend?
Yes, yes it does
now, let me introduce you to this thing called LNURLw
you could sign one time LNURLw URLs offline, and when they come back offline, they can redeem them
even better, you can have arbitrary sized LNURLws, instead of being bound by the size of tokens in your wallet
and even better than that, once the withdrawal is complete, you get 100% self-custodial sats, and not an IoU
must be alien technology
I only ever tries LNURLw by playing around boltring/cards, from what I remember it was using the LN Bits stack.
I want to explore this more, especially using it with nfc cards and makerbits style projects. Where would you recommend I start my rabbit hole? aside from LN Bits what wallets/clients implement LNURLw ?
*purrrrr*
lnbits is insecure
I heard, so where else does a kitty go to know more?
they suffered a bad hack with their lightning hub awhile back, not sure if there are any more security holes... who knows. I wouldn't run a lightning hub unless it was written in haskell or rust
there were many
SQLi that did not get fixed for months, as they passed all JSON field named verbatim
I think this is still true today but if the node gets restarted or any form of network errors happen the payment will be considered failed
they did not account for hold invoices in eclair
they have not properly audited their access control code
and more
Yep you could double spend, could also mint tokens that aren't backed
But I can send you a token while you're offline, online is only needed for redemption
sender can double spend if recipient is offline
once recipient goes online, their ecash client communicates with mint, and seeks to 'melt' (redeem in otherwords) the ecash they recieved from sender whilst offline.
Try it out yourself with a second device and go offline before you scan the QR with the ecash.
Double-spend on yourself. It's fun.
Generally speaking there is a trust assumption you make as a user of ecash, when you connect to a mint for the first time as well as when recieving any ecash offline, that you have to accept. All you possess in your client/wallet is a blind signature proof that can be redeemed to a trusted mint for satoshis on Lightning.
If you are online this 'melt' process is quasi-instantenous and with a few taps you can validate the reception of those satoshis by paying an LN invoice to your personal wallet using the ecash client. The newly 'claimed' ecash from the untrusted sender (again just blind signatures) are redeemed to the mint and will fulfill the LN invoice after some routing and usual LN fees. If you have a channel already open between your wallet and the mint (because your trusted it and interacted with it in past) then it's lightning fast...
If you are offline and don't trust the person in front of you... then why connect to a random mint and accept ecash from them for your goods & service? That said if you can convince the sender to connect to your mint (you operate it, on-top of a LN node with liquidity) and have them pay an LN invoice to the mint, then send you the ecash from your own mint... well you could be fully offline and just pass them a URL or .onion to connect and pay the mint (you)... or just give them an onchain address and wait for 6 confs or get them to pay a LN invoice. ecash does not replace Bitcoin or Lightning in this scenario nor is it meant to.
...so yes, you can double spend within an ecash system but as a cat that has most literally spent days with strangers waiting 1+ hours for 6 onchain confirmations to 'be safe of a double spend' or chain reorg I find the ecash tradeoff of trust/risk much easier to grasp and deal with, especially when sending literally 1 satoshi to someone as a tip. The benefits of offline & tx-less sending of ecash which can (with trust assumptions) be redeemed to real-cold-hard sats can't be overlooked in future high-fee times, as well as allowing for a singular satoshi micro-payement systems to be possible. It is all about tradeoffs, and I don't think anyone sane should be trying to settle a 42 bitcorn tx with ecash, but I am going to zap 42 nuts to your nostr address right now for almost no fee.
hope my rant makes sense to you, the double spend potential is a known tradeoff within such systems for years. Who knows maybe some brilliant dev will solve it in future.
Matthew Green can explain the double spend problem in ecash system better than me
this video is from 2016
I tried reading the documentation on their website and I cannot for the life of me determine the significance or use case. But Iām a Neanderthal willing to learn š¤·āāļø
Because privacy is necessary for an open society.