Closed OnedgeLee closed 6 months ago
Signature verifying benchmark result (100 sigs)
| Method | Mean | Error | StdDev |
|-------------- |-----------------:|----------------:|-----------------:|
| Priv | 67,060,190.8 ns | 1,623,880.99 ns | 4,526,731.12 ns |
| Pub | 499.1 ns | 15.81 ns | 45.37 ns |
| BLSPriv | 61,013,612.8 ns | 1,208,918.10 ns | 1,917,472.22 ns |
| BLSPub | 380.1 ns | 7.56 ns | 16.92 ns |
| DefaultSign | 70,977,890.7 ns | 1,495,943.64 ns | 4,194,786.34 ns |
| DefaultVerify | 187,098,998.9 ns | 3,714,770.41 ns | 10,658,372.65 ns |
| NativeSign | 6,107,599.8 ns | 121,949.11 ns | 341,958.39 ns |
| NativeVerify | 13,881,566.3 ns | 274,699.61 ns | 579,434.72 ns |
| BLSSign | 40,889,632.0 ns | 810,614.24 ns | 1,522,530.03 ns |
| BLSAggr | 94,200,094.0 ns | 1,775,619.30 ns | 4,288,320.19 ns |
| BLSFastVerify | 9,801,156.3 ns | 193,886.36 ns | 339,576.33 ns |
| BLSVerify | 8,856,990.4 ns | 176,739.45 ns | 489,744.18 ns |
| BLSVerifyEach | 183,845,007.7 ns | 3,767,018.96 ns | 10,988,571.12 ns |
Signing : ECDSA is 6.7x faster 100 Verify(pure) : BLS is 1.6x faster 100 Verify(+aggregation) : ECDSA is 7.4x faster
Signature verifying benchmark result (10 sigs)
| Method | Mean | Error | StdDev |
|-------------- |-----------------:|---------------:|---------------:|
| Priv | 6,504,958.07 ns | 127,521.375 ns | 213,059.570 ns |
| Pub | 52.44 ns | 1.074 ns | 1.608 ns |
| BLSPriv | 6,049,590.58 ns | 118,371.382 ns | 121,558.694 ns |
| BLSPub | 40.94 ns | 0.843 ns | 1.498 ns |
| DefaultSign | 6,852,416.24 ns | 135,106.670 ns | 150,170.705 ns |
| DefaultVerify | 18,537,422.96 ns | 354,010.520 ns | 834,444.445 ns |
| NativeSign | 554,009.38 ns | 10,976.397 ns | 21,408.620 ns |
| NativeVerify | 1,205,005.82 ns | 23,965.614 ns | 43,822.481 ns |
| BLSSign | 4,114,288.44 ns | 81,141.909 ns | 162,049.161 ns |
| BLSAggr | 9,353,755.76 ns | 186,437.945 ns | 519,714.472 ns |
| BLSFastVerify | 2,002,790.47 ns | 39,795.869 ns | 92,232.978 ns |
| BLSVerify | 1,007,676.17 ns | 20,054.553 ns | 48,049.428 ns |
| BLSEachVerify | 16,269,376.59 ns | 322,903.157 ns | 674,019.134 ns |
Signing : ECDSA is 7.4x faster 100 Verify(pure) : BLS is 1.2x faster 100 Verify(+aggregation) : ECDSA is 8.6x faster
Though BLS is widely used(e.g., on Ethereum), benefits, disadvantages and difficulties for applying on the tendermint-style consensus was not carefully studied yet. Before surveying how to apply it, checking applicability would be critical for our condition.