POWBench - Benchmarking CPU bound proof of work systems
Proof of Work Systems have got wider attention for their use in crypto-currency. Another application is the protection of protocols from DoS Attacks. This page aims to collect data on different CPU bound proof of work systems.
Currently the benchmark suite benchmarks two PoW systems and the X25519 Diffie-Hellman Key Exchange. The Diffie-Hellman Exchange is used as reference for the cost of a normal protocol handshake that is to be protected from a DoS Attack.
- minimaLT, interactive puzzle
- MSR, non-interactive puzzle
Software
- 12.05.16 - POWBench-20160512.tar.gz
Benchmarks
Format
The plot shows the CPU cycles on the y-axis. The upper x-axis is the size of the prime used for the modular square root system (MSR). The lower x-axis is the amount of bits cleared for the PoW System from the minimaLT Paper.
x86-64, i5-3320M, 2 x 2.60GHz
modular square root | ||
---|---|---|
Prime Size | Solve | Verify |
130 | 188246 | 3450 |
264 | 567890 | 3458 |
520 | 2016807 | 4641 |
1031 | 9811179 | 7512 |
2058 | 63201124 | 16079 |
4106 | 389143637 | 36531 |
8137 | 1877152169 | 78279 |
MinimaLT | |||
---|---|---|---|
Bits cleared | Generate | Solve | Verify |
1 | 3019 | 2790 | 2226 |
2 | 3060 | 4139 | 2250 |
3 | 3043 | 6861 | 2258 |
4 | 3043 | 12590 | 2231 |
5 | 3028 | 23724 | 2246 |
6 | 3155 | 50281 | 2339 |
7 | 3028 | 91788 | 2249 |
8 | 3031 | 180746 | 2243 |
9 | 3057 | 343735 | 2241 |
10 | 3093 | 744622 | 2255 |
11 | 3093 | 1420380 | 2258 |
12 | 3168 | 2904326 | 2427 |
13 | 3369 | 5795540 | 3150 |
14 | 3459 | 11730933 | 3450 |
15 | 4407 | 24647541 | 7681 |
16 | 4380 | 48722792 | 7910 |
17 | 4817 | 98149249 | 9747 |
18 | 4864 | 194347164 | 9768 |
19 | 4781 | 360294132 | 10234 |
20 | 4808 | 724734724 | 10233 |
Raw Data
arm, A20 ARM Cortex -A7 Dual-Core
modular square root | ||
---|---|---|
Prime Size | Solve | Verify |
130 | 1120022 | 21542 |
264 | 3910457 | 31619 |
520 | 14465323 | 53508 |
1031 | 75877909 | 68612 |
2058 | 555341057 | 106230 |
4106 | 3481546611 | 232908 |
8137 | 16119104404 | 587123 |
MinimaLT | |||
---|---|---|---|
Bits cleared | Generate | Solve | Verify |
1 | 35152 | 41393 | 16213 |
2 | 35560 | 54686 | 16333 |
3 | 35368 | 96763 | 16354 |
4 | 35214 | 162552 | 16391 |
5 | 39696 | 316791 | 17350 |
6 | 39909 | 612543 | 17835 |
7 | 40197 | 1184167 | 17998 |
8 | 45453 | 2273842 | 20596 |
9 | 53756 | 4618720 | 28687 |
10 | 60257 | 8873049 | 31617 |
11 | 61879 | 20189993 | 34017 |
12 | 62574 | 36163435 | 34732 |
13 | 61519 | 65590899 | 35248 |
14 | 54387 | 153031888 | 35307 |
15 | 55041 | 301465673 | 35524 |
16 | 59037 | 605350048 | 35494 |
17 | 58574 | 1107451254 | 35553 |
18 | 62215 | 2572237516 | 35559 |
19 | 57161 | 4248459303 | 35619 |
20 | 56390 | 9628881246 | 35688 |
Raw Data
References
minimalt: MinimaLT: minimal-latency networking through better security by W. M. Petullo, X. Zhang, J. A. Solworth, D. J. Bernstein, and T. Lange https://dl.acm.org/citation.cfm?doid=2508859.2516737 msr: Non-Parallelizable and Non-Interactive Client Puzzles from Modular Square Roots by Yves Igor Jerschow and Martin Mauve. https://wwwcn.cs.uni-duesseldorf.de/publications/publications/library/Jerschow2011a.pdf
Changelog
15.5.2016 - Softare Release Version 20160512, added ARM and updated x86 benchmark results
25.3.2016 - Added experimental perf support
05.2.2016 - Software Release Version 20160204
26.1.2016 - Updated Benchmark with more iterations and fixed low entropy bug in the minimaLT set
24.1.2016 - Initial publication