Using Lightning Network With Varying Levels Of Control


written by @veriphibtc


To many, the user experience of sending and receiving Bitcoin transactions needs improvement in terms of easiness and fluidity. Adding in the concept of lightning wallets and all they entail can sometimes add confusion when not presented properly.


Quickly explained, one can easily understand how Bitcoin works. You begin by backing up your mnemonic seed phrase provided by your wallet. This information contains the private key required to control your funds, as well as your master public key that can generate all your Bitcoin addresses controlled by the wallet. Once you have an address, anyone can use this information to send you Bitcoin. Doesn’t seem that hard once deconstructed.

If Bitcoin transactions are a hard process that require much more simplification for wider adoption, what can we say about Lightning Network transactions? Payment channels introduce a bunch of concepts and steps that aren’t the easiest to grasp, particularly for non-technical users. Multi-signature wallets, timelocks, HTLCs, force closures, channel direction and liquidity are just a few examples of concepts to master for an efficient use of the Lightning Network.


Latest snapshot of Lightning Network nodes and Channels. (Public)

We wrote an article on the BTSE Academy a few months ago that explains the Lightning Network (something the current article won’t do), read it here. To address Lightning’s complexity, developers have introduced different levels of control through their applications, so if you're a wizard linux developer or just interested in sovereignly managing your wealth without learning the technicalities, there’s a solution for you.

At Veriphi, we have introduced last year a frequently updated Lightning Network Wallets Comparison Table that you can find here, it can get quite technical though. More recently, we’ve introduced a technical standard for 5 different levels of software architecture for Lightning Wallets that you can find here. This article is based on both of these projects but written in a more simplified manner.

We will be exploring three levels of control : full nodes for Technical and Advanced Users, which give you full control over your Lightning Network Experience. Then, we’ll look into one of the best ways to just try Lightning using custodial Wallets. Finally, we’ll go into what we consider to be the right combo, partial Lightning Nodes, which still allow you to be in control of your funds but automates many processes.

For Technical Users : Full Nodes

Lightning’s core technology is payment channels: locking funds on a wallet with a counterparty and being able to send those funds back and forth through off-chain transactions. At first, it doesn’t seem quite hard, you just deposit funds and you’re good to go, right? Not exactly.

First off, if you’re just transacting with your counterparty, you’ll have to think about one particular point, the channel direction. If you’re the one to open the channel, you will be the one adding funds to it. You will be able to send those funds, however you won’t be able to receive any funds for now. You need a channel opened by your counterparty for that.

However, we know the Lightning Network isn’t just you and your counterparty, you want to transact with other users as well. That requires managing many channels, many directions and also liquidity so that funds can get sent, you can route funds and you can receive funds. This is a process that is left to the user in most Full Node Lightning Wallets.

There exist different types of Full Node Lightning Wallets. First, you have the classic Full Node Lightning Software : LND, c-lightning, eclair, etc. These are desktop / server software that usually works through the command line and is fully technical. Then you have the front-end applications that are wrapped with those back-end softwares such as Zap, Lightning App, Electrum that all come bundled in a Desktop application in order to abstract the command-line server management complexity.

Not long after, this was brought into the mobile application ecosystem, where Eclair (Android only) and Zap offer great solutions with some automation such as Autopilot, a plugin to automatically create channels depending on the needs. This technology works partially and doesn’t always give the best results.

Finally, some more technical folks like the convenience of mobile wallet usage but the advantages and features of server software. That’s where applications like Spark or RTL have their place, they manage your node at a distance, through the browser or a mobile application.

Full Nodes are very private since you have all the responsibilities, but you have to take care of your own channel backups constantly in case of a hardware failure and channel management can be long and tricky for average users. That’s why Custodial Wallets and other solutions have appeared on the market.

Just To Try Lightning : Custodial Wallets

Lightning is a fascinating technology that has potential to bring us to the next era of Bitcoin usage. Many folks just want to try it and play with some small funds, just for fun or as a learning experience. Obviously, a technical Full Node isn’t the right solution for them.

Custodial Wallets are the easiest way to onboard onto Lightning. You download the application on your phone, sign up and you can instantly create an invoice to receive funds on your Wallet. Usually, you would have to wait for someone to open a channel towards you for that to be possible but in this category, all that has been abstracted.

There’s almost no difference between a Lightning Custodial Wallet and your Venmo or Cash App fiat application, other than you’re sending Bitcoin and folks using it in a decentralized way can interact with you. Wallet of Satoshi and Blue Wallet are the best wallet for this category, being both available on Android and iOS. Blue Wallet can also be run in a non-custodial way, but you have to run your own LNDHub server.




Your keys, your coins. You’ve heard that before from many in this community and it applies as well in Lightning. Earlier this year, the CEO of CoinNinja was arrested on money laundering charges in the US and his financial accounts were confiscated. The authorities targeted his company’s Bitcoin funds, which included the totality of the user’s funds on the custodial Lightning Wallet Dropbit.

In a matter of hours, all users holding funds on that Lightning wallet lost all their funds and will probably never recover them. No one had doubts about the legitimacy of Dropbit before this event, so no one is assured this couldn’t happen again. Holding your own keys remains essential and that’s why a bridge between the easiness of custodial wallets and the sovereign advantages of Lightning Nodes was invented.


The Right Combo : Partial Lightning Nodes

This is where we think the future of Lightning is going to be, applications with improved user experiences but faithful to sovereign and security values. Phoenix is the application that excels in this area by allowing you to receive funds instantly on Lightning, not worry about channel management, be able to pay on-chain addresses with Lightning funds but still be the only one in control of your keys.


Backing up your channel state every time there’s an update? Forget about that, just by saving your mnemonic seed phrase you can recover your funds after losing your mobile device.

Seems to be good to be true? Well, I have to be honest with you, there’s some drawbacks. In software, as in the physical world, there’s always trade-offs involved with every action. ACINQ, which manages the Phoenix Wallet, basically knows all your transaction history since you’re routing all your transactions through their Node.

There’s also some trust involved in some small actions, such as when you’re sending an instant transaction, there needs to be a channel, however it has no confirmation. It could be possible for a double spend to happen, however it remains highly unlikely.

BLW and Breez are considered Full Nodes but there’s an external server or Node that provides some services to simplify the experience for users. BLW will run a Network Graph Server, so that you don’t have to sync with the network and you can also run your own Olympus Server, to remain fully private. Breez will open a channel automatically as soon as a user downloads and opens the app, so that a user can quickly receive funds on the Lightning Network.


Conclusion

It’s still the early days on Lightning and improvements are still happening left and right, at every level. Protocol updates are envisioned with Eltoo to make Lightning’s user experience much better, but that’s still probably a few years down the road. For now, we have to accommodate ourselves with reality, but it looks like there’s a lot of options for you to try. Phoenix Wallet remains my recommendation for new users to quickly onboard and try the awesome experience of instantly sending Bitcoin.

If you have any feedback on this or any other topic, please feel free to reach out to us at any time at feedback@btse.com or @BTSEcom on Twitter. We always love to hear from our amazing BTSE community.

Categories

Company

Community

© 2019-2020 BTSE.com All rights reserved