EntEthAlliance / enhanced-bft

a workspace for developing improvements to BFT consensus
Other
8 stars 3 forks source link

A practical proof the persistence issue of IBFT exists #10

Closed saltiniroberto closed 4 years ago

saltiniroberto commented 5 years ago

GPAv1 feedback The GPAv1 document states that the safety and liveness issues identified in the “Correctness Analysis of IBFT” paper are based on weak assumptions, lack practical evidence and the limitations cannot be concretely reproduced.

Reply The persistence issue , namely that a network of 6 validators can fork even though all validators are honest can be proven in the following way:

  1. Start an IBFT network of 6 validators (using docker compose)
  2. Verify via the network scanner that all 6 validators are running
  3. Stop 3 validators (e.g. by killing the related docker instances)
  4. Verify that the network is still creating new blocks.

This proves that in a network of 6 validators, 3 validators can create new blocks without requiring communication with any of the other 3 validators. It is therefore possible for the first 3 validators to create block B at height h and for the other 3 validators to create a block B’, different from B, at the same height h.

chaals commented 4 years ago

Agreed 2020-05-27 to close this issue