Node Architecture
Priorities
- Consensus
- Difficulty
- Rewards
- Miner
- Gas
- Behavior (size, type, content...)
Changes from ETH
- Add a new Consensus based on VDF ✅
- Update Transaction model
- RLP encode/decode ✅
- Tx validation ✅
- Tx pool ✅
- Add Behavior model ✅
- RLP encode/decode ✅
- Bx validation ✅
- Bx pool ✅
- Update Block structure and its header
- Add behaviors in block ✅
- Replace consensus-related data ✅
- Update RPC ✅
- Update p2p ✅
- Update rewards calculation ✅
- Update difficulty ✅
- Mine ✅
- Update sync mechanism ✅
- Replace Gas mechanism ✅
- Genesis block ✅
- Add demurrage ✅
- Archive mechanisms
- Tests on consensus✅
- Automate benchmarks on VDF in consensus
- Tx & Bx validation tests ✅
- Tests on block size
- Simulation on difficulty, block time...
- Simulation on PoB quantify()
- Blockchain generator for tests https://github.com/openethereum/openethereum/blob/main/crates/ethcore/blockchain/src/generator.rs
Decisions Record
- Using Rust https://docs.google.com/document/d/1_hCZ_xAkXv-Tqb2sNkcFWfXiPZA74E1mTsTj91RT6Lk/edit
- Not including Behavior as an EIP2718 type of transaction https://docs.google.com/document/d/1UH5q3WD8oA4DDXVSfjFiA5PRlaSLtGLS8yNza850Poo/edit#heading=h.dl403pdvre50
References
- Akula Ethereum Implementation
- Erigon Stage Sync and control flows
- Ethereum State Trie Architecture Explained
- Ethereum Client Architecture by the Ethereum Engineering Group: