Although the media often hypes up Bitcoin as an anonymous, untraceable form of digital cash, the reality is that the blockchain is in desperate need of better privacy features. Earlier this year, the Open Bitcoin Privacy Project describe the sad state of privacy in bitcoin wallets in the second edition of their Bitcoin Wallet Privacy Rating Report.
There have been many proposals made for privacy-focused improvements to Bitcoin, but practically none of them have been implemented in any real, meaningful manner. Some useful improvements appear to be quite close to release, while others may take much longer. There are also some changes that bitcoin wallet developers and users could make today to improve privacy for everyone.
What Can Be Done Right Now?
A few months ago, Blockstream Testing Engineer Jonas Nick gave a presentation on Bitcoin privacy at Blockchain Meetup Zurich. During that presentation, Nick provided recommendations to developers and users as to how privacy in Bitcoin can be improved over the short term. “Choose a wallet that is popular and implement a plugin that connects to JoinMarket . . . I think that’s the most practical way for how to go forward,” Nick told the developers in the audience.
JoinMarket is an implementation of CoinJoin with an incentive structure aimed at convincing more bitcoin users to mix their coins with each other. Although CoinJoin was first proposed by Blockstream CTO and Bitcoin Core contributor Greg Maxwell back in August of 2013, it still isn’t used on a large scale. JoinMarket has been the first project to get the average Bitcoin user to care about CoinJoin.
“I should probably add that this has not yet been reviewed by academics,” Nick added during his presentation. “There are a few papers about this — I’m not 100 percent sure that it’s 100 percent secure . . . But I think it’s much better than the current situation; that’s for sure.”
Although JoinMarket is a standalone application right now, an experimental plugin for Electrum was recently developed. There have also been rumblings that JoinMarket could be the version of CoinJoin that should be integrated into Bitcoin Core by default.
Nick also added that wallets could do a better job when it comes to coin selection. This is the process by which a wallet chooses which inputs (coins) to use in a new Bitcoin transaction. If the wallet is unnecessarily pulling together coins from different past transactions, the user’s privacy is weakened.
Recently, Inside Bitcoins reached out to Jonas Nick to find out what he thinks about the future of privacy in Bitcoin. These days, Nick is excited about Schnorr signatures, which are expected to eventually make their way to Bitcoin via a soft fork. “I am quite excited about signature aggregation in the context of CoinJoin, because it actually incentivizes jointly creating transactions,” Nick explained.
Schnorr signatures are a change to the signature scheme used in the Bitcoin protocol, and they enable, among other things, a financial incentive for everyone on the network to use CoinJoin. This is because Schnorr incentivizes users to combine their signatures together, which lowers the overall size of the transaction. The incentives are created by the fact miners tend to charge lower fees for transactions of smaller sizes.
According to Nick, a transaction with two inputs and two outputs would see a just under 6 percent decline in fees when compared to a traditional transaction. When doing a CoinJoin transaction with five other people, the savings in fees increases to 10 percent. “I expect that this raises the demand for CoinJoin and, therefore, causes wallet authors to actually implement it,” said Nick.
With JoinMarket and Schnorr signatures creating the proper incentives for Bitcoin users to demand CoinJoin by default, the only remaining piece of the puzzle is Confidential Transactions. While CoinJoin masks where payments are being sent, Confidential Transactions hides the amounts that are being sent in those transactions. Confidential Transactions is a concept first proposed by Adam Back, although the improvement has since been developed by Greg Maxwell, Pieter Wuille, and Andrew Poelstra at Blockstream.
This method of hiding the amounts sent in Bitcoin transactions is already active on Elements Alpha, which is a sidechain to the Bitcoin testnet, but it could be released into a real world environment relatively soon. “We do anticipate Liquid being the first place it’s deployed to a mainnet environment,” Blockstream’s Eric Martindale told Inside Bitcoins. “The planned rollout is definitely to start with a pegged (albeit federated) mainnet sidechain, get some production use out of it, make the proper improvements, and then propose it to the Bitcoin community via the BIP process.”
Both Segregated Witness and CheckSequenceVerify followed similar paths from the Elements Alpha testnet sidechain to Bitcoin mainnet. The fact that Confidential Transactions will also be rolled out on a mainnet sidechain before being proposed to the Bitcoin community is a key difference.
When CoinJoin and Confidential Transactions are combined, fungibility on the Bitcoin blockchain will be greatly improved. Censorship resistance is the key selling point of Bitcoin, which is why these sorts of privacy enhancements are of critical importance.
Featured image via Josh Hallett.
Kyle Torpey is a freelance writer and researcher who has been following Bitcoin since 2011. His work has been featured on VICE Motherboard, Business Insider, NASDAQ, American Banker, RT’s Keiser Report, and many other media outlets. You can follow @kyletorpey on Twitter.