Bandwidth determination is flawed
I'm running a non-exit node in Australia. Please read "Australia" as a high latency area, that has not many other nodes around. I set RelayBandwidthRate to 1100, which is around 20% of my connection.
Just like all people who start up a new node, I was wondering why the bandwidth was not used. Unfortunately most information, that can be found about the topic on the web is very outdated and does not apply to my situation.
The measured bandwidth never exceeded 200 kb/s on atlas. So I decided to use my node as bridge and send junk traffic. Just downloading Ubnuntu and doing unnecessary uploades and running the CLI speedcheck script through the network. Now the nodes, that I am connected to, ackowledge, how much data can be send from/to my node and the bandwidth estimation on atlas suddenly goes up extremely. Beyond 500 (still not 1100 though).
I thought I fixed it and turn my dummy-traffic-script off again. Now the estimation is down again, my node is mostly unused and I'll probably turn it off soon as it is just a waste of electricity.
Apparently the bandwidth is measured in that useless 50-kilobytes-way, that the tor client does for the original setup. Well, sending 50 kilobytes to a node and measuring the time is mostly a test of latency. So the test is currently faulty, it should actually send a few megabytes, or anything that results in a few seconds of measurement. Additionally it should also send 1 byte, to measure the latency and deduct it from the other measurement.
Currently nodes in Australia, even if they have a high bandwidth fibre connection are largely disadvantaged. Only because the 'authorities' or the majority of the network is in Europe.
Please don't get me wrong. I understand that a extremely high latency is also bad. A 1 BGit/s connection is maybe not particularly useful if it has a latency of 30 seconds for each TCP packet. So latency should not go unnoticed. But you could at least be so kind and announce on your website, that nodes in Australia are not welcome and will be disadvantaged by the algorithm. Therefore people who live in areas like Australia (high bandwidth, high latency, high electricity costs) can at least be aware, that is is useless to run a node and they don't need to bother with it.
- The bandwidth estimation can be largely varied by sending unnecessary junk data over the tor network.
- The bandwidth estimation WILL be influenced, because the network uses it as a measure to determine if a node is "good" or should be used a lot.
- The bandwidth estimation measures latency and not bandwidth.
- Nodes that don't have many other nodes near, will be marked as useless, will go unused and therefore be turned off soon.
- The network will convert (or has already converted) to be concentrated in one location only, which is the highly connected areas in central Europe. The high speed nodes in North America are anyway on the ignore list of most people, right?