The existing cryptocurrencies’ exchange systems are extremely tedious owing to their million steps that serve the same purpose. Even the smallest transactions are recorded on the blockchain that is not really needed. Lightning network provides the most efficient solution to this drawback by adding an extra layer to the blockchain. This layer permits users to carry out transactions between two parties outside the main chain. For example, John and James are roommates and best friends; they exchange money in a small amount and rather quickly. For them to carry out small transactions over the main blockchain is significantly time-consuming. Therefore, they set up a channel over the lightning network between them where they could execute their minor transactions.
To establish a transaction/payment channel, one has to create a multi-signature wallet. As the name suggests, multi-signature wallet could be accessed by two parties having private keys. Then, they would have to deposit their cryptocurrency assets into the wallet and start performing unlimited transactions between them. All of these transactions are basically the shifting of the assets within the wallet by exchanging ownership rights. The final and real allocation of funds occurs when the channel gets closed and the last owner of what has been signed on the balance sheet gets their share.
Lightning Network Architecture:
The lightning network architecture contains a root blockchain that is fastened to plasma blockchain bounded by a smart contract. It holds the balances for all the UTXO occupying plasma chain. Lightning protocol resides on the top of plasma chain allowing the users to send or receive tokens to/from anyone that exists on Plasma chain or root chain. The payment channel can exist between two parties even if they are on two different Plasma chains. It is designed to make the integration of Lightning implementations easy for Java developers. It contains simple to use APIs and converters between JSON and XML.
Implementations of Lightning network:
Lightning network was initially tested on Bitcoin Core by the end of 2017 and was adopted by Bitcoin as a layer 2 payment protocol. It operates over bitcoin cryptocurrency while enabling faster transactions and provides a reasonable solution to Bitcoin’s scalability problem.
While Bitcoin may be its first, it is not the only implementation. Below are the some of the major implementations of Lightning Network.
Lightning Network Daemon:
As of its information from Github, it is a complete implementation of the Lightning Network node and is now implemented in testnet3- Bitcoin Test Network. LND has several connectable back-end network services that include btcd (full node), bitcoind, and neutrino (new experimental light client). In its current form, it can create and close channels, fully manage all channel states, maintain a fully authentic and valid channel graph, path finding, update fee schedules and manage channels automatically.
Lightning network Installation Process
Lnd is written in Golang so to work with it, the system should have the support of Go 1.11. To install it on Mac OS X, use the following command:
brew install email@example.com
With the prerequisites completed, install lnd, lncli, and all related dependencies. For that purpose, run the following commands:
go get -d github.com/lightningnetwork/lnd
make && make install
To check whether, lnd was installed properly, run the following commands:
These are the developer tools available:
It provides a demo for a web interface for LND.
Light-weight LND Dashboard
A web client for LND.
This gateway plugin is available for WooCommerce stores to accept Lightning payments and is built on LND.
It is another implementation of lightning network in its early stages. It makes the usage of lightning network easier as it will give its users a simple web custodial wallet. This service will enable its users to manage Bitcoins faster and simpler. It will ensure micropayments and will give tips. Tippin.me is still in its beta phase. Currently, it allows to receive and cash out lightning payments though it has much more to come. In future, it will enable merchant integration and more wallet functionality. It is also accepting donations.
It uses lightning network to earn bitcoins by playing games and availing services. It has multiple games to choose from. Three card monte, Scratch and Win, LN hunt and Backgammon are the available games. Services that they offer are Receive SMS and MicroMine. Receive SMS is a service where users receive an SMS online with a temporary number. MicroMine is a bitcoin faucet for browser CPU Mining where users can mine through their browsers and earn.
Developed by Alex Bosworth, it is a test case for the Lightning Network. Y'alls is a forum for writing articles and stories that are published. Y’alls is something like Medium, a platform for reading and writing articles, where the trending stories are shown on the front page. It uses Ind and Go implementation of the lightning network protocol. It is still in early testing phase so it may have a lot of bugs and system based issues. It uses Bitcoin Core for chain-sync.
It is a lightning network based cryptocurrency exchange which exchanges top cryptos in seconds at a very low fee. It requires a lightning network enabled wallet as a prerequisite for exchange. They currently offer exchanges for BTC, ETH, LTC, DASH and BCH. Lightning network wallets used here have functionalities similar to other crypto wallets. The only difference is that it allows instant payments through lightning network.