Whats the current bottleneck?

Hi there,

Wondering what the current bottle neck is to get TPS/CPS higher.

If I understand correctly the active elections size is 5000. Does this mean 5k concurrent elections run on a node at once all posting/receiving votes? So then the bottleneck would be the voting process?

If one election can confirm/cement block in under a second then shouldn't throughput be 5k TPS?

Thanks for your help

Trying to put the problem in layman terms for my own understanding. If we have 5K async election seats, the bottleneck must be voting process somehow.

In a given moment, a perfect system would have all nodes voting for the exact same 5k state blocks. I imagine thats not the case since it takes time for nodes to gossip about a block existing, then get through prioritization, all before it can fill one of the 5k seats. The main question then seems to be; how to best use those election seats? with strategies:

Minimize necessary elections:

  • prioritize legit transactions over spam (which is being done great work)
  • somehow join send/receive block elections into one? (not saying its easy but would cut elections in half).

Increase election seats:

  • more seats = more node resources I get that. Not a C++ dev but wondering if another language built for concurrency would be worth exploring Nanos protocol. Elixir got 450k connections on a 4core 16gb box, and 2 mill on a bigger box (source). BEAM vm seems like perfect host for Nano protocol.

Increase seat syncronization between nodes:

  • I guess this is the job of the election scheduler.