Lightning Network Details - Discussion

Welcome to the discussion thread about this lecture section. Here you can feel free to discuss the topic at hand and ask questions.

1 Like

@filip Will the txn be automatically updated or broadcasted on the blockchain as soon as both the people sign a transaction?

@filip What did you mean by ‘direct onchain txn occurs in collaborative close’?

It depends on the scenario. If you’re talking about the transactions being signed when payments are made IN the channel, then no. They are not broadcasted, since they are not intended to be written to the blockchain. But if they close a channel, then the TX need to be broadcasted.

Was this from a quiz? Or where is this from? I need to know the context.

Hey Filip, loving the course!

Just a couple of details I think might be off in the video about “Breach Remedy Transactions”. The breach remedy tx is spending from the commitment tx, and only one signature is required to spend from the commitment tx. It’s not spending directly from the funding tx, so it doesn’t need two signatures.

Also, I believe the secret is shared as part of the revocation process, rather than the secret being revealed in the commitment tx. For routed HTLC payments, the secret is revealed if the HTLC is claimed, but that’s a different process to revoking old commitment txs.

Thank you for pointing it out! I think that’s correct, yes. If I remember correctly. It’s hard sometimes to find the right level of simplification when making the videos, and sometimes I get things wrong when I record. I hope that the concept came across though.

To all of you that want some more detailed info on this can read up on it here: https://bitcoin.stackexchange.com/questions/56764/how-does-lightning-transaction-revocation-work

@filip Is it possible to close a lightning channel (on the new block being mined, before its propagated throughout the entire network) and then spend my balance on the lightning network. I am assuming that the channel validity is asserted by the full node running on a gateway.

@filip

I wanted to understand something, If 2 people establish a channel and A sends transaction to B using the channel, can B withdraw some of it …What are good practical uses 2 people can use this channel for, I am thinking it would not work for paying regular salary this way because in order to withdraw you would have to close the channel, correct?

You can’t do it atm. The feature is called splicing (out) but its not implemented yet.

But the idea of Lightning is that once you open a channel you want to keep it open as long as possible. So for example if you receive your salary on lightning you might want to keep it there to pay for groceries instead of closing the channel and continue paying on chain because it would be much more expensive.

Lightning is not really fully implemented but one awesome usecase I’m excited for are spontaneous payments which would allow to pay someone without an invoice. This would allow users to stream money, so for example you would be able to receive your salary by seconds, while you work. :slight_smile:

2 Likes

Hi there, I have a very basic question: If two multisig Tx are created when creating the channel, with 1BTC each, what stops Bob and Alice simultaneously agreeing to sign both Tx, that way they only put 1 BTC and they receive 2 BTC each. I know that there must be a mechanism to stop that, but I would like you guys to point me in the right direction.

Thanks

1 Like

Sorry I must have missed your question.

This is not the case. Multisig basically means that multiple parties must sign the tx for the UTXO to be released. In case of lightning a 2-2 multisig - meaning two out of two parties must sign the transaction in order to be able to spend the UTXO. :slight_smile:

@Alko89 yes! exactly, BUT in the lessons, filip mentioned that for creating the channel Bob an Alice each one contributes 1 BTC to create TWO multisig Tx (2 of 2 each) … after that, each one signs only one Tx. So what if Bob and Alice know each other, and they decide to sign both of the pending Tx at the same time, that way 2 UTXO’s should be released and that way they can double their original BTC. Do you get my point?

Its not really that two UTXOs get released, the UTXO is just one. But requires a signature of both to get spent. So you can’t really double spend it.
The transaction they create for the channel is not pending, both construct a transaction but don’t propagate it anywhere until they decide to close the channel. At that point both sign the tx with the UTXO.
So they can’t create a new UTXO out of nothing, they just spend the one they created when they opened the channel. :slight_smile:

Sorry for being a pain, I tend not to understand Blockchain concepts properly unless I see the underlying code behind the concept. Please does anyone know where I can go to find code-snippets related to various Blockchain concepts? Thanks very much for your supports in advance.

Lightning is not in the Bitcoin repo but is its own project. The reference implementation would be the c-lightning project.

https://github.com/ElementsProject/lightning

Thank you very much Alko89, this information is going to be very helpful.

I just took the quiz in the Lightning Network Details section and I’m confused about a question.

What stops someone from broadcasting an old commitment transaction?
Your Answer
The BRTX can be broadcasted before the commitment transaction is included in the blockchain.
Correct Answer
The BRTX can be broadcasted afterwards and spend the same UTXO.

So my answer is wrong? The commitment transaction is added to the blockchain before the BRTX?
How is it possible for the BRTX to take the UTXO if the commitment transaction is already added to the blockchain?

The UTXO is not yet included in a blockchain because its in a timelocked tx and BRTX (which is broadcasted adfter) spends the UTXO at once invalidating the original tx because was not yet confirmed. :slight_smile:

1 Like

Hey all,

Just curious…where are the TX’s that each party creates that are not valid nor broadcasted stored? Is it on their wallets? Is it on a node?

Thanks!