Bitcoin 101: Eltoo
This article will explain one of the most recent Lightning Network improvement proposals: Eltoo.
The LN-Penalty Protocol
The Lightning Network is made up of a network of payment channels that allow users to transact with one another without bogging down Bitcoin’s blockchain. What most don’t know is that every feature of the Lightning Network—payment channels, penalty transactions, watchtowers, etc.—are a stack of individual and interchangeable protocols. As the Lightning network evolves over time, improvements will be made to individual protocols, rather than in bulk.
The current version of Lightning Network runs on the oldest form of payment channel protocol, known as the LN-Penalty protocol. In this version, transactions may look something like this:
- Alice and Bob deposit funds into a channel and begin transacting with one another off-chain.
- When one or both of them are ready to close the channel, they broadcast the most recent channel balance to the Bitcoin blockchain.
- A final on-chain transaction occurs, marking the channel closed, and funds are distributed according to the channel balance broadcast.
But what if Bob gets brave and doesn’t broadcast the most recent channel balance, and instead attempts to broadcast an older, more favorable state?
As long as Alice notices Bob’s intent and then broadcasts the correct state (AKA the “Justice Transaction”), the LN-Penalty protocol will penalize Bob, causing him to forfeit his portion of the channel funds to Alice.
This penalty is often a sufficient deterrent to malicious actors, but there are two major issues:
- The Lightning Network is still a relatively new technology, so human error and software bugs aren’t an uncommon occurrence. Either of these may result in a premature channel closure with no malicious intent, enforcing a harsh penalty when uncalled for.
- The LN-Penalty protocol can make for an overly technical user experience when it comes to manual channel implementation and node maintenance. If we want to see mainstream adoption of Bitcoin and Lightning, friendlier user experiences are a must.
Eltoo solves for both of those issues with an interesting trick—removing the need for a penalty altogether.
Recall that in the LN-Penalty protocol, each channel state is at risk of being broadcast by a malicious actor. With Eltoo, each new channel state binds to its predecessor and invalidates the previous state.
You can think of each update to the channel state as a fresh coat of paint. It might have been red before, but an update to the channel balance paints it blue. A malicious actor can’t turn around and tell the blockchain that the current color is still red—the only option is blue. Each time users update the channel balance by transacting, the channel state is painted a new color.
In other words, a malicious actor can’t broadcast an old state because there isn’t one to broadcast. There is only the most recent validated state, leaving behind no incentive for malicious activity.
Eltoo’s implementation will require a modification in Bitcoin’s scripting language. This might be tough to justify for Eltoo alone, but the necessary update is likely already a package deal with Taproot and Schnorr.
Eltoo makes it easier for Lightning users to set up and maintain their nodes while decreasing the chances that a penalty is unintentionally enforced. It’s possible that future Lightning Network implementations allow users to choose between multiple types of channels. This would allow nodes to negotiate which type of channel they’d like to implement between one another while still routing funds in a consistent and reliable manner.
If you want to read a more detailed and technical explanation of how Eltoo would work, check out Blockstream's original article on the subject.