Replying to nitesh

Zaps are broken. There is a vulnerability/bug (depending on how you see it) where you could show off on social media that you zapped someone but you could just pay yourself.

Here’s how to reproduce it:

When you click zap, an invoice is fetched from a URL that looks like this

- https://stacker.news/api/lnurlp/02fbae2cc5/pay?SOMECRAP

- Replace 02fbae2cc5 with your own user ID and fetch the invoice and pay it, so you pay yourself. Check the post you’re trying to Zap, it will get updated saying you zapped them. LOL

https://snort.social/e/note1sxedhg4r6tyjamdtr7txzxda5e24tkfxh9amgxs5cpccw3e0v9vs36vfxq

This is an example post, Only one of my zap is real, 2 more I just paid myself.

#[0] found this out.

The correct way to fix this is to have NIP-57 dedicated providers that discriminate the receiver of the zap from the "p" tag in the zap request event itself.

All these zap providers need is a URL, static for everybody. And they can even begin accepting zaps on behalf of people before users actually go there and sign up with their Nostr key to withdraw. They can also just forward the zaps to users' lud06/lud16 addresses as soon as they are received.

Reply to this note

Please Login to reply.

Discussion

How would that stop secondary accounts from sending to their primary ones? That would also force more centralization no?

You can't prevent that, but it is irrelevant. We should not care about zap counts, but we should care about having a public registry of a received zap that matches an actual payment, because that is necessary to make zaps useful for things other than tipping.

Zaps evolving from tipping to being used for non tip related things (advertising, help, impromptu jobs) is the next step. And I can’t wait 🤙💜

Agreed w/ #[5] ~ most people I know are fiat-reliant. They don’t know what a lightning wallet is, let alone a zap. My friends alone are just now investing in crypto.

People gotta learn how to crawl before they can think about walking. 🤙🏼

Ln payment is separate from registering of zaps in a Nostr note. The hand off process as you noted can be manipulated and one way to get around that would be to natively implement wallets in each of the clients like Damus and Nostrgram. There by avoiding Centralized NIP-57 verifiers. If we go NIP-57 verification route then in the future they want fees to support. Crypto is already full of middlemen trying to get paid for a function.

Words of wisdom.

There is no way to ensure a zap matches an actual payment.

At best, it can loosely represent a payment if both sender and receiver are honest. But then, they might as well use a more private payment method, like LNURL.

I suppose the best scenario zaps can aim for is an honest receiver + a fixed enough zap protocol, such that senders cannot fake it. Then build on top.

But IMO that comes with so much downside (centralization, newbies seeing zaps as LN standard, newbies being scammed by receivers who fake their zap counters, etc) that its not worth it.

Ok

Begin accepting zaps on behalf of people before they actually register?

Sounds very much like:

fraud: noun

1. A deception practiced in order to induce another to give up possession of property or surrender a right.

Don't be stupid. The person would have to announce the provider URL in their Nostr profile.

True, then it should be fine

Still find that part shady for a bunch of reasons:

- What happens if the user changes providers, without having registered or withdrawn the accumulated zaps from the first provider? Are they lost? Will 1st provider allow user to register and witthdraw, now that his profile shows a different provider? If yes, sounds like manual step.

- When user changes providers, should the 1st provider still continue accepting zaps, even though user profile stops pointing to it? (Other users whose clients didnt get the latest profile changes may still see the old link in profile)