Skip to content
This repository has been archived by the owner. It is now read-only.

Allow some block id switches #335

Merged
merged 1 commit into from Aug 5, 2019
Merged

Allow some block id switches #335

merged 1 commit into from Aug 5, 2019

Conversation

@zmanian
Copy link
Contributor

@zmanian zmanian commented Aug 4, 2019

This basically enables switching a block id under some circumstances.

  1. Round increment

  2. Prevote a nil block and then precommit a block id.

A correct process should only do 2 if there are 2f+1 votes for the block id and this not checked but should not be exploitable to cause an equivocation.

Related to #333

…g locking on a new block after a round increment or prevote of nil
@tarcieri
Copy link
Contributor

@tarcieri tarcieri commented Aug 4, 2019

This logic is definitely getting could probably use some tests, although in its current state it's somewhat tricky to test.

I'm wondering if the (now divergent) Ord impl for ConsensusState would be a better place to backfill tests? (and once we're confident in it, we could switch to it entirely)

https://github.com/interchainio/tendermint-rs/blob/a7fe43a8/src/consensus/state.rs#L55

Loading

@tarcieri tarcieri merged commit 1383796 into master Aug 5, 2019
1 check passed
Loading
@tarcieri tarcieri deleted the zaki/allow_block_id_switches branch Aug 5, 2019
@tony-iqlusion tony-iqlusion mentioned this pull request Aug 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants