Intro to Grin

@i1skn

Grin is an in-progress implementation of the Mimblewimble protocol

Mimblewimble

  • Proposed by Tom Elvis Jedusor (2 Aug 2016), revised by Andrew Poelstra (6 Oct 2016).
  • Implements the concepts, described in Confidential Transactions (Maxwell), CoinJoin (Maxwell) and One-way Aggregate Signatures (Mouton).
  • Only relies on Elliptic Curve Cryptography which has been tried and tested for decades.

Mimblewimble in details

Confidential transactions

Case: Alice has transferred some amount to Bob.

After the output was created:

  • It is impossible to distinguish this output from others
  • It is impossible to find matching input for this output
  • It is impossible to observe the amount in this output

Complete fungibility

Fungibility is the quality of an item that makes it identical to another of the same kind

Interactive transactions

Scalability

Only the block headers and the UTXO set is needed to validate the chain.

To keep the UTXO set minimal, fees are proportional to the number of outputs created in a transaction.

As a result it scales mostly with the number of users and minimally with the number of transactions.

Cut through

No scripts

But scriptless scripts!

Lets come back to Grin

Why not a sidechain?

  • 3 years ago sidechains were still more or less in theory
  • Bitcoin is very conservative
  • Some concepts are impossible in Bitcoin

Grin

  • Announced October 20th, 2016 by "Ignotus Peverell"
  • First Mimblewimble implementation
  • Written in Rust
  • Open source, 100% community driven
  • Funded by donations
  • No: ICO, CEO, DevCo, advisors, investors, founder rewards, premines, pre-allocation, pre...

Governance

  • KISS (keep it simple, stupid)
  • No foundation
  • Technocratic council
  • Decisions taken in the open in bi-weekly development and governance meetings where possible

How to describe Grin?

  • Open
  • Fair
  • Honest
  • Minimal
  • Rational
  • Transparent

Implementation

  • Schnorr Signatures: smaller signatures, better security and multi-signatures.
  • Bulletproofs: smaller range proofs required for Confidential Transactions.
  • Scriptless scripts: enables atomic swaps in Grin and some other scripting behavior.
  • Dandelion: privacy-preserving transaction propagation and aggregation.

Emission

1 Grin per second FOREVER!

Yes, it's different from Bitcoin.

Emission is stable, inflation decreases.

Discourages unfair advantage for early adopters to the benefit of improved longer term adoption.

Proof of Work

Cuckoo Cycle family. Creator: John Tromp.

Finding 42-cycles in random bipartite graphs with billions of nodes.

Grin PoW algorithms


Algorithm Launch Year 1 Year 2
CuckARoo29 (GPU friendly) 90% 45% 0%
CuckAToo31 (ASIC friendly) 10% 55% 100%

Launched Jan 15 2019

Resources

Shameless plug

Ironbelly

I am the author of Ironbelly - Grin mobile wallet.

iOS version is available for beta-testing in Testflight.

More: https://cycle42.com/ironbelly

Takeaways

  • Grin is not perfectly private. Yet.
  • Minimal in design.
  • Privacy by default.
  • Community driven.
  • The fair launch and the fair emission.

Thanks!

twitter/github/gitter/telegram: @i1skn

Some formulations and conclusions were taken from @lehnberg presentation at GrinconUS(0)

This presentation is available here: https://slides.sorokin.io/grin