Introducing Lit — Lightweight Lightning Network Software

The Lightning Network was first announced in a talk in 2015, and has gone from idea, to paper, to multiple in-progress implementations, transforming significantly along the way. The software we have been working on here at the MIT Digital Currency Initiative, lit, isn’t yet reliable enough to move real money around safely, but it is at a state where it can be fun and informative to try it out with test networks to get a feel for what it can do.

The initial motivation behind Lightning Network was scalability — blockchains, in general, don’t scale well, and LN was developed as a way to scale up transactions while maintaining the security of the underlying blockchain. However, there are many other use cases. Some of the first enthusiastic responses to the design were that it removes the 10+ minute wait for transactions to be confirmed. I had never used Bitcoin in a situation where the block delay had been a problem, and hadn’t really thought of the fact that transactions within a lightning channel were faster than on-chain transactions. This is what’s most exciting to me about building new software and systems: that the systems will be used for things we never thought of when originally designing them. Another feature which we only later recognized the importance of was that the channels building the Lightning Network don’t all need to be on the same blockchain; they can be on any chain as long as they support some similar functionality.

With altcoins now activating segregated witness, there are multiple test networks to try out. Lit can simultaneously connect to multiple networks, and create independent channels on each. This is a step towards being able to exchange coins without centralized exchanges, by directly connecting to peers on the network. This is the next main feature in development and we hope to add it soon.

Lit differs from some of the other Lightning Network implementations: it has its own wallet software and doesn’t require a full node, making it easier to run. While running a full node provides the best security and privacy, and lit can connect to a local full node, the resource costs of setting up a full node can be too high for some use cases. This especially applies to testing a new system with fake money — who wants to download gigabytes of data just for testing? Further releases of lit will give users different options to connect to the blockchain.

Today, lit operates concurrently on multiple blockchains: Bitcoin’s testnet3 and Litecoin’s testnet4. It also can connect to local regtest networks for faster testing. It uses the recently submitted BIP 173 address format for native segwit addresses while also supporting non-segwit base58 addresses.

We encourage people to try out lit, make channels, and see how it works. The code is still under construction and new features are being added all the time. There is lots of work needed to strengthen the wallet and channel capabilities, and open-source contributions are welcomed. If you’d like to get in touch, we’re on the IRC channel #lit on freenode.net, or you can post to github issues. There are currently several people actively working on the software, and we want to thank everyone who has contributed!

Have fun trying out the Lightning Network! It’s lit.

Check out the source code at https://github.com/mit-dci/lit

Download binaries from https://github.com/mit-dci/lit/releases/tag/0.1

Check out the readme https://github.com/mit-dci/lit/blob/master/README.md

and walkthrough https://github.com/mit-dci/lit/blob/master/WALKTHROUGH.md