improve new SBWS rounding to exhibit uniform percent deltas
In ticket #27337 (moved) bandwidth vote rounding was changed from Torflow's three significant decimal digits to two places in order to reduce inconsequential consensus diff updates. The change is a good one except that the resulting distribution of values exhibits large unevenness of relative value changes, an effect which with was much smaller with three digit rounding. To obtain the same benefit with an uniform change distribution, rounding constructed on a natural log scale should be applied. For example instead of
100000 -> 110000 +10.0%
40000 -> 41000 +2.5%
the proper way to accomplish this is to round by taking the natural log of the value, round that to the nearest 1/20th for uniform 5% steps and then raise e
by the result:
100000 rounds to 98716
105000 rounds to 103777
98716 -> 103777 +5.1%
40000 rounds to 40135
42000 rounds to 42193
40135 -> 42193 +5.1%
1100 rounds to 1096
1050 rounds to 1043
1043 -> 1096 +5.1%
The overall goal of SBWS is improved consensus construction and while the importance of this refinement can be debated, it is clearly beneficial, is easy to implement and therefore a reasonable adjustment at this early stage of testing deployment.