Post 14 - Filed under blockchains

The Mimblewimble Protocol

Mimblewimble is named after a tongue-tying spell in Harry Potter, and provides privacy and reduced traceability for blockchains by utilizing the following techniques. These have been incorporated into many of the privacy blockchains, starting with Grin and Beam, and later added to Litecoin.

what is it?

Mimblewimble does not prevent timing attacks, or hide activity coming on and off the privacy blockchain. Users should also be aware that blockchains with fewer users can expect lesser privacy, since the anonymity set is small. Mimblewimble does address several key privacy issues on blockchains, both from acive adversaries on the netork, and from forensic inspection later.

features

Confidential Transactions hide the transaction amounts from view, but users can still verify that inputs equal outputs and that no coins were created illicitly, without seeing the specific amounts per transaction.

stealth addresses
Fig 01 stealth address hide addresses

Stealth addresses or no addresses at all. In the original design, the sender and receipient both work together to create the signed transaction, and it does not contain either address. Instead both parties keep cryptogaphic keys. Some systems add stealth addresses since the original method depends on both users getting online to participate, so transactions require more time.

Transaction aggregation is simply combining multiple transactions into one larger one. So imagine three transactions: input address A sending to output address B, sender C sending to recipient D, and input E sending to output F. A -> B, C -> D, E -> F can be replaced by A + C + E as inputs to a transaction with outputs going to B, D, F. This is similar to coinjoin, in that more inputs are joined into a single transaction to make it mor difficut to determine which input address sent money to a given output address.

Cut-through is the idea that if A pays B, then B pays C and the amounts are the same, then input B and output B can be eliminated from the two transactions, so that A pays C in single transaction.

Compacted transaction history is about the outputs and a cryptogaphic proof being stored instead of the transaction details. This protects against forensic analysis.

dandelion protocol

dandelion protocol
Fig 02 dandelion protocol conceals the transaction source

Dandelion protocol is a network protocol that is not really part of mimblewimble proper, but was implemented alongside the rest, so it's close. The idea is to conceal the source of a transaction from an active adversary on the network. Bitcoin nodes, for example, broadcast new blocks immediately to ensure they maximize the chances of receiving their block reward. In Dandelion, a node with a new block will usually pass along the new block without broadcasting it, so that any nodes seen broadcasting this info are unlikely to be the source.