i look forward to the day when all zaps are nutzaps and i finally stop seeing lightning errors when zapping folks

Replies (67)

we can get rid of the special case for when there are no overlapping mints, and instead just use lightning if it’s the same mint it’ll immediately succeed so who cares also why do we need cashu now, we can just directly generate LN invoices oh wait
I don’t believe that Cashu should or can replace non-custodial Lightning at all. There are use cases in which Lightning just doesn’t work, Cashu can fill these gaps. Comparing this to shitcoins is ridiculous though.
jb55's avatar
jb55 _@jb55.com 7 months ago
i don’t see why its ridiculous. If it works on cashu but there is no liquidity from the cashu node to anywhere else on lightning, this is no different than a shitcoin. Its worse then a shitcoin, its just a token you can’t use for anything. Without the promise of eventually getting bitcoin out of the node via lightning, it’s just a valueless entry in a database.
Yes, that is correct. All of the above is true for any custodial system, no matter if Cashu, Lightning or On-Chain. From those three Cashu offers the best tradeoff imho. However the comparison you make is too simplistic. Cashu is custodial, there is some level in trust involved. The trust is not in the system, it is in the mint. You can move between mints or use many of them. You can use the mint of someone you know personally. There is a lot of nuance in this.
Self custody lightning is still hard for many. Until it gets easier, people will choose to use custodial lightning services, if you are going to use custodial lightning services you might as well do it privately with ecash.
Nope, they receive the untrusted ecash to their NIP-60 ecash wallet and swap it to a trusted mint or lightning wallet later, on their own time. This moves the error case from the sender to the recipient. It's just a better system for zaps.
Why should I as a recipient have to pay the fees for others’ zaps, because mints can set any fee they want I also as a recipient don’t want to show “zaps” that could be paper Bitcoin with no backing, thanks
You don't need final settlement to hard money on push micropayments. It's the wrong model. Ecash does this use case better than lightning. No amount of mental gymnastics can change this fact.
Yup. Micropayments can be cleared with ecash and eventually settled with Lightning. That’s exactly what I do with #nostr #safebox, though it’s invisible to the end user.
Most ordinary people only care about accessing their funds. They don’t care if it’s cash, bank accounts, or redeemable gold notes. That’s the experience I’m going after.
It would not matter. But you can't make lightning perfectly reliable. The system is simply too complex. Too many failure cases. And people want everyone to run their own node? Laughable. You're pushing in opposite directions at the same time. You can't win on all fronts. Maybe in a few decades lightning will be as reliable as ecash is today, but ecash will be so much farther ahead. Complexity is a drag on innovation. It puts a cap on how much you can achieve.
Check out cashu.me it's the easiest way to get started. DM me and I'll send you some ecash. Minibits is another amazing wallet.
jb55's avatar
jb55 _@jb55.com 7 months ago
micropayments of shit is still shit, its not real until its in a lightning channel you control you can go off and do your own shitcoin and claim its more reliable because its an entry in a database instead of real money, go for it.
"Why do I have to pay a fee on free money people gave me?" Do you ever listen to yourself? Don't like ecash? Don't use it! No one can make you. Stick with lightning zaps.
If people give me $1, and publicly show a zap saying they did, then I should not have to claim it in a process where I might end up $0. If the sender sees a lightning failure, it was going to fail anyway with nutzaps. But instead of pushing the problem down in the stack by making it harder to receive money, the problem could be addressed immediately.
If I can’t send sats now to someone, it won’t change the fact that they can’t receive it. Instead of trying to improve LN reliability, we are trying to hide the problem in ways that will harm recipient adoption. “The payment didn’t work” will become “the payment is stuck” “I paid a 20% fee for a payment” “I can’t get my own sats out” This is an abhorrent system multiple times worse than EMV
Your hatred blinds you. I collect ecash in a database and sweep it to lightning at my leisure. Take away the insults and this is literally the model you are describing. You don't need to sweep to lightning at time of payment. This puts failures on the sender. It's bad UX. And for what? 21 sats? Not worth it. Cashu is built on lightning. It is lightning with one extra layer. It's the best of both worlds.
stax's avatar
stax 7 months ago
Cashu me is the 🐐
There's a lot of different things in there, but you're right that eventual delivery is all we need for zaps, even if it ultimately fails. I think we can make Lightning better, but that's separate from "impedance matching" the protocols
jb55's avatar
jb55 _@jb55.com 7 months ago
hatred is a strong word, I just value truth. an entry in a database is not bitcoin. unless its an updated balance in a lightning channel its not real. ecash is just deferred liquidity errors. it doesn't solve the problem.
I’m confused about this debate, lightning is also not final on chain settlement. And most people are definitely not using lightning channels they control. Is it just higher on the spectrum of self custody but not all the way there?
jb55's avatar
jb55 _@jb55.com 7 months ago
lightning is final settlement. the argument of what "most people" use is subjective. we are talking about the properties of the technology. you can of course make the argument that cashu can support a larger number of users, but so can a sqlite database and visa. cashu is better payments tech than visa, it is not better payments tech than lightning (for non-custody and finality). The arguing past each other is just this tradeoff that some people are not willing to make. custodial solutions are a line in the sand for most bitcoiners. If its custodial its just not worth investing lots of engineering time into, unless its for small fun things like a persons first zaps. I am not completely against sqlite/tigerbeetle databases for that purpose, as long as its more of a demo account and can't be used for storing lots of sats. many of us old timey bitcoiners got into bitcoin specifically for the non-custodial properties. its not that surprising that we are not as excited about it as all the ecash hype people are on nostr.
jb55's avatar
jb55 _@jb55.com 7 months ago
also the idea that people all around the world will use your mint specifically to zap you just doesn’t make sense, they will have to swap *with lightning* from their mint to yours to pay you. How is this not the same problem. I feel like i have this argument every month on here and am taking crazy pills.
unknown's avatar
unknown 7 months ago
Feels like having to settle Venmo to my bank account so I can go pay someone through PayPal. Cringe.
it is the same problem, but people like it when it is wrapped away in a layer of abstraction they choose not to understand just like how running a query on an SQL DB feels more "performant" than making your own DB and indexing scheme
it being ruggable, IS the feature. by building it this way, people will 'receive' their token instantly with no failures. then the failures are pushed toward the future when they want to settle. then they learn about lightning and fees and if their mint was reputable or not later when it matters more to them. this is certainly more profitable for the node runners as they sweep the 'lost' balances, and for 'onboarding'. anyway, thats my steelman thanks for listening 😁
the biggest privacy and efficiency benefits of ecash come when you transact fully within the ecash system. you lose privacy and pay fees when you go to another layer, whether it's lightning or on-chain or something else how does it work in practice? mints will hold balances of other mint's ecash and settle up with each other at regular intervals via lightning. this is exactly how free banks operated in the 1800s before the state shut them all down user wallets can do the same thing. when one ecash user wants to pay another their wallets will collaborate in a privacy preserving way to find a common mint they both trust. if no common mint is found, then fall back to lightning and pay the lightning fee seriously, every bitcoiner should read up on free banking. these are not new problems. they've already been solved. we just need to rebuild those solutions in a new technical medium
correct Lightning is pretty close to on-chain bitcoin because you could, in theory, close your channel and get a UTXO with your lightning balance. But you have to pay on-chain fees, so it doesn't really work if your balance is too small. Can you convert a nickel into a gold coin? In theory, yes. In reality, no, because a nickel is nearly worthless. No one is going to bother self-custodying 5 cents worth of gold. Instead, you get a big jar and slowly fill it with pocket change. When it's full, convert to hard money. Same concept with ecash but the lightning channel is your jar. Same concept with lightning, but the UTXO is your jar.
Ecash is worth so much engineering effort! Not because it's custodial but because of the freedoms it enables. Arguing about who was a bitcoiner first is bad opsec and irrelevant. I agree with everything else in the above note. ☝️
just pointing out that it's pretty funny to say bitcoin is truth and db entries are falsehoods when bitcoin is literally a database ¯\_(ツ)_/¯
You mean fedimint? Yes, unequivocally better in terms of the security model. But federated custody is a really complex engineering problem. I think fedimint is how ecash scales to larger balances. I probably wouldn't deposit my paycheck into a cashu mint but I would use a fedimint. All in due time. :)
Lightning (for the sender) also has pretty good privacy from the external world, but without ecash, your service provider always knows it was you who initiated a payment. Similar for receiving on LN.
Yup. I built it, but it works a bit differently. Mints don’t know or care about other mints. Users have in their wallet ecash from different mints - they decide what to do. If they don’t trust a mint, they just swap from one mint to another, settled via lightning invoices. The mints don’t have a clue what’s going, except their own issuance and redemption.
the axiom's avatar
the axiom 7 months ago
sure it sounds great, but is anyone working on that? because as far as I know there is no interface for sending tokens from mint A to mint B and no wallet does that did you share your vision with the cashu stakeholders? are they working towards it?
Depends entirely on the use case no? Some use cases where it's ridiculous, and some use cases where it makes good sense. If you say it's silly to try and cook a steak in the microwave when it's a sunny day and you have a barbecue out on the deck then yeah, that is silly.
stax's avatar
stax 7 months ago
I was playing with safebox and fumbled 200 nuts somewhere, poof they've gone into the nut heaven 🥷at least with cashu me, you can find the token in history and send back to yourself. Calle has designed cashu me excellently the ux is top tier
Calle retweeted it so....yes? I don't think I'm the first one to have this idea. It's kind of a natural direction to go. But it's very early for ecash. Lots to build. Not sure where this falls in the priority list.
the axiom's avatar
the axiom 7 months ago
I don't get the impression that anyone is thinking along these lines, you're the first
This has been my experience. Stuff going to error and the money being frozen and unusable. And Lightning fees have been so cheap. With Lightning, you immediately find out if they got the money. Nutzaps are in some weird limbo.
Because it means they can collect zaps and zap, faster, during onboarding. That's what is driving this. They might hit a settlement wall, later on, but that's a later problem.
the nostr integration via NWC is nice tho, but plain old school lightning invoices are definitely more universal. a lot of idiots cast shade on lightning for its occasional payment failure, but the protocol keeps getting better. i did a lot of thinking about LN in 2023 and there is many strategies that can be used to improve reliability. AMP is just the beginning of ways that you can use it. the coolest thing is that the network graphs that you can create with lightning routing can have the shape of lightning. there is just some issues with allowing redundancy in paths so that they function as a first-to-destination overrides any backup paths thing. AMP allows you to make bigger payments, but it doesn't provide redundancy. making a variant of AMP that allows you to throw transactions across whichever path has the lowest resistance and ignoring any further transits that were backups would be huge. idk how progress is with that. it also would be a useful technique for anonymised messaging protocols as well, i did a lot of work designing this, so that messages can fail on some paths but succeed on one out of 2 or more and it's twice as reliable. that potential for encountering a "resistance" point in the path is why it happens sometimes lightning fails. the client defines the path, and that path is encoded in the invoices. for keysend and AMP, this path is created by the sender. sender-side source routing is notoriously poor at reliability, just search for stuff about source routing on wikipedia and other places to see what i mean. the source routing is essential to sender anonymity, which is the same principle used for lightning payment routing.