Blockchain was created as a secure and transparent money transfer platform. It has evolved into a technology that provides much more than just transactions over time. It has evolved into a platform for developing market-critical solutions such as decentralised supply chain apps, banking services, and so on.
Even if blockchain technology isn't flawless, it can help to speed up transactions through scalability.
The Problem of Scalability
Cryptocurrency, which has been a success since its inception, exploded in popularity in 2017. With the addition of the advantages that blockchain provides to organisations, more users began to join, and its drawbacks became more apparent. Users on the two most popular networks, Bitcoin and Ethereum, can store data in blocks that are restricted to 1MB (on Bitcoin) and the gas fee (on Ethereum). Another noteworthy distinction is the frequency with which blocks are executed. On Ethereum, the number of transactions per second averages between ten and thirty per second, whereas Bitcoin enables one block every ten minutes.
The crypto community is still grappling with the low bandwidth of both networks.
Will Work Increase Due to Capacity?
Increasing a block's capacity is not a novel concept, and three years have been spent debating block increases of 2, 4, and even 8MB. As a result, soft and hard splits such as Bitcoin Cash, SegWit, and SegWit2x emerged.
Hard Fork vs. Soft Fork
Let's sort out the algorithm of soft and hard forks to get a basic knowledge of the recent situation in the blockchain community.
Nodes have software that they update on a regular basis. When a user uploads a block that contradicts the platform's characteristics or does not refer to the network's existing consensus (in the event of hard forks), the nodes that have updated to the new version verify the new block automatically. This indicates that the block contains new qualities that preceding blocks lacked. The nodes who did not update or declined the new software version, on the other hand, are isolated from the new network (hard fork) and continue to work on the prior version.
Bitcoin Cash, which split from the Bitcoin network on August 1, 2017, is the most well-known example of a hard fork.
Soft forks, unlike hard forks, do not result in network forks. When a soft fork happens, it indicates that the preceding blocks' properties do not exist in the subsequent blocks. Furthermore, previous transactions do not conflict with the new ones. Simply said, those who accept the new block update their software, while those who do not do so do not. This does not, however, imply that a new network will emerge.
Bitcoin Cash (BCH) is a cryptocurrency.The number of users complaining about transaction time surged in May 2017, prompting an uncompromising demand to speed up the network.
BitcoinCash was one of the first and most popular hard forks of Bitcoin, with the goal of increasing the block size from one to eight megabytes. This approach meant that the network's transaction delay and excessive fees were no longer an issue. Even with the decline in transaction fees, the community of miners actively supported the solution due to the growth that became possible due to the increase in total block commission. Developers, on the other hand, were opposed to BitcoinCash's implementation because 1MB deregulation leads to increased demand for processing capacity. This has a fatal effect on small enterprises, causing them to leave the network.
Although BitcoinCash is touted to be speedier than Bitcoin, there is still the question of stability. Furthermore, because small firms cannot afford to use BitcoinCash, it goes against the core blockchain function of decentralisation.
Over the last few years, talks concerning scalability challenges and solutions have become a source of concern for the Bitcoin community.
Segregated Witness generated news across most of the crypto media in 2017. It had two options on the table:
SegWit is a Segregated Witness soft fork that aims to minimise the amount of transactions in a block by shifting the signature to the end of the transaction code, resulting in a considerable increase in network speed.
The goal of SegWit was to address the issue of transaction malleability, which enables for minor changes in transaction data to result in a unique ID change. Furthermore, the entities conducting the transactions had no way of knowing if their transaction's ID would remain the same once it had been verified and mined.
The approach allowed the block size to be increased to 2MB. The SegWit solution makes the Bitcoin network secure enough to allow for the development of tools like the Lightning Bitcoin Network, which make transactions substantially cheaper and faster.
When it was first announced in November 2016, SegWit sparked a storm of criticism and debate over which block size would be most beneficial to the network.
Following the New York Agreement, SegWit2x was released in May 2017 as an alternative to SegWit to resolve the dispute between users and the Bitcoin network's core developers.
The key difference between SegWit2x and SegWit was that the block size was supposed to be extended to 4MB, with possible improvements to the Lightning Network structure, online codes, anonymity, zk-SNARKs technology, and smart-contract use. However, it was announced in November 2017, just days before its release, that it would be cancelled.
Fortunately for the Bitcoin network, there is a solution that not only solves the scalability problem, but also provides lower transaction costs.
The Solution for Scalability
Bitcoin Cash, Bitcoin Unlimited, SegWit, and SegWit2x are all Bitcoin forks that were created to address the scalability issue. However, because to issues like as malleability and centralization, not all of them have succeeded.
The Bitcoin Lightning Network, which Cryptoauxiliary is glad to describe below, is one of the most eagerly anticipated solutions on the market.
Bitcoin Lightning is a network extension that allows users to conduct Bitcoin transactions significantly more quickly and cheaply. Bitcoin Lightning still offers a cheaper alternative when compared to the sky-high block transaction charge of over $35 US in December (capture 1) and the current Bitcoin transaction fee of less than one US dollar (capture 2).
Consider the following table of Bitcoin transaction costs for the next block (column 2), three blocks (column 3), and six blocks (column 4):
The current transaction charge on the Bitcoin network, on the other hand, looks to be far lower:
However, the time it takes to complete a Bitcoin transaction is even more critical. Currently, it takes ten minutes for a Bitcoin block to be confirmed. There are lines of blocks awaiting confirmation, given the volume of transactions executed on the network each second. This was the primary source of user dissatisfaction, leading to the creation of Bitcoin Cash and SegWit2x hard forks.
The Lightning Network for Bitcoin transactions is a technology that allows users to conduct transactions in milliseconds by allowing them to create payment channels between themselves to move money.
Bitcoin Lightning Network (Bitcoin LN)
The Bitcoin Lightning Network will be released on March 15, 2018, according to Elizabeth Stark, CEO of Lightning Labs. Between April and August, the number of people who joined the network climbed by 15% every month.
It is not necessary to build a direct connection between nodes that have financial relations on the Lightning Network. The nodes make a net by forming a network with nodes that have previously created a channel. You may see a visualisation of the Lightning Network right now.
According to Bitcoin Lightning data, the network's current capacity is around 107 BTC, or $685 USD:
In terms of Bitcoin Lightning's status, there were 3,951 nodes and 11,283 channels on the network as of this writing.
How to Make the Most of the Bitcoin Lightning Network
Because Bitcoin Lightning is a network of channels, Cryptoauxiliary has put together a comprehensive instruction on how to open, run, and close a channel. It is critical to become familiar with the information presented in the following paragraphs before learning how to use the network.
Transactions That Haven't Been Confirmed
Bitcoin is made up of a series of transactions, each of which refers to the one before it, as well as the hash (unique ID) for the transaction data. The lines "from" and "to" in each transaction correspond to the sender's and recipient's wallets, respectively. The sender must meet the requirements by confirming that he or she has possession of the funds being sent. Otherwise, the transaction will be rejected by the system. The recipient, which is the "to" line (and, in the next transaction, the "from" line), will have to add new requirements.
It's worth noting that Lightning Network transactions aren't published to the blockchain; instead, they're stored on local nodes. Nodes, on the other hand, have the option of sending transactions to the network.
The black transaction has already been confirmed, as shown on the graph above. If the preceding transaction has been confirmed, node A can send the blue one to the network. Under the same conditions, node B can send the red one to the network. After sending two BTC to node B, node A can sign and transmit the unconfirmed transaction to the network, and only then can node B sign and send his/her transaction to node C.
The concept of double-spending is straightforward. Consider the following scenario. If you pay five dollars for a cup of coffee, you cannot use the same five dollars for another transaction unless you steal it.
The elimination of financial fraud on the blockchain requires a double-spending prevention strategy.
It works like this: if two senders refer to the same recipient, the miners will only verify one of the two transactions.
In this case, node A must choose between two transactions in order to avoid a dispute. Only one of the blue transactions may be validated as authentic.
A Bitcoin Lightning money transfer normally necessitates two signatures. The transaction will be validated by two nodes: the sender and the receiver, when two users open a channel between them.
Let's take a look at how it works in practise:
If node A wants to send two BTCs to node B, he or she will be allowed to do so only after self-signing and receiving node B's signature. A private key (cryptographic signature) on the blockchain is a unique set of numbers. Node B receives the funds as soon as the transaction is multi-signed. It's vital to remember that after both nodes have signed a transaction, it's impossible to amend or delete it.
Multisig is a method of preventing fraud within the channel by requiring node A to spend Bitcoin without node B being aware of the transaction.
The time lock is another component of the Bitcoin Lightning network, which allows Bitcoins to be blocked until a specific time. Timelocks are divided into two categories:
Verify the Lock Time (CLTV)
Verify the sequence (CSV)
CLTV enslaves Bitcoin for a set period of time or until a specific block is reached. CSV, on the other hand, prevents Bitcoin from being used until a specified number of blocks have been generated. A blockchain time lock is frequently used as a delay.
Secret and Hash
A “value” or “secret” on the Bitcoin Lightning network is a one-of-a-kind line of numbers that is exceedingly difficult to anticipate, even by sophisticated computers. The oddity is that anyone who knows the "secret" can hash this one-of-a-kind line, but no reverse action is conceivable.
This ruse can also be used to block Bitcoin on the Bitcoin platform. You might, for example, include a hash in the ‘to' line and compel anyone who wants to spend this money to write in a value equal to the hash in the ‘from' line.
The hash is depicted as a lock, while the secret value is depicted as a key in the image above.
Payment Channels that are Bi-Directional
Payment channels had been discussed for a long time prior to the introduction of Bitcoin Lightning. The utilisation of traditional payment systems is self-evident; yet, they are monodirectional. The Lightning Network's major distinction is that the payment channels built on top of it are bi-directional and untrustworthy. It's critical to understand what "trustless" means in terms of blockchain and Bitcoin Lightning at this stage.
By sharing the ledger across users, blockchain technology eliminates the requirement for trust. The resulting "trustless channel" means that users don't have to worry about their partner's potentially fraudulent intents because they're hard to pull off. Multi-signature and double-spending prevention principles prevent a node from transmitting Bitcoin without the other channel participant signing the transaction.
What Is the Best Way to Open a Channel?
Users must undertake the starting transaction, which defines the deposits they put into their accounts, in order to open a channel between nodes.
Opening the Bitcoin Lightning channel makes sense for nodes that make payments frequently, such as once a week or even every day. This assertion is predicated on the fact that transactions on the Lightning network do not require the authentication of a majority of nodes on the blockchain, allowing for vastly faster money transfers.
Step 1: Start the transaction
The channel will be launched as soon as nodes A and B transmit their deposits to the multi-signature address (let's say 5 BTC). This is going to be the first transaction. Only if both nodes sign the agreement may bitcoin be sent from this address. As a result, Bitcoin Lightning channels are untrustworthy.
In order to sign transactions, nodes also receive a secret value and a related hash.
Step 2: Transaction Commitment
The creation of a "commitment transaction" will be the next stage for node A. Node A keeps 4 BTC in his wallet and transmits the remaining 6 to a multi-signature address. This address is special in that it includes CSV-timelock, which means node B will be able to unlock it after a specific number of blocks (let's say 1,000).
If Node A has a secret value, he or she can unlock this block; however, Node A only has the hash of the secret value. As a result, there is currently no method to unlock the barrier.
As a result, instead of posting the commitment transaction to the network, node A must sign it and send it to node B.
Meanwhile, node B must perform the same actions as node A, but with the following parameters: establish the commitment transaction, keep 6 BTC for himself, and send the remaining four to the new multi-signature address. Once 1,000 blocks have been done within the channel, or with B's secret value, Node A will be able to unlock this address.
After exchanging commitment transactions and secret value hashes, the two nodes upload the opening transaction to the blockchain. After that, the channel is considered open.
Both nodes can now send the commitment transaction they each received to the Bitcoin blockchain. If A accomplishes this, however, B will receive 6 BTC right away. If B does that, A will receive 4 BTC. In any case, if one of the two nodes publishes this transaction to the network, he or she will have to wait 1,000 blocks to access the multi-signature address containing the balance of the Bitcoin.
Channel A (Bi-Directional)
Updates on the channel
If node B wants to transfer one BTC back to node A, they must change the channel status a short time later. Despite the fact that the opening transaction has already been recorded on the blockchain, they must repeat the actions described in the previous chapter to perform an update. This time, node A leaves 5 BTC, and the remaining five BTC are sent to the multi-signature address with the new secret values. Along with signed commitment transactions, the nodes send hashes of fresh secret values to each other. After 1,000 blocks have been completed, the node that does this will receive its 5 Bitcoins, and the other will receive it immediately.
Why can't node B instead send the network the previous commitment transaction? If he/she does this, it appears that he/she will receive 6 Bitcoins. The nodes, as previously stated, exchange their secret values for previous commitment transactions. Node A receives 4 Bitcoin immediately after signing and sending the old commitment to the network. Node B, on the other hand, will only be able to receive his or her 6 Bitcoins after 1,000 blocks have been completed.
Meanwhile, because node A knows the secret value, he or she will be able to obtain B's money. If node A sends the previous transaction to the network, everything works backwards.
Both nodes are interested in following Bitcoin Lightning's network consensus, as described in the previous paragraph.
Channel B (Bi-Directional)
The bi-directional payment channel scheme can now be used to conduct payments within the network.
What is the Best Way to Start a Network?
Let’s say node A wants to pay node C 1 Bitcoin. To conduct the money transfer, they could open their own payment channel, but this becomes unnecessary, as A and B have already created one. Thus, C may transfer money to B, who will send them directly to A through their channel.
However, here we come to the point of trust in the network. Node A doesn’t have any reason to believe that B has sent the money to C, or that C hasn’t received the transfer. Trust within the Bitcoin Lightning network is predefined by cryptographic protocol.
To send money securely, node C creates a secret value and sends its hash to the node A. Node C asks B to buy the secret value for 1 Bitcoin, while node A says he/she will send B 1 Bitcoin for the secret value B received from C. Performing this sequence of actions, A compensates B for his/her expenses and sends 1 Bitcoin securely.
The trust within the network is also enabled by HTLC (hash time-locked contracts) (hash time-locked contracts)
Bitcoin Lightning nodes can also make a profit by serving as intermediaries. This will come in the form of commission for transmitting money through their channels.
The Bitcoin Lightning Network is an off-chain system, which means that any transaction will never get on the blockchain. However, that channel is protected by blockchain consensus.
If two nodes have created a channel on the Lightning network mutually, they need to create a transaction that overrides the actions taken when they opened the channel. In other words, if node A wants to close the channel, he/she creates a transaction, leaving 4 Bitcoins and sending 6 to the node B. If B signs this transaction, the channel can be considered closed.
Therefore, the Bitcoin network will record only opening and closing transactions, even though the nodes have conducted numerous payments between them.
One can only imagine how the Lightning network frees up blockchain.
Lightning Network Implementation
At the moment, there are three well-known implementations of the Lightning Network by the following companies:
Eclair — ACINQ (a scala implementation of the Lightning Network, which runs with or without a graphic user interface)
C-lightning — Blockstream (a specification-compliant implementation)
LND (Lightning Labs) (Lightning Network Daemon is a complete Lightning Network node implementation)
The Lightning network protocol is used by Litecoin, Stellar, Zcash, Ether, Ripple, Bitcoin Gold, and Bitcoin Diamond, among other cryptocurrencies.
A second-long transaction on the blockchain with no cost sounds appealing, but doesn't it appear to be a set-up?
Users of the Lightning Network should be aware of the following dangers:
Timelocks that aren't set correctly. If the timelock is wrongly configured, an erroneous transaction may become valid, allowing the opposite party to steal coins.
Spam with a forced expiration date. All time-locked transactions may become legitimate; if a single fraudulent node expires all of his/her channels at the same time, this will result in the blockchain publishing transactions. After that, the blockchain would be flooded with spam.
Theft of coins. Nodes should be online when doing transactions. If a gadget that stores a private key malfunctions, coins could be taken if the device is hacked.
Lightning Bitcoin was introduced in 2018 as a solution to the Bitcoin network's scalability problem. It's a collection of payment channels established between nodes that frequently transact with one another.
Each month, the Lightning network attracts a growing number of nodes because to the rapidity of money transfers and low transaction fees. Both features are much more beneficial for nodes on the Bitcoin network that perform financial transactions.
Financial fraud prevention is one of the Lightning Network's most significant features. No one can take the contributed coins because both nodes open the channel and provide inputs. They'd have to close the channel to do so, which is impossible without both parties signing an agreement.
Cryptoauxiliary is always available to answer any queries you may have about the Bitcoin Lightning network's application to your company.