Bitcoin exchange and hosted wallet provider Luno (formerly BitX) is developing a Bitcoin scaling solution called Moonbeam. Unlike the lightning network, Moonbeam does not require SegWit’s transaction malleability fix and would be able to operate on the Bitcoin network as it is today.
Moonbeam aims to provide a way for multi-user Bitcoin platforms — such as exchanges, hosted wallets, and payment processors — to easily open standardized one-way payment channels with each other, and thereby offload the Bitcoin network from a growing number of transactions.
How Does it Work?
Moonbeam aims to take advantage of the fact that many Bitcoin transactions occur among multi-user platforms. Using Moonbeam, these platforms can open standardized one-way payment channel contracts with one another to facilitate payments. By taking these transactions off-chain, Moonbeam can reduce transaction fees for those who use it and benefit Bitcoin users generally by reducing congestion in the mempool.
These channels are simple smart contracts in which one party locks up a certain amount of bitcoins for a specified period of time (with the end point referred to as the “timeout”) for the purpose of sending payments to the other party. Before the timeout, the party that has locked up funds can send an unlimited number of off-chain transactions using those locked up bitcoins (until the channel runs out of bitcoins). Each channel involves only two on-chain transactions: one to open the channel and one to close it.
Because these intermediate transactions are off-chain, they are nearly instant. Without the need for a blockchain confirmation, the transactions only take as long as it takes to route an http request (think: loading a simple web page). These transactions would also be cheap. Only two transactions per channel require miner fees, and the rest are essentially free to the platform, though the platform could charge fees to its users.
The one-way payment channels used by Moonbeam are not a new invention. Bitcoin inventor Satoshi Nakamoto embedded preliminary code for payment channels in the very first release of Bitcoin, and more recent protocol upgrades like CheckLockTimeVerify have further enabled this usecase. Bitcoin platforms could negotiate and implement these smart contracts on the blockchain today.
What Moonbeam aims to do is facilitate the creation of these channels between major payment platforms by using the Domain Name System (DNS) to route communications related to creating and using these channels. This way, high volume platforms can easily discover one another and enter into a payment channel smart contact using the standardized Moonbeam terms. Using the Moonbeam protocol, this process can happen automatically when it is more efficient to open a channel than sending payments on-chain.
The Moonbeam project overview indicates that it is “semi-decentralized.” It is labeled as such because while the Moonbeam network does not require platforms to trust one another, it does require users to trust their platforms. A hosted wallet with a Moonbeam address is a custodial account, where the platform is managing the funds, and credits and debits user accounts accordingly as users send and receive transactions. Exchanges such as Coinbase operate in this manner; users do not directly control their private keys. Moonbeam can be a useful tool for these services, but it will likely not be a suitable scaling solution for users who prefer to manage their own private keys.
The Moonbeam specification document also mentions several other potential downsides. Among them is the cost of capital. In order to open these channels, sending platforms must commit capital in the form of bitcoin for a period of time. If the receiver does not use the channel, the sending platform must wait until timeout to regain control of the funds, entailing potentially large financing costs.
Another risk involves the use of DNS. DNS hijacking is an attack that involves rerouting domain name requests to an attacker’s server. These attacks could be used to receive payments over new channels that were meant for the authentic server.
While Moonbeam does not offer the level of decentralization of the lightning network, the fact that it does not require any fork to the network may may make it an attractive solution to Bitcoin’s scaling troubles in the short term. It could be implemented by hosted wallet providers as soon as the project is production ready.
The current state of Moonbeam can be found on the project’s Github.
Luno was not available for comment for this article.