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

consensus: Include ratification signature and bitset in block certificate #1027

Closed
goshawk-3 opened this issue Aug 30, 2023 · 2 comments
Closed
Assignees
Labels
fix:bug Something isn't working fix:vulnerability Issues related to fix vulnerabilities of the architecture or software module:consensus Issues related to consensus module

Comments

@goshawk-3
Copy link
Contributor

Describe the bug
As proved in #1020 , a single agreement message is completely enough for creating a block with valid certificate that is accepted by the network.

We should consider adding ratification aggregate signature together with a bitset of voters in the block certificate.

pub struct Certificate {
    pub first_reduction: StepVotes,
    pub second_reduction: StepVotes,
    pub ratification: StepVotes,  /// New aggregate signagure
}

pub struct StepVotes {
    pub bitset: u64,
    pub aggregate_signature: Signature,
}

Additional context
If this is issue is approved for implementation, we need first to address #1026 otherwise aggregate_signature and bitset from 2nd reduction can be reused.

@goshawk-3 goshawk-3 added fix:bug Something isn't working fix:vulnerability Issues related to fix vulnerabilities of the architecture or software labels Aug 30, 2023
@goshawk-3 goshawk-3 self-assigned this Aug 30, 2023
@goshawk-3 goshawk-3 added the module:consensus Issues related to consensus module label Aug 30, 2023
@fed-franz
Copy link
Contributor

This is an alternative solution to the "accepting a block from a single Agreement" proposal, right?
It should be deprecated if accepting the DIP

@herr-seppia
Copy link
Member

Resolved in #1346

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix:bug Something isn't working fix:vulnerability Issues related to fix vulnerabilities of the architecture or software module:consensus Issues related to consensus module
Projects
None yet
Development

No branches or pull requests

3 participants