Bitcoin is somewhat private – at least for users who know what they’re doing. But most people don’t.
The network’s transaction data is fully public for anyone to view. Most people using Bitcoin might not realize that, because of the unique way Bitcoin works, their financial history is being recorded indelibly in a ledger that anyone in the world can pull up on their computer with ease.
If Bitcoin users aren’t careful, their transaction history could potentially be exposed to the world. Not to mention, analytics companies like Chainalysis are dedicated to unearthing detailed information about where bitcoin is being sent and who owns which transactions.
Behind the scenes, developers are crafting privacy updates in the hopes that users of Bitcoin can use the currency privately – without the extra thought or effort.
This article is part of CoinDesk’s Privacy Week series.
Taproot doesn’t fully solve Bitcoin’s privacy issues. But as we’ll see, it does pave the way for some substantial improvements.
Read More: Why Bitcoin’s Taproot Upgrade Matters
Disguising complex transactions
In Bitcoin now, most transactions are simple: Just send bitcoin from one person’s wallet address to another. But there are also more complex transactions with more complex rules, such as multisignature transactions, which require two or more people to sign off on a transaction in order for it to go through.
Then there’s the Lightning Network, a way to send faster and more scalable payments on Bitcoin, which is needed because Bitcoin’s on-chain capacity is limited. Opening and closing a Lightning channel creates a unique-looking transaction on the Bitcoin blockchain.
At present, each of these complex types of transactions looks a little bit different from “normal” transactions. In Bitcoin’s completely public ledger, there are little technical details built into each transaction that make it possible to tell if someone made a multisignature transaction or a Lightning transaction.
That’s where Taproot comes in. The privacy upgrade makes it possible to make more complex transactions exactly like normal transactions. All of these different transactions will look exactly the same.
Hiding Lightning transactions in the crowd
Lightning builds on top of multisignature transactions. To send bitcoin over the Lightning Network, a user needs to open a Lightning “channel.” Once they do, they can make as many transactions as they would like off-chain – potentially thousands – without touching the main Bitcoin blockchain. This process helps Bitcoin scale because there’s limited on-chain capacity.
In this way, Lightning already boosts Bitcoin’s privacy because, unlike with on-chain transactions, none of the individual transactions between the opening transaction and the closing transaction are stored directly on the Bitcoin blockchain.
But for now, each Lightning opening channel is a detectable on-chain transaction, which looks different from normal, simple transactions. Similarly, the final transaction a user makes when they want to close their channel shows up as a distinctly different type of transaction on the Bitcoin blockchain.
Taproot hides these transactions from plain view. With Taproot, any transaction on the Bitcoin blockchain could conceivably be a Lightning open or close. But no one could possibly know for sure, thanks to Taproot’s cryptography.
“So we’ll get into nice situation that many random [transactions] out there ‘could have been’ [Lightning Network] channels which actually transport coins off-chain, hugely boosting privacy even for people who don’t use [Lightning Network],” as Bitcoin privacy expert Chris Belcher tweeted in 2020, a year before Taproot activated.
PTLCs: Disconnecting Lightning bounces
As we described above, Taproot Lightning transactions can be hidden on-chain.
But some off-chain entities can still see the payments. The Lightning Network is, as the name suggests, a network, composed of thousands of “routing nodes” connected together that help to “route” payments to their destination. Each Lightning payment bounces from one routing node to the next through channels, until it reaches the recipient.
Each of these routing nodes can see a little bit about each payment that they route. Some of the information about the payment is already shielded to a degree – like where the payment came from.
Currently, these payments are secured with so-called “Hash Time Locked Contracts (HTLCs),” smart contracts that ensure that the routing nodes in a payment’s path cannot steal a user’s payment (though they can receive a small fee for each payment that they route).
With HTLCs, routing nodes can see the preimage. Because this preimage data is the same across all bounces in the payment path, it’s possible for spying routing nodes to figure out where a payment came from. Say a spy owns two routing nodes which detect two payments with the same preimage. Using that information, it can potentially guess the payment’s senders and receivers.
Taproot opens the door to a HTLC replacement: Point Time Lock Contracts (PTLCs). PTLCs offer a way to undermine this kind of spying. Because each “payment point” looks different, unlike every HTLC preimage, it’s less easy to correlate each bounce in a payment route. As such, PTLCs offer better Lightning Network privacy.
Better Bitcoin privacy still requires patience
The bad news is that these types of indistinguishable transactions won’t suddenly be possible now that Taproot is activated, however. It’s exciting that Taproot transactions are now finally possible, but there’s still plenty of work to do. Most wallets allowing users to send and receive bitcoin transactions still need to upgrade their software to support Taproot.
And for Lightning transactions in particular, each Lightning software implementation needs to add support for the new transaction type. Then, wallets do as well. This will take some time.
Similarly, PTLCs aren’t a change that will be possible straight away. As with Taproot hiding complex transactions, there’s still a lot of development to be done to support PTLCs in each Lightning implementation.
Not to mention, Taproot has one privacy problem in the short term: Taproot transactions look different from the transaction types that came before it. So far, only less than 1% of Bitcoin transactions support Taproot. So, Taproot transactions themselves stand out from the rest of the transactions.
Taproot has finally activated after years of development, meaning a massive hurdle has been crossed in the path to these shiny privacy improvements.