Join Nostr
2024-04-08 16:51:23 UTC
in reply to

Lorenzo on Nostr: Because in Lightning every payment is a smart contract that locks Bitcoin to someone ...

Because in Lightning every payment is a smart contract that locks Bitcoin to someone that can present a secret that hashes to some specific value.

If written in english the contract would be kinda like this:

"Pays X bitcoin to anyone that can present a secret that hashes to Y".

Therefore, when you are requesting a payment, you need to inform the payee what is the hash Y. This information changes to every payment and its sent in the invoice. That's why Lightning can't use a static address.

There are ways around this issue, such as LNURL and BOLT12. Under the hood, there's still invoices being communicated between nodes, but you don't see it.