Today we are proud to share that our team has helped Blockware Solutions power their Asic secondary marketplace with Lightning infrastructure.
One of the most common concerns among hosted mining solutions is the lack of liquidity in the secondary market.
Once a user owns miners that are hashing and wants to sell, there is currently no quick and easy way to enable the immediate sale of an ASIC.
Blockware Solutions have created a marketplace solution that lets their users list their ASIC and sell for on-chain or lightning. It immediately lets the purchaser point their miner to the Blockware pool and their wallet to start hashing.
View their marketplace now.
Reach out to our Business Development team to learn how we can help your brand create a custom lightning network experience for your customers.
Introduction
“Privacy is necessary for an open society in the electronic age. Privacy is not secrecy. A private matter is something one doesn’t want the whole world to know, but a secret matter is something one doesn’t want anybody to know. Privacy is the power to selectively reveal oneself to the world.”
A Cypherpunk’s Manifesto, by Eric Hughes.
In 1993, “A Cypherpunk’s Manifesto” was published in the cypherpunk mailing list. It described the importance of privacy in the digital realm and stated that cypherpunks were dedicated to building anonymous systems, including electronic money.
Fast forward 30 years: bitcoin is already 14 years old and the lightning network’s first channel was opened 5 years ago. Does the lightning network live up to the words of Eric Hughes? In this piece, we’ll go through how private the lighting network is and what kind of heuristics or attacks can be put to use to de-anonymize users.
What are the issues with the networking aspect? How can the first layer compromise the privacy of payment channels? How routing can be explored to retrieve information about payments? We’ll also analyze privacy from different perspectives: the sender and the receiver. Lastly, we’ll see technologies that can mitigate some privacy issues.
Defining Privacy
Before going any further, let’s define what the word “privacy” means in this specific context. Usually, for computer systems, privacy can be thought of in terms of “information security” and this in turn can be broken down into three properties: confidentiality, integrity, and availability. Here, we’ll be focusing on the first property, confidentiality, which is assurance that the information only gets to the intended recipients.
Another useful concept for this article is the notion of “anonymity set”. This is a set of identities that, from an attacker’s point of view, an action could correspond to. The theme of this article is: “how can an attacker use the properties of the Lightning Network to reduce the anonymity set of a given user or even de-anonymize it?”
The anonymity set of this action is two.
Network
The lightning network is a set of connected computers that route bitcoin transactions to one another. To route payments, these computers must be able to find each other over the internet, so when a new lightning node joins the network, it announces its address and its node ID. There are currently two types of addresses that can be used currently: a public IP or a Tor onion address.
A public IP exposes sensitive data about the identity running the node, and you don’t have to be any sort of hacker to access this information: a quick search on an IP location tool reveals the approximate location and the internet service provider for a given IP.
A solution for this problem is using a Tor onion address. This is a special kind of internet address that cannot be traced back to the user’s IP address. The tradeoff is that the node is hosted on the Tor network, which is more unreliable than the regular network and can make the success rate for your payments drop significantly. This might be acceptable for an end-user, but for routing nodes the tradeoff might not be worth it, as the service will become more unreliable and peers will always prefer to route payments through reliable routers.
Cross-Layer Data Leakage
The lightning network is a “layer two” protocol. This means that lighting is built on top of another protocol: bitcoin. This is similar to how data transmission on the internet works: protocols stacked on top of each other that abstract complexity from the user.
The ideal situation would be for the higher level to see the lower level as a simplified and self-contained unit, but in practice, the inner workings of the lower level often become apparent in the higher level, creating a problem known as “leaky abstractions.”
Lighting uses the bitcoin blockchain to anchor its payment channels. This can be used to tie UTXOs to lightning nodes. Let’s explore this in further detail.
Funding Transactions
A Funding transaction, as explained here, is a bitcoin transaction that locks the inputs into a Pay-to-Witness-Script-Hash (P2WSH) output. The script that locks the bitcoin is a 2-of-2 multi-signature. If this output is unspent, and if the attacker only has access to on-chain data, there is no way of differentiating a funding transaction from any other transaction with P2WSH. This is because only the hash of the script is published on-chain. Therefore, the attacker will also need to be listening to Lighting gossip to start linking funding transactions and its UTXOs with payment channels.
When a public payment channel is created, the node sends a `channel_announcement` message to other nodes in the network through the gossip protocol. To avoid spam, the node sending the message must prove that the payment channel exists in the blockchain. This is done by sending the location of the funding transaction along with some other data that can be used by third parties to validate the ownership of the funding transaction.
This is how the attacker links a funding transaction with lighting nodes. The location of the funding transaction can be retrieved by “short channel id” in the `channel_annoucement` message. It looks like this:
xx