On-chain transactions

From lightningwiki.net
Revision as of 10:59, 31 January 2019 by 2a03:e600:100::13 (talk) (make layers links)
Jump to navigation Jump to search

This page lists and explains the transactions broadcast and processed by the Layer-1 blockchain . Currently Lightning implementations exist for the Bitcoin and Litecoin Layer-1 chains. But in the future Lightning implements might exist for many crypto currencies or blockchains. On-chain transactions refer to transactions permanently written to the Layer-1 blockchain (e.g. Bitcoin blockchain).

On-chain transactions are (much) slower than Lightning payments (payment transactions), since you have to wait for Bitcoin block confirmation. Payments on the Lightning Network are off-chain, i.e. they are not written to the Layer-1 blockchain.

To distinguish, operations on the Layer-1 blockchain are often referred to as transaction and operations on the Layer-2 Lightning Network as payments.

Note, there are also concepts like Cross-chain transactions and Side-chain transactions which are not discussed on this page.

Funding Transaction

The Funding Transaction creates the channel. During this stage, funds are sent into a multisig address controlled by both Alice and Bob, the counterparties to the channel. This address can be funded as a single-payer channel or by both Alice and Bob.

Commitment transaction

A transaction that spends the funding transaction. Each peer holds the other peer's signature for this transaction, so that each always has a commitment transaction that it can spend. After a new commitment transaction is negotiated, the old one is revoked.

Closing Transaction

The Closing Transaction closes the channel. When broadcast, the multisig address spends the funds back to Alice and Bob according to their agreed-upon channel amount.

A "Closing Transaction" is always the result of a Mutual close.

"Punishing" transaction

In the case where either party attempts to defraud the other, a third transaction, which punishes the attacker, will end up being broadcasted on-chain. Let’s investigate how this is possible by the way Lightning does channel updates.