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.
- 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.
- Cuckatoo Cycle. Find a 42-cycle in a huge random graph. Instantly verifiable in 42 lines of code [5b]
Simple Difficulty Adjustment [5c]
- diff’ = diff * 4-hours / (4-hours — 60-seconds + last_block_time)
- 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
- Small Rust codebase [6]
- C++ codebase [7]
- mimblewimble python [8]
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