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.

Software

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