Skip to content
This repository was archived by the owner on Aug 18, 2020. It is now read-only.

[CBR-481/482] Add ObftConsensusStrictness data type #4018

Merged
merged 2 commits into from
Jan 21, 2019

Conversation

intricate
Copy link
Contributor

Description

Adds a data type, ObftConsensusStrictness which will be utilized in OBFT block validation.

  • ObftStrict implies that we will validate blocks strictly according to the round-robin slot leader schedule.
  • ObftLenient implies that we will follow the more lax rules under which any valid slot leader is able to mint a block given that blocksMintedByLeaderInLastK < k * t where t is some constant such that 1/5 <= t <= 1/4.

Linked issues

https://iohk.myjetbrains.com/youtrack/issue/CBR-481
https://iohk.myjetbrains.com/youtrack/issue/CBR-482

Type of change

  • [~] 🐞 Bug fix (non-breaking change which fixes an issue)
  • 🛠 New feature (non-breaking change which adds functionality)
  • [~] ⚠️ Breaking change (fix or feature that would cause existing functionality to change)
  • [~] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
  • [~] 🔨 New or improved tests for existing code
  • [~] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

  • I have read the style guide document, and my code follows the code style of this project.
  • [~] If my code deals with exceptions, it follows the guidelines.
  • [~] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.
  • [~] CHANGELOG entry has been added and is linked to the correct PR on GitHub.

Testing checklist

  • [~] I have added tests to cover my changes.
  • All new and existing tests passed.

@intricate intricate self-assigned this Jan 18, 2019
@intricate intricate requested review from erikd and mhuesch January 18, 2019 21:19
Copy link
Contributor

@mhuesch mhuesch left a comment

Choose a reason for hiding this comment

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

LGTM - good to add this first :shipit:

@intricate
Copy link
Contributor Author

bors r+

iohk-bors bot added a commit that referenced this pull request Jan 21, 2019
4018: [CBR-481/482] Add ObftConsensusStrictness data type r=intricate a=intricate

## Description

Adds a data type, `ObftConsensusStrictness` which will be utilized in `OBFT` block validation. 

- `ObftStrict` implies that we will validate blocks strictly according to the round-robin slot leader schedule.
- `ObftLenient` implies that we will follow the more lax rules under which any valid slot leader is able to mint a block given that `blocksMintedByLeaderInLastK < k * t` where `t` is some constant such that `1/5 <= t <= 1/4`.

## Linked issues

https://iohk.myjetbrains.com/youtrack/issue/CBR-481
https://iohk.myjetbrains.com/youtrack/issue/CBR-482



Co-authored-by: Luke Nadur <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jan 21, 2019

@iohk-bors iohk-bors bot merged commit 405bdc6 into develop Jan 21, 2019
@iohk-bors iohk-bors bot deleted the intricate/add-obftconsensusstrictness branch January 21, 2019 14:37
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants