pull down to refresh

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
  • 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

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
    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
    Cuckatoo Cycle. Find a 42-cycle in a huge random graph. Instantly verifiable in 42 lines of code.

Simple Difficulty Adjustment
    diff’ = diff * 4-hours / (4-hours - 60-seconds + last_block_time)

Simple mixing
    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 and C++ codebases.

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