Trying to get some concrete numbers on things used in the Avalanche consensus:
1 - Would we really store connections for potentially million nodes? Most linux systems by default have 1024 maximum file descriptors, what’s the memory cost to that many connections? Bitcoin/Ethereum only store around 100 connections.
2 - How long do individual voting rounds take, there must be some upper bound of the time to wait for all responses (in case of lost messages)? If we assume that latency is 200 ms for a cross-globe peer (and an upper bound of 400ms) and I think I read it can be up to 20 rounds in case of many byzantine actors, that means 8 seconds to get a confirmation which seems pretty slow. We can’t start a new round if others may still be in the process of a round otherwise we can be polling old data.