Article Image

IPFS News Link • Bitcoin

Mimblewimble explained like you're 12

• Medium.Com

Mimblewimble is a ridiculously-named technology that stops blockchains from blabbing personal information. It's named after a Harry Potter spell that stops people from spilling secrets.

Harry Potter?—?Warners Bros?—?Mimblewimble

Satoshi Nakamoto's Bitcoin paper has a section titled 'Privacy,' in which Nakamoto is very realistic about Bitcoin's privacy limitations. These limitations have gotten worse as adversaries have gotten better at using the data Bitcoin spills to dox/deanonymise Bitcoin users. This surprised some people who thought Bitcoin was private because it doesn't disclose names. Let's look at what data it does disclose, and why —

Bitcoin blabs three secrets to fulfill two requirements

Bitcoin blabs three secrets about every transaction:

1. Sender's address

2. Amount of coins sent

3. Receiver's address

Bitcoin doesn't reveal these because it hates privacy. It reveals them because any money system?—?gold, cash, barter— has to fulfill two requirements:

It has to verify that the amount received is equal to the amount sent. A cryptocurrency would be hopelessly broken if I could make a transaction sending 1 coin from one address, and receiving 2 at another address. If I put 5 euros in your hand, 5 euros leave my hand, and 5 enter your hand. I lose five, you gain five, no money is created from thin air during the transaction, and none vanishes.

I cannot initiate a wire transfer from your bank account, but rather only from my own. We have to verify that the transaction is sent by the holder of the debit card and PIN, or the online banking password, or the private key in the case of cryptocurrencies.

Bitcoin fulfills the two requirements by spilling the three secrets above.

Bitcoin transactions contain the amount and the receiver's address in plaintext. That is enough to meet the first requirement; we see that 5 bitcoins went into the transaction, and 5 came out.

To verify that the second requirement is fulfilled, Bitcoin uses public addresses with corresponding private keys. The public address owns the bitcoins. The sender generates a signature using the corresponding private key, and signs his transaction (which, I repeat, contains the amount and the receiver's address in plaintext). Everyone can check that the signature comes from the private key behind the address that holds the coins; this way we know the signature comes from the guy with authority to initiate the transaction.

The claim I am going to make of Mimblewimble is that it fulfills the two requirements while spilling zero of the three secrets.

I am going to demonstrate this with some simple maths, comprehensible to an educated 10-year-old, and also some more advanced maths, comprehensible to an educated 12-year-old.

Multiplying is easy, but factorising is hard

A lot of people are scared of maths and skip over it when they see it in an essay. Well, are you scared of this maths?

If I gave you a pen and paper and two minutes, you could solve any of these, right? It's pretty easy for people to multiply numbers. As for computers, even a tiny pocket-computer can multiply millions by millions just as quickly as you can press the buttons.

But let's make one little change. Let's just move the question marks to the other side:

Now if I gave you a pen and paper and two minutes, could you solve these? Probably not. All we did was switch the direction of the operation, and it became much harder.

PurePatriot