Skip to content
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(spec): consensus spec, from paper, general overview #389

Merged
merged 28 commits into from
Nov 1, 2024

Conversation

cason
Copy link
Contributor

@cason cason commented Sep 13, 2024

Part of #397.

Rendered.

There are still lots of TODOs and links to be made, added to the existing consensus spec, from which I am removing the duplicated redundant parts.

When reviewing, please suggest missing points to be addressed in the next iteration. Recall, however, that this document refers to the pseudo-code, the abstract consensus algorithm.


PR author checklist

@cason cason requested a review from josef-widder September 17, 2024 08:40
@cason cason added the spec Related to specifications label Sep 17, 2024
Base automatically changed from cason/spec-consensus to main September 17, 2024 09:39
Copy link
Member

@romac romac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Member

@josef-widder josef-widder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I left some comments. Some just came out of the live discussion we had this morning, and it might be good to just mention these points within the todos.

specs/consensus/README.md Show resolved Hide resolved
specs/consensus/README.md Outdated Show resolved Hide resolved
specs/consensus/README.md Show resolved Hide resolved
specs/consensus/README.md Show resolved Hide resolved
`⟨PRECOMMIT, h, r, *⟩` messages for values that are not in line with the
expected contents of its `lockedValue_q` and `lockedRound_q` variables.

It is virtually impossible to prevent **equivocation attacks**, and the way
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure what you want to say here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We cannot prevent a process from equivocating, except if we use some HSM solutions or complex protocol to ensure that there a single copy of each message (sender, step, round, height) in the system.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rephrase this.

specs/consensus/README.md Outdated Show resolved Hide resolved
specs/consensus/README.md Show resolved Hide resolved
specs/consensus/README.md Outdated Show resolved Hide resolved
@cason cason merged commit 92eea90 into main Nov 1, 2024
2 checks passed
@cason cason deleted the cason/spec-consensus-messages branch November 1, 2024 08:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec Related to specifications
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants