-
Notifications
You must be signed in to change notification settings - Fork 106
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
runtime: Provide sets of good and bad compute nodes in round results #3726
Conversation
5b23d6c
to
b36439e
Compare
b36439e
to
589c6a9
Compare
Codecov Report
@@ Coverage Diff @@
## master #3726 +/- ##
==========================================
- Coverage 66.93% 66.83% -0.11%
==========================================
Files 400 400
Lines 39822 39829 +7
==========================================
- Hits 26656 26619 -37
- Misses 9401 9434 +33
- Partials 3765 3776 +11
Continue to review full report at Codecov.
|
589c6a9
to
dc4effe
Compare
go/roothash/api/history.go
Outdated
|
||
// GoodComputeNodes are the public keys of compute nodes that positively contributed to the | ||
// round by replicating the computation correctly. | ||
GoodComputeNodes []signature.PublicKey `json:"good_compute_nodes,omitempty"` |
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.
Wondering if there's a better alternative naming to use for nodes that submitted correct and invalid results. I thought about it, but don't have a better suggestion though :D
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.
Yeah, I was thinking about how to name this as well, but didn't come up with anything better. Tendermint uses the term "Byzantine Validators" for the bad ones.
@@ -587,50 +591,41 @@ func (app *rootHashApplication) tryFinalizeExecutorCommits( | |||
return fmt.Errorf("failed to process runtime messages: %w", err) | |||
} | |||
|
|||
var ( |
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.
👍
dc4effe
to
174b48a
Compare
f993cfd
to
98e7097
Compare
In addition to the existing runtime message execution results we want to provide additional information about the last successful round to runtimes. This introduces a RoundResults structure for this purpose.
Previously only incorrect primary members were slashed and correct backup members were rewarded. Now, any incorrect members are slashed and any correct members are rewarded.
This allows the runtime to be aware of how many runtime messages can be emitted in this round before the round would fail.
98e7097
to
289309d
Compare
No description provided.