eWatts replaces hash-based mining with memory-bound proof of work. Mining throughput is determined by DRAM bandwidth , not by clock speed or ASIC design. Any computer can compete.
eWatts is a single-chain, dual-hash protocol. Mining blocks are produced by memory-bound proof of work. Between blocks, a fast transaction hash verifies ring signatures. Both hashes commit to the same chain state.
The mining bottleneck is DRAM bandwidth, not computation. The DAG walk performs 10,000 random memory accesses per hash. Time to mine scales linearly with bandwidth, not with GHz.
Each transaction is signed with a ring of 11 keys. An observer cannot tell which key in the ring produced the signature. Key images prevent double-spending without linking transactions.
Transaction values are hidden inside Pedersen commitments. Range proofs (bit decomposition with MLSAG) prove non-negativity without revealing the amount. Supply is auditable by summing commitments.
Every payment goes to a one-time destination derived from the recipient's stealth address. Only the recipient can compute the corresponding private key. No two payments to the same person are linkable.
Block emission is proportional to total network effective commit , a measure of aggregate DRAM bandwidth. Emission = BASE_EMISSION x (total_eff / historical_avg). Clamped between 5% and 20x.
No dev fund. No admin keys. No foundation. Protocol changes require 95% of miners and 95% of nodes to signal via hard fork. The genesis parameters are immutable unless the network chooses otherwise.
| Consensus | MBPoW (Memory-Bound Proof of Work) |
| Target block time | 600 seconds |
| Fast tx verification | <3 ms (ring signature ceremony) |
| Ring size | 11 |
| Signature scheme | MLSAG over Ristretto255 |
| Address format | Stealth (spend key + view key), 32 bytes |
| Amount privacy | Pedersen commitments + range proofs |
| Emission formula | R = BASE_EMISSION x (total_eff / historical_avg), clamped [0.05x, 20x] |
| Ramp-up | 80% cap per miner, first 10k blocks, excess burned |
| Founder lock | On-chain: max(50000, block + 40000) |
| Historical window | 4,300 blocks (30 days) |
| Privacy change threshold | 95% miners + 95% nodes |
| Unit | 1 eWatt = 10^8 base units |
| Implementation | Rust, ~3,300 LOC |
You need a computer with Rust installed. Minimum 4 GB of free DRAM. No GPU, no ASIC, no token purchase.
# Install Rust $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Clone $ git clone https://github.com/4Ewatts/ewatts-protocol.git $ cd ewatts-protocol $ cargo build --release # Initialize state and mine $ ./target/release/ewatts-protocol init $ ./target/release/ewatts-protocol mine # Start dashboard on port 8080 $ ./target/release/ewatts-protocol dash
src/ privacy.rs Stealth addresses, MLSAG, Pedersen commitments, range proofs block.rs Block, transaction, merkle root, MlsagData serialization state.rs UTXO set, supply tracking, MLSAG verification mempool.rs Transaction pool, validation, broadcast wallet.rs Key generation, UTXO scanning, private transaction construction reward.rs Emission formula, VR computation, ramp-up cap proof.rs MBPoW DAG mining algorithm p2p.rs libp2p gossip, block synchronization main.rs CLI, HTTP dashboard, mining orchestrator