Hello everyone,
I'm a long time bitcoin fan/user. For years I thought about rewriting bitcoin to be as simple as possible. There is a fair amount of complexity to the canonical bitcoin implementation that didn't strike me as strictly necessary. It makes understanding and working with the protocol difficult. I had some time recently, so I finally decided to implement what I thought was the simplest version of bitcoin that could exist. cruzbit is what I ended up with.
Project:
https://github.com/cruzbit/cruzbitMore details:
https://medium.com/@asdvxgxasjab/cruzbit-a-simple-decentralized-peer-to-peer-ledger-2944495b6129In addition to simplicity, I wanted everything I used to be standard. I wanted an average developer to be able to run cruzbit and immediately start working with the protocol and talking to their client.
Highlights:
Newer crypto: Ed25519 and SHA3
Simplified transaction format: No inputs/outputs. No scripts.
No UTXO: Account-model, but as far as I can tell, a novel simpler approach to it. No serial per-account nonce.
No fixed block size limit: A variation of BIP 101 is implemented.
Reference implementation is in Go. Completely new code base.
Web/dev-friendly peer protocol: secure WebSockets and JSON for all protocol messages and primitives.
No premining or any of that funny business. The memo field of the coinbase transaction of the genesis block is timestamped with the bitcoin blockchain's tip block hash at the time of its creation. It's being CPU mined at the moment.
Any/all feedback is much appreciated. Would love to have some new miners join us. Take it easy!