| Crates.io | dodopow |
| lib.rs | dodopow |
| version | 0.1.0 |
| created_at | 2025-09-21 12:21:58.463169+00 |
| updated_at | 2025-09-21 12:21:58.463169+00 |
| description | Cuckoo Cycle-like PoW mechanism for CPU execution |
| homepage | https://github.com/krypt0nn/dodopow |
| repository | https://github.com/krypt0nn/dodopow |
| max_upload_size | |
| id | 1848783 |
| size | 17,976 |
This library provides a PoW task similar to the Cockoo Cycle's lean mining, prioritizing single-core CPU execution. The purpose is to fight against GPUs and ASICs and improve networks decentralization by utilizing general purpose CPUs which all the people have.
DodoPoW builds a bipartite graph
of 2N nodes and N = 2^n edges, where n is configurable and impacts the
amount of used RAM and compute time. The PoW task is to find a cycle of length
diff in such a graph which is sampled from any seeded RNG. diff scaling
reduces probability of finding such cycles.
In blockchain applications this algorithm can be used with standardized n
value. A miner can struggle to find a cycle with pre-defined diff value, thus
it's recommended to scale miner's payment exponentially-like with the diff
value growth and allow them to choose this value as they like.
Note: the implementation in this library is not optimized for performance, its goal is to be correct. Extra difficulty tricks can be used to adjust the computation speed limit in runtime.
Author: Nikita Podvirnyi
Licensed under MIT