A new Simple money-blockchain design

Grin POST
3 min readFeb 26, 2024

--

Grin.MW

What is your favorite altcoin design? [1]

Let’s focus purely on design, and not talk about price, profitability, popularity, people/parties involved. Design aspects include;

  • consensus model
  • protocol
  • proof of work algorithm.
  • difficulty adjustment algorithm.
  • smart contracts.
  • utxo/account model.
  • block size.
  • block interval.
  • block chain or graph.
  • codebase.
  • security.
  • censorship resistance.
  • scalability.
  • use of zero knowledge proofs.
  • resource consumption for full nodes or light clients.

disk usage

memory usage

bandwidth usage

sync from scratch

Decentralization and monetary policy[1a]

  • emission.
  • fees.
  • spam resistance
  • (avoiding) wealth concentration
  • supply auditability.
  • cryptographic assumptions
  • quantum resistance.
  • design complexity.

privacy aspects like.

* confidentiality (hiding amounts.)

*stealth addresses.

* tx graph obfuscation/hiding

Simple & Secure Design

Simple emission [2]

  • Simply fair. Simply disinflationary. Decentralize the wealth.

Simple block interval

  • One minute. 60 seconds. 60 coin subsidy.

Simple consensus

  • Proof of Work. Most cumulative difficulty wins.

Simple protocol [3]

  • In (pure) Mimblewimble, outputs are Pedersen commitments r*G+v*H combining value v and blinding factor r into a single curve point. The blinding factor serves both to hide the value and to control ownership.

Simple audit

  • Σ unspent-outputs = Σ kernel + offset * G + height * 60e9 * H Each kernel is a provable commitment to 0 (as is offset * G) height * 60e9 is the expected number of nanocoins emitted in height blocks.

Simple PoW algorithm [5a]

Simple Difficulty Adjustment [5c]

  • diff’ = diff * 4-hours / (4-hours — 60-seconds + last_block_time)

Simple mixing[4 ]

  • CoinSwap can non-interactively mix thousands of self spends each day or hour.

Simple scripting

  • No scripts, aka scriptless scripts. Supports nearly all Bitcoin script functionality, with none of the complexity: multi-signatures, atomic swaps, discreet log contracts, bidirectional payment channels, etc.

Simple implementations

Simple security

‘’ Complexity is the enemy of security. Keep it simple to keep it secure. ’’

References ;

[1] What’s your favourite Altcoin *design* ?

[1a ] https://medium.com/@CryptoProfG/grin-money-explained-4-exploring-grins-monetary-model-e48b1761653

[2] https://john-tromp.medium.com/a-case-for-using-soft-total-supply-1169a188d153

[3] https://phyro.github.io/what-is-grin/mimblewimble.html

[4] https://bitcointalk.org/index.php?topic=567625.msg56288711#msg56288711

[5] https://github.com/tromp/cuckoo/blob/master/doc/mathspec

[5b]https://github.com/tromp/cuckoo/blob/master/doc/spec

[5c] https://read.cash/@jtoomim/bch-upgrade-proposal-use-asert-as-the-new-daa-1d875696

[6] https://github.com/mimblewimble/grin

[7] https://github.com/GrinPlusPlus/GrinPlusPlus

[8] https://github.com/grinventions/mimblewimble-py

[9] MimbleWimble whitepaper

--

--