This is the eighth installment in our Lightning 101 series. Here’s a list of previous pieces:
- What is the Lightning Network
- What is a Lightning Node
- What is a Lightning Invoice
- What are Lightning Channels
- What is Lightning Routing
- Lightning Network Fees
- Why is the Lightning Network Secure?
Many people believe that Bitcoin provides users with anonymous transactions, but cryptocurrency experts know that this is not the case. The Bitcoin blockchain is a publicly available transparent ledger, that never deletes old information. Security and compliance has become an increasingly important issue in the cryptocurrency industry. Anti-Money Laundering laws (AML) and Know Your Customer regulations (KYC) require exchanges to monitor deposits and withdrawals, verifying the origin and destination of customer funds. There’s several companies that provide services related to what’s called blockchain analysis, where they continuously monitor the blockchains of various cryptocurrencies.
How does the Lightning Network fit in with all of this, and what level of privacy does it provide?
As we mentioned in our first blog post in this series, one of the key innovations between the Lightning Network and the Bitcoin blockchain is that not all information is broadcast to all participants. Lightning channels need only be synchronized between the involved parties making the Lightning Network faster and more efficient than a blockchain transaction. Additionally, right off the bat this gives a higher degree of privacy as well. The contents of a channel are only known by the two involved nodes. If a regular Bitcoin transaction is similar to uploading your bank statement to a public web site, a Lightning Network transaction is similar to showing each merchant you pay how much money you have in one specific compartment of your wallet. You’re still revealing some information, but much less.
What information is public on Lightning?
When a channel is created an announcement is sent over the network. It includes how large the created channel is. However, it does not say how much of the total channel capacity belongs to each participant. So if Alice and Bob has a channel worth 100 000 satoshis, they might have 50 000 each, Alice might have everything or Bob might have everything.
When a Lightning channel is created or closed, it leaves a footprint on the Bitcoin blockchain. (Note that this footprint tells a third party very little about how you routed your payments while on the Lightning Network). These blockchain transactions can be analyzed just like a normal Bitcoin transaction can. Although by just looking at the Bitcoin blockchain it is not apparent which transactions are related to the Lightning Network, and which ones are not. Someone who wants to piece together spending patterns might have to combine multiple data points from different sets of information.
What information can potentially be derived?
If a company wants to analyze what’s going on on the Lightning Network they might set up a Lightning Node and try and get as many nodes to send payments through their node as possible. This can give them some data to analyze, potentially telling them something about people’s spending patterns. In a previous blog post, we discussed routing nodes. They forward payments on the Lightning Network, making sure it’s possible to pay people without having a direct channel with them. One important aspect of routing, is that routers do not know the start or end points of a transaction it transmits. This is due to some cryptographic tricks used in routing, much like Tor. However, if a large routing node figures out which other routing nodes or merchants it is connected to, it might be able to make some guesses as to what sort of payments are being transmitted.
One thing to keep in mind here, is that the barrier to set up a Lightning node is very low, and it’s most likely going to become a very competitive space, with several actors wanting to provide liquidity. Users might therefore choose routers that don’t monitor their transactions. Routing on the Lightning Network can be compared to mining on the Bitcoin blockchain. Both activities are designed to be possible without receiving permission from anyone else, and both have moderately low barriers to entry. Routing on the Lightning Network has an even lower barrier to entry than bitcoin mining. Both activities require capital be put to use, but on Lightning capital in itself is enough.
Do all nodes broadcast all information?
An important distinction to be aware of is the difference between public and a private channels. If you have setup a personal node that won’t be online 24/7 and does not have any significant amount of capital attached to it, there’s little reason for you to advertise your channels to the network. You won’t route many payments anyways! It’s therefore possible to create private channels. Private channels are never advertised, and therefore only used by the two involved nodes. End users can open private channels to a few big liquidity providers, and never advertise a single channel to the rest of the network. The node itself might not even be known to the network. In the future, it’s not unlikely that the majority of channels created by mobile wallets will be private. This increases the end user privacy, while also making makes routing easier. If channels with low capacity and bad routing capabilities aren’t advertised, there will be less “noise” to filter when trying to make routing decisions.
The Lightning Network is more private than the Bitcoin blockchain, mostly due to how transactions only need to be known between a few select parties, and not the entire network. There’s still some information being released onto the network, and Lightning does not provide as good privacy as other privacy-oriented cryptocurrencies such as Zcash or Monero.
In December of last year Suredbits released the first ever cryptocurrency market data API where you can stream data and pay for it all on the Lightning Network. Here’s some additional reading on that topic you may find interesting: