An Explainer on the Different Implementations of the Lightning Network

There are three different implementations of the Lightning Network. So far two of them have already reached mainnet beta phase (lnd and Eclair), while the last one (c-lightning) is still at the pre-beta phase. Although this is a big step for Lightning technology adoption, it will take some time until the first user-friendly wallets and applications will be available on the mainnet.

There have been lots of news lately regarding the Lightning Network “going live” or coming into the beta phase. This is a very simplified description of what is actually happening and I want to briefly explain the current state of things in a simple way.

The Lightning Network is a so-called second layer protocol, operating on top of Bitcoin blockchain.

Like BitcoinCore, which is one of the existing implementations of the Bitcoin protocol, there are three implementations of the Lightning protocol: c-lightning , Eclair and LND. .

All three implementations are following the BOLT (Basis Of Lightning Technology) specifications standard, which ensures compatibility between the different implementations.

Of these three implementations, the first that recently reached the beta phase on the mainnet is LND. This is a software that is being built by a group including Elizabeth Stark and Laolu Osuntokun (roasbeef). Beta phase means, that the code for the mainnet version has been released on their Github page and the developers are confident that there are no critical bugs. It does not mean that the current version is user-friendly, guaranteed to be stable or free of bugs. Also note that the releases do not target the average user yet, it is still mostly for developers and people who are willing to read through long documentation files and source code, although there exist beginner-friendly step-by-step guides describing how to build a Lightning node from scratch.

The second lightning implementation to reach the Beta state is Eclair. Eclair offers a neat Android wallet on the testnet, which is the most user-friendly application that I’ve seen on Lightning yet. Make sure to check it out if you are interested to try Lightning but do not want to spend time typing command lines and fiddling with the source code.

The last implementation, c-lightning, is currently still in the pre-beta phase, but presumably will be in beta as well. The c-lightning team includes names like Christian Decker and Rusty Russel who is very active on the bitcoin and lightning dev mailing lists.

Apart from that, there are developers building their own versions of a lightning wallet, like Jack Mallers (Zap wallet, available for MacOs, Windows and Linux) or Anton Kumaigorodsky (Lightning Wallet for Android). Their wallets use one of the three implementations as the basis for their software. Zap is built on LND and Lightning Wallet uses the Eclair implementation.

As we can see, the Lightning Network is not a single, monolithic piece of software that you can just switch from testnet to mainnet, or from alpha to beta. It’s a constant work-in-progress with different groups of developers, and the releases (as well as adoption) will happen in a gradual process. As Jameson Lopp put it so eloquently:

Q: When will the Lightning Network be rolled out?

A: The rollout has already begun. This is an iterative distributed learning process; it’s unlikely there will be a single point in time at which we say LN is “deployed” because it will grow organically. Software is never finished.

Further reading:

Support us and the authors of this article by donating to the following address:

3GxzUup6RmUKX87rTV1Ka4ZcghDt2ABPyp

Comments powered by Talkyard.