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.
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.