-
Notifications
You must be signed in to change notification settings - Fork 677
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Miner should generate a tenure-extend and continue mining if the next miner does not start mining #5361
Comments
Sometimes, the next miner is unable to mine any blocks, so the previous miner should be able to tell for sure that it can extend its tenure. This happens if the winning miner's block commit is not committing to the correct tenure. Sometimes this will happen if a miner's block commit is not RBFed in time. #5064 could help with this, avoiding the need for an RBF. |
If a miner sees that the next miner is in this situation, it should go ahead and immediately submit a tenure extend. |
I think this scenario is happening often currently in mainnet, causing pauses in block production. One example I looked at:
|
#5452 solves the case where the winner has a bad block commit. This is the common case that we currently see on mainnet, so it is the more important one to solve. The timeout case will be done in a separate PR, but there is already an integration test ready for it, |
Typo I think, the non-enabled test is |
Ah, you're right thanks! I'll edit the earlier comment to avoid confusion later. |
@obycode is this good to close? |
Not yet. We don't yet extend in the case where the block commit is good but the miner doesn't mine any blocks for some reason. I think this case is less important so we can leave this as a todo after the other tenure extend work is complete. |
Another case of this is when there are valid block commits, but the null miner wins the sortition. The previous miner should extend and continue mining in this case. |
Sample logs of this happening on 12/11 at ~8:00 PM Eastern here |
Currently, the miner will generate a tenure-extend and continue mining if there is no sortition in the next burn block, but it should also do this if there is a sortition, but the next miner does not mine a block within some threshold time.
The text was updated successfully, but these errors were encountered: