-
Notifications
You must be signed in to change notification settings - Fork 1
Add StaticRound
to eliminate some boilerplate when writing protocols
#117
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
base: master
Are you sure you want to change the base?
Conversation
I have skimmed the code, so this is not a review. Thoughts:
Given the above I think we should provide either dynamic or static rounds, but not both. When we have a concrete use case that requires both dynamic and static we can re-assess. Is switching to only static rounds possible? It'd be interesting to see how |
For protocols themselves, yes, but evidence verification is not limited to one round and needs access to the message types from the previous rounds - so the user would have to manually transform them from some untyped form to typed messages. Although it is possible to automate deserialization (and the handling of its errors) - by making every This would need some kind of "routing" of round number -> boxed round type (not the round object, since we don't need the round state for that). This may be also used to simplify evidence checking for invalid messages (#82). |
8de19fb
to
0ef0c98
Compare
Pull Request Test Coverage Report for Build 15745266838Details
💛 - Coveralls |
Current roadblock: handling protocols where some nodes do not send or do not receive messages (e.g. KeyResharing). This means that the type of the round is not enough to determine whether a message is expected, it's also the state that's needed. In the n-of-n case the static rounds eliminate the need for |
Fixes #65
An experiment to make it possible to write rounds with static message/payload/artifact types. Worth it?
Open questions:
Round
completely and only expose the static one?Misbehave
specifically)