1. sbws does not round bandwidths to 3 significant figures
sbws currently rounds bandwidths to the nearest 1000. (Bandwidths under 500 are rounded to 1.)
This creates large errors in relay bandwidths:
- max(round(499, -3), 1) = 1
- max(round(500, -3), 1) = 1000
- max(round(1499, -3), 1) = 1000
But torflow rounds bandwidths to 3 significant figures: https://gitweb.torproject.org/torflow.git/tree/NetworkScanners/BwAuthority/aggregate.py#n62
And proposal 276 says to round to 2 significant figures, with some extra rounding of the final non-zero digit:
https://gitweb.torproject.org/torspec.git/tree/proposals/276-lower-bw-granularity.txt#n36
This is a bug on #27337 (moved).