As a follow up to the medium article proposal-for-nano-node-network-optimizations this post is to further the discussion around network optimizations that could be made to streamline the block and vote message propagation to all nodes. Key considerations are speed, redundancy, Sybil protections and efficiency. The proposal linked above is one concept and it would be great to get additional feedback or thoughts on how it can be improved further.
Thank you for putting all of this together, I'm excited to see what further insights and optimizations are in store for Nano this year!
Very well done. The team is excited to look at incorporating some of these improvements to the node going forward.
Your contributions are great Srayman. I use your network performance charts to demonstrate concepts in Nano whenever I get the chance.
Were there any discussions around potential impact from mixing protocol versions? E.g. if most of the network upgrades but Binance still only broadcasts transactions to its peers (and not all PRs), would they still be able to get their transactions confirmed? And what about non-upgraded non-PRs?
Good points. These are some of the scenarios to be explored with actual updates on beta. Any nodes not upgraded yet should still be able to have their blocks confirm and will behave in a way that results in confirmation eventually, it may take longer and be much less efficient for the network compared to the new method, but if it doesn't cause more bandwidth than we have today it should be a big win. Looking forward to seeing https://github.com/nanocurrency/nano-node/pull/2468 hit the beta network soon.
The PR Zach linked doesn’t include the block publishing changes, only the changes for votes. I think there’s a need for a phased implementation. In the first round change initial block broadcasting for nodes that have upgraded but leave republishing for blocks the same for this release so blocks are propagated quickly. Then in the next release change block republishing to reduce duplicate block messages.
That vast majority of the messages are votes though, so getting those changes in will help regardless and as more nodes upgrade it’ll reduce load more.