-
Notifications
You must be signed in to change notification settings - Fork 17
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
feat: precheck triple and presigs #802
base: develop
Are you sure you want to change the base?
Conversation
…at/precheck-triple-and-presigs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a good PR, it solves an issue we're facing.
Later on we need to build a more robust way of nodes understanding what other nodes know, there are a bunch of papers on this, but it's a problem for another day.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have not seen all of it yet, but the idea is viable.
If we talk about design, this one solves our particular problem, but it is not solving other potential problems we can have in the future.
I was thinking about trying to create a protocol and then failing it fast. Each node can fail it by sending a message to all other nodes, or maybe only to the proposer. Proposer can recreate the protocol and start over.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM except the 2 comments.
@volovyks yeah that would be message rejection, but the issue with that is you have to reach a threshold agreement on the failure of the protocol which requires waiting up to threshold participants messages coming back (maybe never if they decide not to reject even though it was invalid). This is quicker by just purely checking the state. Message rejection will be much harder to implement |
for some reason integration tests are stalling on this PR |
We should not wait for T rejections, N-T+1 is enough. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This preview ensures there are sufficient peers with presig ready to go and implementation looks solid
…at/precheck-triple-and-presigs
…at/precheck-triple-and-presigs
…at/precheck-triple-and-presigs
This adds previewing whether a node has a triple id or presignature id. This also has a limit so that the amount of previews should not be overwhelming and require large responses. The current limit is 128 which allows us to view our most recently completed owned triples and presignatures.
Note that with this change, all nodes need to be updated before being able to generate presignatures and consequently signatures again because there's a filtering that happens. Old nodes may not return anything or error out on this new
/state
function