November 28, 2017
By Michiel Mulders - November 27, 2017 (bitcoinmagazine.com)
There is no disputing the fact that the Bitcoin network has scalability problems. Micropayment channels are a solution to increase the transaction rate and speed. Yet, this is not the golden solution. This micropayments solution needs a fixed amount of funds to be locked into each channel’s multisignature wallet and requires a transaction for each channel creation and closure. This hinders the Blockchain network from upscaling to a global payment system because Bitcoin’s capacity is limited.
A recently published research paper by a university in Zurich suggests implementing a new layer in between the blockchain and payment channels that enables off-blockchain channel funding to reduce stress on the Bitcoin blockchain.
The paper mentions two challenges: “Micropayment channel networks create new problems, which have not been solved in the original papers. We identify two main challenges — the blockchain capacity and locked-in funds.”
Before we go any further into this proposed solution, it is essential to understand the concept of micropayment channels. Bitcoin’s blockchain network doesn’t allow you to send many micropayments of tiny amounts of bitcoin. Bitcoin’s block weight limit caps this at less than 10 transactions per second, on average.
Payment channels let users lock up a fixed amount of funds in a multisignature wallet controlled by the client and receiver. A channel can be opened by sending a transaction to the blockchain. Next, an unlimited amount of payments can be made between the client and receiver. These payments are performed off-chain and only exist between both participants.
Once a channel is closed, a final transaction containing end balances will be sent out to the Bitcoin network. This is the base implementation of micropayment channels; a more evolved implementation is the lightning network, which allows bidirectional payment channels.
Reducing many hundreds, thousands or even more transactions to just two transactions per channel are a drastic improvement. Still, it is not enough for bringing the Bitcoin network to the level of a world-wide payment system. A channel can only exist between two participants. So, if each person in a group of 20 wants to open five channels, this will require a lot of transactions — 200 to be exact. Besides that, there is no solution for when the amount of locked funds is exceeded for a specific channel.
The paper tells us about a new layer: “We introduce a new layer between the blockchain and the payment network, giving a three layered system. The new second layer consists of multi-party micropayment channels we call channel factories, which can quickly fund regular two party channels.”
The paper suggest a three-layered system in which the first and third layers already exist. The first layer locks the funds, and the third layer performs the actual transfers of currencies. The new second layer can be seen as a channel factory. It is responsible for creating multi-party micropayment channels and quickly refunding wallets when they are almost depleted. The paper calculated a savings of up to 90 percent for a group of 20 nodes with 100 channels in between them.
Instead of sending a blockchain transaction for each channel creation or closure, the paper suggests a system where just one transaction is needed to open multiple channels without further blockchain contact. Funds are locked into a shared wallet between a group of nodes instead of a specific channel. Furthermore, funds can be moved between groups with just an attached message with further details such as a receiver address. All of this happens off-blockchain.
The only addressed risk is that a user within a group can close the channel factory: the second layer. This induces a higher mining fee because more blockchain space is used. While this is not a big risk — a user won’t gain personal advantage by doing so — it does limit the usefulness of large groups.
Next, it is possible that the receiver doesn’t sign a transaction. The paper introduces the use of either timelocks or punishments for dishonest parties. They will focus on timelocks because they think it performs much better. After a timelock has elapsed, the current status of the channel will be broadcasted to the blockchain and the channel will be closed; no punishment is applied.
There is no risk in securing the funds. The multisignature wallet has a many-to-many constraint containing all signatures of the involved actors. Funds can only be spent when all actors have signed the transaction, so no one can be deprived of funds without signing for it themselves.