You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Context: there's a fundamental issue between Doomslug and NFG that we discovered recently. Specifically, it could be that a block at height h is produced, and some participants have already sent endorsements for it, and then a block at height less than h is produced but with a higher NFG score, and becomes the head. The chain stalls because no block producer can send a skip message that will bypass h.
The solution to it is to make Doomslug aware of the score, and change the conditions for endorsements and skips to accommodate it. However, since both safety and liveness proof of Doomslug rely on head height never getting lower, enduring safety and liveness remain after introducing this change is not trivial.
I instead suggest to completely remove NFG, and change Doomslug so that it
a) becomes a BFT consensus
b) loses its ability to provide some weaker sense of finality at 50%.
Context: there's a fundamental issue between Doomslug and NFG that we discovered recently. Specifically, it could be that a block at height
h
is produced, and some participants have already sent endorsements for it, and then a block at height less thanh
is produced but with a higher NFG score, and becomes the head. The chain stalls because no block producer can send a skip message that will bypassh
.The solution to it is to make Doomslug aware of the score, and change the conditions for endorsements and skips to accommodate it. However, since both safety and liveness proof of Doomslug rely on head height never getting lower, enduring safety and liveness remain after introducing this change is not trivial.
I instead suggest to completely remove NFG, and change Doomslug so that it
a) becomes a BFT consensus
b) loses its ability to provide some weaker sense of finality at 50%.
The full argument is here: https://docs.google.com/document/d/10uBwpEN3ADDkL9iY52K0zM1edgxmoO8hJBqxmDafFN0/
The text was updated successfully, but these errors were encountered: