LND, etc. are just daemons that run on top of bitcoind and interpret transactions.
For example, you could have lnd on a separate machine and connect it to your OG bitcoin node.
Sending to your lightning wallet means you requested an address via LND, which forwared that request to bitcoind. Essentially, all you did was use a different way to generate the address.
The same thing happens with channels.
Channels are a just special type of address. One or both parties fund a multisig address with a funding tx after agreeing on how the balance will be dispersed (the commitment tx). It's all still utxos on the blockchain, manipulated by bitcoind via lnd. You could do it all manually. LND just abstracts the functionaly into a daemon.
For receiving payments, think of like a combination of spider webs and abacuses. Beads are shifted from the sender to their neighbor in a path towards you. You are only ever receiving sats from your neighbors, but the payment could have originated from anywhere.
Excellent explanation! Thanks. I have used LND addresses but really never understood them conceptually.
reply
Just gonna clarify the difference between address and invoice.
Either LND or bitcoind can generate an address. Receiving payment via an address requires an onchain transaction.
The abucus and spiderweb analogy refers to receiving payment via an invoice.
Sorry for the confusion.
I definitely recommended chaincode labs gitbook if you would like to learn more.
reply