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

Reduce justification/finalization threshold from 2/3 to 5/8 #357

Closed
vbuterin opened this issue Dec 23, 2018 · 2 comments
Closed

Reduce justification/finalization threshold from 2/3 to 5/8 #357

vbuterin opened this issue Dec 23, 2018 · 2 comments
Labels
general:enhancement New feature or request

Comments

@vbuterin
Copy link
Contributor

vbuterin commented Dec 23, 2018

Reasoning:

  • Safety faults are relatively unlikely, because they are accountable and the easiest to extract large penalties for
  • At least a small percentage of honest nodes is going to be offline regardless
  • Users seem afraid of high inactivity leaks (eg. see https://www.reddit.com/r/ethereum/comments/a8jnrh/future_staking_questions/), this will reduce both the chance and the maximum net losses to inactivity leaks

Expected consequences:

  • In the "model world" (everyone online, super-high network latency, attackers are optimal), this will reduce safety fault tolerance from ~30% to ~22%, but increase liveness fault tolerance from ~33% to ~37.5%.
  • In the real world, because of unavoidable honest nodes going offline, it may well be the case that de facto safety fault tolerance is currently higher than de facto liveness fault tolerance, and this will correct for this.
@vbuterin vbuterin added the general:enhancement New feature or request label Dec 23, 2018
@zmanian
Copy link

zmanian commented Dec 25, 2018

In the Cosmos testnets, we found that dynamically unbonding validators that don't provide proof of liveness in a window of approximately 1 day seems to work reasonably well for ensuring network liveness.

If you set this parameter to be a small amount of time, it does leave the network open to takeover from a censoring cabal.
cosmos/cosmos-sdk#2522

@JustinDrake
Copy link
Collaborator

I'm tempted to stick with 2/3 purely for the sake of conceptual simplicity ("2/3" is a canonical threshold in various designs).

Users seem afraid of high inactivity leaks

In the January AMA inactivity leaks didn't seem to be a significant worry.

Please reopen if you still think this is a good move :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
general:enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants