Skip to content

Commit

Permalink
docs: added a ramification of opt out (#1533)
Browse files Browse the repository at this point in the history
* added one ramification of opt out.

* fix markdown-link checker issue

---------

Co-authored-by: insumity <[email protected]>
  • Loading branch information
insumity and insumity authored Dec 22, 2023
1 parent 56e8088 commit 1f26c37
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
5 changes: 3 additions & 2 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ Refer to the [upgrading guide](https://github.com/cosmos/interchain-security/blo
<!-- Add any highlights of this release -->

## ❤️ Contributors

<!-- markdown-link-check-disable -->
* Informal Systems ([@informalinc](https://twitter.com/informalinc))
<!-- markdown-link-check-enable -->

This list is non-exhaustive and ordered alphabetically.
Thank you to everyone who contributed to this release!
Thank you to everyone who contributed to this release!
1 change: 1 addition & 0 deletions docs/docs/adrs/adr-009-soft-opt-out.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Then, whenever the `Slash()` interface is executed on the consumer, if the votin

* The bottom `x%` is still part of the total voting power of the consumer chain. This means that if the soft opt-out threshold is set to `10%` for example, and every validator in the bottom `10%` opts out from validating the consumer, then a `24%` downtime of the remaining voting power would halt the chain. This may be especially problematic during consumer upgrades.
* In nominal scenarios, consumers with soft opt out enabled will be constructing slash packets for small vals, which may be dropped. This is wasted computation, but necessary to keep implementation simple. Note that the sdk's [full downtime logic](https://github.com/cosmos/cosmos-sdk/blob/d3f09c222243bb3da3464969f0366330dcb977a8/x/slashing/keeper/infractions.go#L75) is always executed on the consumer, which can be computationally expensive and slow down certain blocks.
* In a consumer chain, when a validator that has opted out becomes the proposer, there will naturally be no proposal made and validators would need to move to the next consensus round for the same height to reach a decision. As a result, we would need more time to finalize blocks on a consumer chain.

### Neutral

Expand Down

0 comments on commit 1f26c37

Please sign in to comment.