Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[signer] A signer should no longer view a miner as invalid due to inactivity if a majority of signers approve its blocks #5812

Open
jferrant opened this issue Feb 7, 2025 · 0 comments
Labels
icebox Issues that are not being worked on

Comments

@jferrant
Copy link
Collaborator

jferrant commented Feb 7, 2025

This is more of a question than an actual request.

This is the current flow:
Suppose we have Signers 1 through N.
Signer 1 sets block_proposal_timeout to x seconds.
x seconds pass for Signer 1.
Miner A issues a block proposal N.
SIgner 1 marks miner B as invalid and refuses to sign its block.
Signer 2 through N, receive block proposal N before their own block_proposal_timeouts.
Block N is signed and broadcasted.
Miner A issues block proposal N+1.
Signer 1 still views Miner A as invalid and rejects the block.
Signers 2 through N approve N+1.

My question is, should Signer 1 recognize that Miner A is viewed as valid by a majority of the network and decide to start signing its blocks again? I don't think a miner marked invalid should always become valid again if it produces blocks, but I am wondering if the reason it was marked invalid is due to the block_proposal_timeout, maybe in this case if its production succeeds anyway, the signer should mark it valid and sign subsequent blocks.

Open to suggestions as this does complicate the network a bit.

@github-project-automation github-project-automation bot moved this to Status: 🆕 New in Stacks Core Eng Feb 7, 2025
@aldur aldur added the icebox Issues that are not being worked on label Feb 12, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
icebox Issues that are not being worked on
Projects
Status: Status: 🆕 New
Development

No branches or pull requests

2 participants