Preliminary, Simplified Implementation of Bitcoin Lightning Network Released
Lightning networks are considered a promising innovation in the Bitcoin space, which would make the Bitcoin system much more scalable and able to process transactions at a high rate and low cost, and are suitable as an alternative to existing payment networks.
In February, developers Joseph Poon and Thaddeus Dryja proposed a decentralized Bitcoin Lightning Network where related transactions can take place instantly on “micropayment channels” off-chain, and only the final settlement is processed by the blockchain. According to the authors, lightning networks would enable Bitcoin scalability, efficient micropayments, and near-instant transactions. The Lightning Network white paper, a work in progress, has recently been updated.
“The payment network Visa has achieved 47,000 peak transactions per second on its network during the 2013 holidays, and averages hundreds of millions per day,” note the developers in the white paper. “Currently, Bitcoin supports less than 7 transactions per second with a 1 megabyte block limit.”
It seems evident that as long as the transaction rate supported by the Bitcoin network remains that low Bitcoin won’t be able to achieve the global reach of existing payment networks like Visa. That’s the main reason for the current – and heated – discussions about raising the block size. In a recent interview with MIT Technology Review, Bitcoin Core developer Gavin Andresen warned that the Bitcoin network might soon become oversaturated, and people might just stop using Bitcoin because transactions would become either unreliable or expensive.
“Looking at the transaction volume on the Bitcoin network, we need to address it within the next four or five months,” said Andresen. “As we get closer and closer to the limit, bad things start to happen. Networks close to capacity get congested and unreliable. If you want reliability, you’ll have to start paying higher and higher fees on transactions, and there will be a point where fees get high enough that people stop using Bitcoin.”
That’s what prompted Andresen to launch the Bitcoin XT alternative to Bitcoin Core, with 8 megabyte blocks, which is polarizing the Bitcoin community and could result in a “BItcoin civil war.” But lightning networks could achieve the same scalability and sustainability without requiring dramatic modifications to Bitcoin Core.
“With a network of instantly confirmed micropayment channels whose payments are encumbered by timelocks and hashlock outputs, Bitcoin can scale to billions of users,” note the developers in the white paper. In a presentation at the SF Bitcoin Devs Seminar, Poon and Dryja argued that lightning networks could make Bitcoin capable of processing billions of transactions per day and handling the volume of all global electronic payments on a single blockchain without custodial risk of theft.
The implementation of lightning networks would require appropriate tweaks to Bitcoin core. A soft fork, described in Appendix A of the white paper, has been proposed to enable near-infinite scalability. “To mitigate malleability, it is necessary to make a soft-fork change to bitcoin,” note Poon and Dryja. “Older clients would still work, but miners would need to update. Bitcoin has had several soft forks in the past, including pay-to-script-hash (P2SH).”
Implementing the malleability soft fork will take time, but in the meantime developers are beginning to build stand-alone implementations of lightning networks for development and testing. In May, Blockstream hired developer Rusty Russell to work on lightning networks.
“[W]e can have a network of arbitrarily complicated transactions, such that they aren’t on the blockchain (and thus are fast, cheap and extremely scalable), but at every point are ready to be dropped onto the blockchain for resolution if there’s a problem,” said Russell. “This is genuinely revolutionary.”
In August, developer Mats Jerratsch launched a preliminary, simplified lightning network implementation dubbed “Thunder Network.” Jerratsch’s implementation, written in Java and available as open source code on Github, is less watertight than the full Lightning Network proposal, but doesn’t require a fork and can be used now as it is.
“The initial proposal of the lightning network required some new features, that required at least a [soft fork], pushing any real implementation many months or even years into the future,” notes Jerratsch. “I, therefore, changed the channel design of the initial paper such that it can be implemented with the tools currently available in bitcoin. While such a channel does no longer work in a completely trustless manner, it is a good trade-off to start implementing LN. Most importantly, it allows deployment of software using something similar to the future LN implementations for now.”
“I think there is a lot to be done, before LN (or similar) is even remotely useful,” said Jerratsch in a Reddit discussion. “My main goal is to start the process of implementing these changes, such that we may experience LN anywhere soon.” Jerratsch added that lightning networks won’t arrive in time to make any difference in the block size debate.