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

Finalize each block with a threshold signature #15

Open
sbellem opened this issue Aug 21, 2018 · 0 comments
Open

Finalize each block with a threshold signature #15

sbellem opened this issue Aug 21, 2018 · 0 comments
Assignees
Labels
enhancement New feature or request security Security related issue

Comments

@sbellem
Copy link
Collaborator

sbellem commented Aug 21, 2018

From amiller/HoneyBadgerBFT#57:

After finalizing each HBBFT-Block, nodes produce a t+1 threshold signature on a merkle tree over all the transactions, as well as a merkle tree over the current state file S. This signature serves as a CHECKPOINT, a succinct piece of evidence that the current block has concluded. CHECKPOINTs are used for three different purposes:

  • I. Prevent DoS from malicious nodes. Messages for future rounds B' > B are ignored until a CHECKPOINT message for round B is received. This enables a node to discard DoS messages sent from an attacker, which would otherwise appear to be plausible messages in the future.

  • II. Allows lagging (or restarted) nodes to recover. When a node receives a valid CHECKPOINT for a later block than the current one (for block B’ > B), then it determines it has fallen behind. It deallocates any buffered incoming or outgoing messages in block B, and

  • III. Allow nodes to garbage collect old outgoing messages. Because nodes that have fallen behind can catch up via a CHECKPOINT, it is not necessary to buffer outgoing protocol messages pertaining to earlier blocks. Outgoing messages buffered in the I/O abstraction can be canceled/withdrawn, replaced with CHECKPOINT messages for the current round.

@sbellem sbellem added enhancement New feature or request security Security related issue labels Aug 21, 2018
@sbellem sbellem added this to the Bounded Badger milestone Aug 21, 2018
@sbellem sbellem self-assigned this Aug 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request security Security related issue
Projects
None yet
Development

No branches or pull requests

1 participant