The need for privacy enhancements in the bitcoin protocol
Recently Russia has been looking at legalizing bitcoin as a financial instrument. This is good news for Bitcoin, we want to be a currency for the entire world. However this is a very troubling quote from the Russia’s deputy finance minister Alexey Moiseev:
“The state needs to know who at every moment of time stands on both sides of the financial chain,” Moiseev said. “If there’s a transaction, the people who facilitate it should understand from whom they bought and to whom they were selling, just like with bank operations.”
Key word in that paragraph is “the state”. I don’t believe that the state needs to know the sender and receiver of a transaction — only the sender and receiver need to know that.
The underscores the need for more privacy as the protocol level in bitcoin. If we can’t increase the block size via segwit, how on earth do we plan to get a privacy enhancement into the protocol?
It is obvious from the statement above, the Russian government is going to vehemently oppose any privacy upgrade to the protocol. Whether they just decide to ban bitcoin or sow dissent in the community is yet to be seen.
I believe we need to include privacy enhancing features as soon as possible. As we grow as a currency changing the protocol is only going to be more difficult in the future. It is imperative we include privacy as default as soon as we safely can. If we don’t make a concerted effort to do this before mainstream adoption I believe it will never happen.
One of these solutions is called Confidential Transactions. It essentially “blinds” the amounts on transaction outputs — that is it is only possible for the sender and receiver to see the amounts in the transaction. Confidential Transactions have been deployed in the elements project and there has been a lot of optimizations done to get the extra data added by Confidential Transactions smaller.
According to Mark Friedenbach, we could include Confidential Transactions today in the protocol and still have 1/10th of the throughput (tx capacity) of the protocol:
The transaction throughput of a Confidential Transactions chain with 4MB max block weight and 10min blocks would be about the same as a pre-segwit 100kB block.
Obviously this is a pretty drastic reduction in throughput of Bitcoin — but we need to incentivize people to move to layer 2 solutions such as lightning. This is one way of doing it while also enhancing privacy of the base protocol.
One of the biggest regrets of the internet pioneers was not enabling encryption as default. Now we have the majority of the web using http instead of https. We need to make a concerted effort to make sure we don’t make the same mistakes as those before us. We need to include privacy enhancing features into the bitcoin protocol while it is still in its infancy.
It will be 10x harder to include these features in 5 years . Maybe even impossible with governments like Russia lobbying against them.