When Tom Elvis Jedusor released the Mimblewimble whitepaper on July 19, 2016, he didn’t mention the Lightning Network. The Lightning Network whitepaper had been released earlier that year in January. At first, it was assumed that the Lightning Network wouldn’t work on Mimblewimble because Mimblewimble doesn’t support scripts as Bitcoin does, but soon after the paper was released, Andrew Polestra, of Blockstream, started looking deeply into the topic. In his paper, which was released a few months later he showed that Lightning Network was possible in Mimblewimble. He also showed that multisig and cross chain atomic swaps were possible in the same paper.
Even though Mimblewimble represents a 3X scaling improvement by way of the fact that old transactions can be deleted, Mimblewimble blockchains are still like Bitcoin in that they are broadcast networks and ultimately, they do not scale by themselves and must rely on other layers for scaling. So, even though, there might be significantly higher capacity on a Mimblewimble chain due to better scaling, layer two solutions (like Lightning Network) still must be implemented if it becomes a viable payment rail. The good news is that not only does Lightning Network work with Mimblewimble, it seems to address some of the major open issues with on chain Mimblewimble payments as well.
One of the issues with Mimblewimble is something that researcher Jorge Stolfi pointed out on reddit a few years ago. If you pay someone in a Mimblewimble coin, the recipient may spend it before it ends up in a block. In that case, a miner will merge the two transactions and you will have no proof of payment. In Stolfi’s example, Alice pays Bob rent and Bob immediately spends the rent payment at the grocery store before it can be confirmed in a block. Alice now has no proof of payment of rent. In the reddit thread, you can see that Polestra responds and says that a 2 of 2 multisig transaction must be used in this case where Alice sends the rent funds to a 2 of 2 multisig commitment and only releases these funds after there is proof that they made it into a block.
While this is definitely one potential solution, Lightning Network, which uses 2 of 2 multisig transactions at its core, requires 6 confirmations before they can be spent. Once these confirmations take place, there is proof that they are in blocks, thus avoiding Stolfi’s scenario. These funds can now be spent instantly via lightning payments. These confirmations, along with lightning transaction information, provide proof that any future lightning payments have been made. So, if Alice were to have paid her rent with the Lightning Network on top of Mimblewimble, she’d be able to make an instant payment and have proof of payment just as she would on other blockchains like Bitcoin. All of this would be simplified away in the UI and all Alice would know is that she made the payment to Bob and she can prove that she did so via her wallet’s UI and others would be able to confirm this proof.
In addition to lightning network and multisig, cross chain atomic swaps are possible on Mimblewimble. Actually, each of these smart contracts build on each other because both Lightning Network and Atomic Swaps require 2 of 2 multisig. That is why we have already started working on 2 of 2 multisig for MWC. While the Mimblewimble protocol itself supports multisig neither grin nor beam have yet to implement them in their wallets.
The plan is to implement multisig, atomic swaps, and lightning network in MWC in that order. MWC is a fork of the grin codebase with a limited supply of 20 million coins that will ever exist and an airdrop to Bitcoin holders. Bitcoin holders can register for the airdrop, which will open on April 20, 2019. Follow us on twitter and join our discord.