by Veriphi 7 months ago
A few weeks ago, we published a thorough analysis of the more popular bitcoin software wallets. We reviewed close to 50 features for each one of them. The analysis permitted us to classify the wallets into four categories of recommendation. The criteria considered were security, sovereignty and anonymity. By weighting every possible aspect of the software wallets, we placed them in the corresponding categories. Each of the categories has a mix of desktop, mobile applications, and web wallets. Check out the analysis here.
Naturally, software wallets aren’t fully complete if they’re not paired with a full bitcoin node and a hardware wallet. If you need any help setting up a Bitcoin Cold Storage solution and you want to protect your protect your bitcoin in the most reliable and secure way, please let us know by contacting us at email@example.com.
We also offer 30 minutes free security audits for those who want to start exploring their bitcoin operational security. You can schedule yours by contacting us at the same email.
We wanted to thank the Bitcoin community for sharing our previous article in such large numbers and contributing by providing a lot of feedback. We got a lot of demand to do a similar type of article and analysis for lightning wallets. So here we go!
You can recognize the same concept as our software wallet analysis. An article below will explain to you all the features we considered in our analysis table. However, we will not follow the same principle of recommending the wallets based on categories. Since the Lightning Network is still a nascent technology and needs a lot of development work in order to be fully functional, we didn’t give any recommendations or alerts in regards to the wallets. Users are always warned to be careful when using the Lightning network as they might lose some funds.
For those who are comfortable and know all the features of Lightning wallets you can directly go to the analysis table. Although we highly doubt you will, since there are over 50 of them and some might be confusing for non-developers.
The lightning network is an exciting and rapidly evolving second layer technology that has the potential to resolve Bitcoin’s scalability problems. In short, the Lightning Network gives the possibility to bitcoin users to create off-chain bitcoin liquidity channels. Theses channels can be established directly between two peers in order to make cheap and fast bitcoin transactions. For those who don’t want to manage their channels, they can use services and wallets that does it for them. By being connected to a public node that has connections with other peers in the network, a payment can be relayed through numerous hops until it reaches its destination. A lot of services and companies are building new business models around theses features and channel management is only at its infancy. For those who want to dive in more deeply in the functioning of the lightning network, we highly recommend this resource (part 1 of 3 in this link).
In this article we won’t explain in detail how the Lightning Network works. We will be exploring all the possible features that can be implemented in a Lightning network wallet. A Lightning network wallet is called as such similarly to a regular Bitcoin software wallet since it manages the user’s funds and connects him to the Bitcoin network. One of the main differences between the two kinds is that the Lightning wallet must manage and save channel states that will specify how many bitcoins are owed to the user on the main net. The loss of the channels states will often result in loss of bitcoin funds. That’s why Lightning network users must be aware of that aspect in order to remain secure.
Without further ado, here below are all the explored functionalities of the lightning network classified by categories:
There are different ways to interact with the Lightning and Bitcoin network. Depending on your individual availabilities and preferences, you can choose your favourite platform. It will also depend on the intended nature of your usage of the Lightning network. Here are the different platforms on which you can interact.
They are accessed from the internet and are often offered free of charge by third parties. Most of the time, they aren’t the best in terms of security and privacy. However, since we’re talking about Lightning wallets, it doesn’t matter as much than regular bitcoin software wallets.
They are downloadable software that takes the form of an application directly on your computer. The user is in complete control of the private keys. However, due to the high corruption rate of non-vigilant user’s computers, there is a significant risk that the computer itself will be infected and a fairly talented hacker could steal the funds.
They are applications that can be downloaded directly to a mobile phone. It’s generally a common platform for Lightning wallets due to natural mobile usage of Lightning. It’s a practical solution for users who want to have a small portion of their funds easily accessible, particularly for everyday use. They are generally easier to use than desktop wallets due to their mobile nature. It’s not recommended to use mobile wallets for large amounts since their security is limited as well.
Android is the most common operating system in mobile devices having close to 75% of the mobile operating systems market share. Developing a Lightning wallet on top of it ensures a wide pool of potential users. Generally, it's much easier to develop a wallet on top of Android since its much more malleable than IOS.
IOS is the proprietary operating system used on top of Apple hardware. It’s the second most popular mobile operating system after Android with over 20% of market share.
The different wallets can be written in multiple programming languages depending on the features and level of security that the developers want to benefit from, but mostly they depend on the platform for which the wallet was developed.
Open-sourcing software has become the norm in the Bitcoin ecosystem. Since the different types of wallet, whenever it’s a regular software wallet or a Lightning one, are managing your money, you want to make sure they’re secure and reliable.
The presence of a Lightning Network testnet within the wallet can be useful for users who want to dive deeper into the various Lightning functionalities as well as to experiment with them. By manipulating Testnet coins, the user makes sure not to lose any real bitcoins while exploring the wallet.
Full Bitcoin On-Chain Wallet
Along the Lightning wallet, some Lightning wallets will also have a regular bitcoin wallet (main net) integrated within the application.
In order to function properly, a Lightning network wallet needs to be connected somehow to the Bitcoin network. There are different ways to do so.
Lightning network implementation
Currently there are four main implementations that are following the Lightning protocol and therefore are all compatible with each other. These four implementations are all following the Basics of Lightning Technology (Bolts).
Nayuta by Ptarmigan
Can connect to you own Bitcoin node (Mainet)
A full node is Bitcoin's main software that allows you to interact with the Bitcoin network directly. By maintaining your own node, you become a peer in the network and have significantly more control, security and anonymity when it comes to using Bitcoin. In the comparison table, we show you whether the respective wallets offer the ability to connect to your own node. Those that allow this feature are favored and considered safer because you’re not forced to use the service provider’s node. It’s really important to keep in mind that a node that doesn’t belong to you manages your interactions with the Bitcoin network and can hold and analyze the information and history of your addresses.
Requires external Lightning Node/Server
Most of the Lightning wallets will require an external connection to a Lightning node in order to function. However, some wallets have also the possibility to spin up a Lightning node directly on the application.
If yes, can you connect to your own node?
Being able to connect your Lightning network wallet to your own node is always welcomed by the community. Using your own node provides you more anonymity, sovereignty and security and is therefore the preferred method to use the Lightning network. Some of the wallets will not offer that option since they’re custodial services.
For those wishing to ensure perfect anonymity in their use of Bitcoin. Using the Tor routing network is the optimal way to communicate with the Bitcoin network. Thus, the user makes sure not to allow spying companies or malicious actors to infer links between the addresses and transactions of a user with their IP address for example. It is strongly recommended to use wallets that allow connection to the Tor network for security and anonymity reasons.
Some appreciate seeing the real-time fiat value of their bitcoins directly in their wallet. It should be known that it requires a communication with an external server implying trust in this party in question.
In the analysis we provide the source of the price API’s if it was findable. Some applications will not reveal that information and therefore are not fully transparent in regards of their bitcoin price. The Lightning wallets with a “-“sign simply don’t display the Bitcoin value in fiat.
Units of account
There are several denominations of Bitcoin. An individual Bitcoin is composed of 100,000,000 satoshis. Considering a future where Bitcoin continues to increase in value in terms of fiat, people are using more and more the unit of satoshis. A wallet that offers the option of changing the displayed unit is a plus for users. However, since Lightning wallets are mostly used for small value transfer, most of them will have the option to display the user’s balance in satoshis.
Bech32 type addresses are those that support the Segwit address format and will begin with the characters "bc1". This form of address is much more efficient in terms of the size they take in a block and so are less expensive in terms of fees paid. We highly recommend this address format.
P2SH is an advanced type of bitcoin transaction that allows you to make bitcoins payments to hashes of a Bitcoin script. Bitcoin scripts may contain more payment and information conditions than a simple address. This transaction format is also more anonymous because the contents of the script remain hidden until it is executed.
Asking for an email
A wallet that requests the email address of a user always requires a link with an external server which will reduce the anonymity of the wallet. It is therefore not recommended to use wallets that require an email. Although since Lightning wallets are mostly used for small amounts, it doesn’t matter that much. For better privacy, one can use a fake email or a privacy enhanced one such as Proton mail.
When a user has issues with a Lightning wallet, he can contact the support team to receive assistance. Since some of the Lightning wallets are open source projects based on contributions, the support will come mostly come from the community and through developer channels such as Gitter and Github. Other more convenient ways to communicate for regular users will be on more user-friendly channels such as Slack or through email.
Most of the analyzed Lightning network wallets are open-source projects which explain that most of them don’t have any legal policy. However, if there are services provided by a company within its Lightning wallet, the user should expect a legal policy. Custodial services will have a responsibility in regards to the sensitive information they have about their users.
If Android, how many downloads?
How many times the wallets were downloaded.
Some Lightning wallets/services analyzed will be linked to social media accounts for various purposes. For the ones that do, we tell the social media platforms to which there is a link. We invite Lightning wallets users to explore each one of them to see if any of the services fulfill one of their needs.
Some wallet will integrate a direct link to a merchant that accept bitcoin payment through the Lightning network. Many businesses are experimenting this recent way of payment and the possibility brought by cheap and instant micro-transactions.
The Lightning network is a new concept and can be misunderstood by many. Some Lightning wallets took the initiative to inform its users on how their wallet work by providing resources or a dedicated guide to align the user on the good path.
Some wallets offer the choice to modify their user interface. For example, this can be manifested by a night-mode option.
Can you lock the application?
For security purposes, its preferable to have some locking mechanism that prevent malicious actor to access the Lightning wallet application if it gets an access to the device.
How’s the private key backup done?
Your wallet backup is the most crucial element in your entire bitcoin operational security. It can exist in several forms, either a sequence of 12 or 24 words or an encrypted computer file. No matter what form it takes, your backup allows you to recover your funds in the event of loss or lack of access to your wallet. It’s essential to keep it in a sheltered place that isn’t likely to be compromised.
Is the backup forced?
Some wallets let the user skip the backup of their funds. This can be dangerous for the careless user who will forget to note it once he starts using it. This is why many wallets will force the backup of funds by asking the user to rewrite some of the words to confirm that he has noted them. However, a forced backup at the beginning of the wallet installation can be a bad experience for a user who just wants to test the interface before making his choice.
The preference of the user for this feature depends mainly on his technical skills as well as the amount of bitcoins they own. Thus, a user could decide to keep his funds with a custodian rather than keep his bitcoins independently. When the user decides to keep their bitcoins, they take advantage of all the bitcoin benefits of sovereignty. On the other hand, they become solely responsible for their security and anonymity within the Bitcoin network.
Backup Method if Custodial
This functionality is meant to list the method used to access your funds when you’re using a custodial Lightning wallet.
Some Lightning wallet will let you create and manage your own channels. This can be considered as an advanced functionality since it requires minimal understanding of the Lightning network. Some users will prefer to not worry about theses technicalities and be able to use the Lightning network directly without worrying about anything. However, if you want to be a routing node, and gain some fees by relaying Lightning payments, this functionality is a must.
This advanced functionality let you have a view or description of the adjacent part of the Lightning network linked to your node or the one you’re connected too.
When you receive or send bitcoin through a Lightning network channel, the channel state is constantly updated in order to reflect the right bitcoin balance of the respective Lightning wallets. Theses states channel must be preserved by both party if they want to claim successfully bitcoin funds on chain once they’re done transacting on the Lightning network. That’s why it is crucial for non-custodial Lightning wallets to preserve a backup for your channels.
The backup for your Lightning wallet will simply be a file. You can either save it on a cloud or locally. Some wallet will also let you delegate this blundersome task by hosting it for you.
Channel Funding Fees Selection
Since a Lightning channel is created through an initial transaction on-chain, there are some fees involved. Some Lightning wallets will give you full control in regards of the fees as other may be more restrictive. As a rule of thumb, the more generous you’re with your fees, the faster you will be able to open a channel. If you’re not in a hurry, you can just select the lowest fee possible.
Request Inbound liquidity in App
In order to receive Lightning network payments, a wallet needs to have some inbound liquidity committed to it. Some wallet will have a pre-built functionality to ask some funds to be committed to them in order to receive Lightning payments. For those who don’t, a lot of Lightning services will offer you automatically inbound liquidity once you open a channel with them.
A non-custodial Lightning wallet needs to be connected to a Lightning node in order to work. Some wallet will propose to link your wallet to a specific node, for example the node related to the company’s wallet. Others can propose known nodes in the market. In the instance were there isn’t a proposed node, the user will have to find a node to connect to on its one.
Autopilot is a feature in some of the Lightning network implementation that permits an automatic way to set up channels. The feature analyzes the topology of the Lightning network and give recommendations in regards to how much one’s wallet capacity should be attributed to specific nodes. However, the feature isn’t fully ready yet.
The opening of a Lightning channel involves a lot of cryptographic secrets including some conditions in regards to how long the Lightning channel will be open. However, having the ability to close a channel without waiting for a certain time period is a functionality that let the user to op-out from a channel at his guise. However, a force closure involves you paying on-chain fees and should only be used in extreme measures.
Since payments are ultimately unidirectional in the Lightning network, some Lightning wallets will only offer the option to send Lightning payments and don’t offer the option to receive bitcoin payment through the Lightning network. This might seem inconvenient, but it means you don’t need to connect regularly to your wallet in order to verify if someone hasn’t published an old channel state that might be in your disadvantage. As someone publishing an old-state of a channel dedicated to out-going payments, would be a gift to you.
Receive funds through Lightning right away?
For those wallets that let you receive bitcoin payment through the Lightning network, some of them require some channel creation and management before proceeding. Although this might be a problem in regards to the user experience and some wallets have implemented the possibility to receive some funds right away.
Payment request amount obligatory
When requesting a payment through the Lightning network with the creation of a Lightning invoice, some wallet will require the exact amount to be included in the invoice.
Payment request description
This feature gives you the ability to write a description linked to your Lightning invoices. This can be useful in order to keep track and classify all your incoming payments.
Payment request expiry setup
This feature gives you the ability to set up a limited time for which the payment request will remain valid. This can be useful as the price of Bitcoin might fluctuate rapidly over time and you want to be paid the right amount.
Pay Invoice Without Amount Requested
For those wallets that permit you to create payment requests without a specified amount, the payee needs a Lightning wallet that let him pay invoices without a specific amount linked to them.
Maximum Lightning Fee
When someone sends a Lightning payment through the Lightning network, there are currently no Lightning wallets that offer estimation in regards of the total fee that is going to be applied for the routing of a payment. The functionality of a maximum Lightning fee give the user the option to limit the fee in terms of percentage of the total value of the payment.
Since every Lightning payments create a valid new channel state that can be published on-chain as a valid bitcoin payment, one must watch the network and connect regularly to its wallet in order to verify other peers haven’t published a channel state in one’s disadvantage. The need to regularly connect to one’s Lightning wallet might be inconvenient for most users and hard to understand. That’s why a lot of work was put in into watchtowers. Theses are service that watches the network for you while you’re offline and that could punish a peer that its acting maliciously. Some Lightning network wallets already offer the option to use these services for a certain fee.
The swap feature permits you to use bitcoin funds interchangeably between the Lightning network and the first layer. This is an advanced feature but most of the complexity will be hidden behind the Lightning network wallet interfaces that support it.
LN URL Support
This feature highlights the possibility of requesting a payment or paying an invoice via a regular URL. That can be useful as people are used to using links in non-bitcoin related web activities.
Some Lightning wallets will let you buy bitcoin or sell it directly on their platform.
Stay up to date on Bitcoin by signing up to our newsletter!