Grin is a cryptocurrency that focuses on privacy and scalability. It originated as an implementation of the Mimblewimble protocol introduced by an anonymous entity in the #bitcoin-wizards IRC channel. The excerpts from the official document highlighting its high-level implementation is as follows:
- No Amount
First, there are no amounts. A mimblewimble implementation natively uses Confidential Transactions, meaning all amounts are hidden; They are provably impossible to uncover, yet easily verified. Even before anything else, simply hiding amounts makes any analysis significantly more challenging.
- No Addresses
Notably, there are no on-chain addresses either, as transaction building is interactive. Transactions hold minimal information, and each output is simply a commitment; a point on the curve.
Furthermore, a key concept of mimblewimble transactions is that several of them can be safely merged together, resulting in what looks like a single transaction. When done at the block level, every block essentially becomes one large transaction. The outcome is a non-interactive CoinJoin with hidden amounts. It is named non-interactive since all transactions are aggregated into one without any coordination required between the different parties. This is possible to do at the protocol level, and is simply done automatically whenever several transactions meet each other.
An observer knows how many transactions are included in the block, since each one carries a kernel, but nothing more. Any further information is impossible to obtain by looking at the chain.
Another trick mimblewimble sets the stage for is to perform cut-through. In an example scenario where A sent funds to B, and then B sent them over to C, any trace of B's involvement can be completely removed, such that the result is seen as A -> C.