Anonymity in the open with Tornado Cash

Cryptocurrency transactions can be tracked from point to point because all transaction data is public. The transaction data needs to be public to ensure the financial integrity of the system, which is non-negotiable. So, given that we cannot get rid of transparency, how do we achieve privacy? In Bitcoin, one way to achieve privacy is through Coinjoins. Many users come together, add their own coins as inputs to a specific large transaction, get equivalent coins as outputs on the other side of the same large transaction, and confirm this transaction on the blockchain. If enough users participate in such coinjoins frequently, every user gets a measure of privacy about where their coins came from, or where their coins went. The problem is – if these users don’t know each other, they need a central coordinator to build this large transaction. To make the central coordinator as trustless as possible, coinjoin protocols use blind signatures. ...

BIP-32, an explainer

BIP-32 is a Bitcoin Improvement Proposal that allows Alice to start with a single private key, and generate a series of private and public keys from it, where the public keys can be generated independently from the private keys. This is not as easy as it sounds, because in most public key crypto-systems, you can generate a public key only if you have the private key in hand. BIP-32 uses a nifty little crypto-trick to generate public keys without having access to their corresponding private keys, and the trick is rather simple, once you know it. ...

Homomorphism

If Zero Knowledge Proofs are the kind of magic seen in a full fledged opera theater, Homomorphisms in Cryptography are like intimate card tricks done in a 1-1 setting. Less grand, less machinery at work, but elegant and counter-intuitive all the same. You hear about homomorphism in encryption first. They also appear in commitment schemes – and given my interest in Bitcoin, homomorphic commitments more appropriate for this blog. But let’s see encryption first, as it’s a bit more accessible. ...