Moonbeam is an open source protocol that uses Bitcoin payment channels to facilitate instant, off-chain payments between multi-user platforms. “Moonbeam doesn’t require Segwit or larger blocks, and can be deployed on the Bitcoin network today,” according to the project page on Github. Bitcoin.com spoke with Timothy Stranex, CTO at bitcoin exchange Luno and lead developer of the Moonbeam project.
A new solution to Bitcoin’s scaling problems Moonbeam uses Satoshi Nakamoto’s idea of payment channels in a more direct and simple way than other layer-two solutions. Like a single-direction Lightning Network, Moonbeam moves certain transactions off-chain, and could enable far more of them between high-volume platforms like Bitcoin exchanges and wallet providers. The new project could help scale Bitcoin without the need for Bitcoin’s developers to do anything at all, including raising the block size or implementing Segwit.
What is Moonbeam?
Bitcoin.com (BC): Could you describe, for the layman, what Moonbeam will bring to Bitcoin?
In Moonbeam, instead of each payment being sent as an individual Bitcoin transaction, payments are instead collected together and then settled as a single Bitcoin transaction.
The miner fee is only paid once for the settlement transaction, even if the batch contains a thousand payments. Despite this batching behavior, the individual payments can be sent instantly with no need to wait for confirmations.
This batching method is known as “payment channels”. Moonbeam is a protocol that uses the payment channel concept and other techniques to form a practical system.
BC: Is this an official project at Luno, or are you doing this on your own?
TS: Moonbeam is an open source protocol – it’s not a product as such from Luno, but it’s something that we want to use within our products.
At Luno, we used to cover the Bitcoin network fees for our customers but with fees increasing so rapidly over recent months, we and many other companies, have had to start charging network fees to customers. This project grew out of the frustration from that. We want to give our customers faster Bitcoin payments with lower costs, and Moonbeam seems to be the most practical way to achieve this in the short term.
Moonbeam and the Lightning Network
BC: What is your goal for Moonbeam? Will it replace or compliment the Lightning Network?
TS: My goal with Moonbeam is to offer a way for Bitcoin platforms to process faster payments with lower costs that can be deployed on Bitcoin as it exists today. It seems that changes to Bitcoin itself have become deadlocked and it may take many months or years to make progress on that front. So, for the short term, it’s better to build solutions that don’t require changes to Bitcoin itself.
If Lightning becomes practically available, I expect it would co-exist with Moonbeam since each design has its pros and cons.
BC: Do wallet developers just need to run a Moonbeam node, implement a little code to their wallets, open a channel, and users would immediately be able to use it?
TS: A Moonbeam address looks like this:
The first component is just a normal Bitcoin address. Wallets that don’t yet support Moonbeam can just cut off everything, past the + symbol, and treat it as a normal Bitcoin address. Wallets that do support Moonbeam can use the whole address and send the payment more efficiently via a Moonbeam channel. The key point here is that from the end user’s perspective, they can use addresses with both old and new software.
Wallets that do support Moonbeam can use the whole address and send the payment more efficiently via a Moonbeam channel. The key point here is that from the end user’s perspective, they can use addresses with both old and new software.
BC: How would users of a Moonbeam-enabled wallet find a channel between their wallet provider and whomever they are making a payment to?
TS: Users don’t need to worry about finding channels – it’s handled transparently by their wallet platform. Users will just instruct their wallet to send a payment to the Moonbeam address (e.g. mgzdqkEjYEjR5QNdJxYFnCKZHuNYa5bUZ2+mb7vCiK@example.com).
Their wallet platform will send it via a channel already open to example.com, if there is one, or via a normal Bitcoin transaction to the Bitcoin address. Moonbeam is designed primarily for multi-user platforms. You normally wouldn’t operate a Moonbeam channel by yourself as an individual.
BC: How will you handle domain name spoofing?
TS: In Moonbeam, we use DNS to route payments to domains, very similar to how email routing works. This is quite a neat solution because it means we don’t have to re-invent a new routing system; DNS is already battle tested and has been operating well on the internet for many years.
Nevertheless, DNS alone is vulnerable to spoofing attacks. Moonbeam uses SSL certificates to protect against domain name spoofing and man-in-the-middle attacks, the same way HTTPS websites are secured in your web browser. We’re also working on adding protection for some more sophisticated attacks like domain hijacking.
BC: When do you expect to release deployable code?
TS: We’ve already released a reference implementation which works both on production and testnet.
There is still some more work needed before it has been tested sufficiently to use widely in production, but we expect to be ready in a matter of weeks.
BS: When fully deployed, what kind of user interface do you imagine Moonbeam will have inside wallets?
TS: Wallet interfaces will appear almost identical to those today. The wallet will just be able to accept either a normal Bitcoin address or a Moonbeam address as the payment destination. Most of the changes will be behind the scenes.
BC: What are your preliminary projections on how Moonbeam will affect the mempool, block sizes, and fees once well deployed?
It will instead supply more of the excess demand for Bitcoin payments that can’t be handled on-chain.
Do you think Moonbeam will help scale Bitcoin soon? Let us know in the comments section below.
Images courtesy of Shutterstock and Luno