Adoption and developments of Bitcoin’s second layer scaling solution Lightning Network are growing at the rate of light.
Every day we see new implementations on the bitcoin lightning network that makes things more easy, fast, and secure.
So this time developers come with a new protocol named ELTOO that possibly enhanced the working of payment channels on the lightning network.
Basically, the Eltoo protocol reduced the number of interactions of LN payment channels with on-chain blockchain in order to make the lightning network faster and more efficient.
Now we discuss the following topics in this article:
- What is eltoo
- why eltoo
- how eltoo works
So let’s begin the concept of the eltoo protocol of bitcoin lightning network and let us see how lightning channels are got benefits by using this eltoo technology.
1 What is Eltoo?
The eltoo protocol whitepaper was first proposed by Blockstream developer Christian Decker, Rusty Russell, and Lightning Labs developer Olaoluwa Osuntokun on 30 April 2018.
Blockstream research developer Christian Decker also published an article on eltoo to describe the working of the eltoo protocol in a simple way on the blockstream blog on 30 April 2019.
We’re excited to announce #eltoo: a more secure, reliable, flexible, and penalty-free update mechanism for #Lightning and multi-party off-chain contracts!⚡️📡https://t.co/cVLvjEjMsZ #LightningNetwork #Bitcoin #LApps pic.twitter.com/WKe3g50juY— Blockstream (@Blockstream) April 30, 2018
In this work we have introduced eltoo, a simple, yet powerful, renegotiation and invalidation mechanism for off-chain protocols and smart contracts. Eltoo is much simpler to implement and easier to analyze than previous protocols, can be easily extended to any number of participants and has a very small footprint.
The modifications required to the Bitcoin protocol to support eltoo are minimal and thanks to the recent deployment of segwit can be deployed easily.– Christian Decker, Rusty Russell, and Olaoluwa Osuntokun
In simple words, eltoo is an off-chain update mechanism in the lightning network to renegotiate a new state by ensuring that the old state can not be settled on-chain.
Eltoo is presented as a novel protocol to update a negotiated contract state, that invalidates any previous state, making them unenforceable.
Basically, eltoo introduces the concept of state numbers which is similar to the sequence numbers (nSequence number based replacements) but enforceable: by allowing a later state to respend the any of the previous states the on-chain settlement is delayed until the last settlement transaction is confirmed.
In order to enable a later state to respend the any of the previous states, the concept of floating transactions was introduced, where transactions that can be bound to any previous transaction with matching scripts.
2 Why Eltoo?
The Eltoo protocol was developed in order to overcome the current punishment functionality of Lightning Network.
Sometimes the one-party submit the lightning network transaction with past channel state information as a current state on the on-chain blockchain and this occurred most of the time by some bug or wallet mistakes.
So the lightning protocol protects users from a fraudulent attempt by scammers in order to bog down the network with false transaction information.
So the punishment structure is designed in order to stop this type of malicious activity by a malicious party and that malicious party results in losing all funds to the other honest party.
But this protection becomes a big problem for users when this occurred by accident through some bug or by wallet mistakes then honest users also lose their funds due to punishment.
This type of problems mainly occurred because lightning network still in the early stages and need a lot of developments.
Check the following reports that show the users losing their funds due to this punishment problem of the lightning network.
TrustNodes Media Report – Lightning Network User Loses Funds
So, who was first to lose money on #LightningNetwork #bitcoin mainnet? My channel was 496811:2089:1 (https://t.co/y9crxdA4Um) but #clightning bug failed to recognize own close tx. @Snyke @roasbeef @acinq_co ?— TheRustyTwit (@rusty_twit) January 15, 2018
Lightning DOSers seem organized and motivated, developing specialized software to attack the Beta LND nodes. Node hardening is in progress! We’re getting a good opportunity to develop robust p2p deployment strategies. @juscamarena just saw a live test of the penalty scenario. pic.twitter.com/C0ARD1wj5b— Alex Bosworth ☇ (@alexbosworth) March 26, 2018
Eltoo protocol is designed to solve this issue of punishment structure completely by offering a new way of updating the transaction of lightning network payment channels where transactions that can be bound to any previous transaction with matching scripts and no need to verify old transactions every time, and it also increases the efficiency of the lightning network by making it a bit faster and more secure.
3 How Eltoo Works?
In the eltoo protocol, every state of the LN channel contains the set of two transactions in which one is the update transaction and another is settlement transaction.
The update transaction contains the instructions to spend the output of the contract and then to create a new output for the contract when needed.
On the other hand, the settlement transaction’s main function is to spend the newly created update output of the update transaction and divide the funds as per the agreed-upon distribution.
The outputs of these transactions contain the script that immediately enables the newly updated transaction to be combined with the output or otherwise it attached the settlement transaction after a configurational timeout by default.
A new update transaction is only created when both of the parties sign the agreement before the timeout of the transaction expired.
So this makes eltoo easy to invalidate the spending of the previous output and double-spending of the corresponding settlement in the contract.
Basically, the Eltoo protocol directly connects the final update transaction to the contract creation that makes it possible for eltoo to skip the intermediate updates in the chain of update transactions.
In order to make this short-circuiting of update transactions the Eltoo protocol used a new
SIGHASH_NOINPUT that enables the input of a transaction to be bound to any output of the transaction with a matching script.
So this makes a possible way in which it becomes possible to bind a later update transaction to any prior update transaction by skipping any number of intermediate update transactions as all output scripts of prior update-transaction outputs match later input scripts.
Some Important Links On Eltoo
Whitepaper – click here
Blockstream Guide – click here
Youtube Guide ( Andreas Antonopoulos ) – click here
Christian Decker video presentation – click here