iroha
iroha copied to clipboard
bug: topology shouldn't depend on block's sigantures
Right now block signatures are used to discover topology for the next round. This approach gives benefit that unresponsive peers pushed out of topology.
But this approach allow proxy tail to cause topology divergence among peers. To perform proxy tail need:
- view change index >0 (so that any peer can participate in voting)
- it can happen accidentally
- or multiple byzantine peers can act in tandem
- proxy tail collected more that (> 2f + 1) valid signatures for the block In order to cause divergence proxy tail just send different valid topologies to different peers.
I don't see how to mitigate this issue because only proxy tail collect all the signatures.
In order to cause divergence proxy tail just send different valid topologies to different peers.
yeah, it can change the order of the validator or observer nodes. That's quite an easy way to bring down the network
Conclusion: we can't rely on block signatures to discover topology for the next round