poanetwork / hbbft

An implementation of the paper "Honey Badger of BFT Protocols" in Rust. This is a modular library of consensus.
Other
357 stars 96 forks source link

Add a method for skipping the current epoch. #413

Closed afck closed 5 years ago

afck commented 5 years ago

We could add a *HoneyBadger::skip_epoch method that would delete all information about the current epoch and move on to the next, without ever outputting the skipped epoch's batch.

This is dangerous, of course, and needs to be well-documented: It must only be called if the upper layer can guarantee that every instance that hasn't output the batch yet will call this method.

An example is the use in a blockchain: If our HoneyBadger instance is still working on block number 42, but we've just imported the complete, finalized block 42, we can probably be sure that every node will eventually import it and can call skip_epoch.

dforsten commented 5 years ago

That would be helpful, could we get it assigned and implemented within the next days? It is the only issue I am currently aware of impairing the stability of the test net setup - I would like to demo it together with a Blockscout instance at an upcoming event.

afck commented 5 years ago

OK, I'll give it a try tomorrow.

dforsten commented 5 years ago

Great, thanks Andreas! :-)