‘Private Transactions’ was an item on IOTA’s development roadmap published a few months ago. This post gives a brief overview of the current situation and the work that I have been doing for IOTA@UCL.

Most privacy issues in cryptocurrency are caused by address reuse. Address reuse allows anyone you transact with to find out everyone else you are transacting with (and when, and how much), in addition to how much money you have in total. This is information which businesses as well as ordinary users generally do not want to make completely public.

The good news is that IOTA has features which significantly improve its privacy over cryptocurrencies such as Ethereum. Unlike Ethereum’s ‘account-based’ scheme, IOTA uses deterministic address creation, so you can painlessly receive money to fresh addresses each time you are paid.

The problem arises when you actually spend your funds, as you will more than likely need to consolidate several of your addresses in a single payment, demonstrating a connection between them all. This is the problem that I am aiming to solve.

I have been researching the history of privacy-enhancing ideas in cryptocurrency, such as Coinjoin, Confidential Transactions, and Zero-Knowledge Proofs, and have considered their applicability to IOTA. Although many of these protocols are elegant theoretically, they have serious problems in terms of real-world use and adoption, especially in a world of microtransactions and lightweight IoT devices. I am coding something which I believe will be immediately useful — expect further news soon.

Besides this, I have been doing various other work on the IOTA ecosystem, including a website to help understand various facets of IOTA, such as its denominations and ternary system: https://laurencetennant.com/iota-tools/.

Overall, I am really enjoying interacting with IOTA’s talented developers, and outstanding community.