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

Beacon Chain Configs for 8 Validators #1479

Closed
terencechain opened this issue Feb 4, 2019 · 10 comments
Closed

Beacon Chain Configs for 8 Validators #1479

terencechain opened this issue Feb 4, 2019 · 10 comments
Labels
Discussion Simply a thread for talking about stuff

Comments

@terencechain
Copy link
Member

Problem:
1.) We are starting out with 8 validators in a local test net, with 8 validators and 64 epoch length there's skipped slots:
Ex: ([]= skipped block, [#] = validator index assigned to that slot)
[[] [] [] [] [] [] [] [5] [] [] [] [] [] [] [] [7] [] [] [] [] [] [] [] [4] [] [] [] [] [] [] [] [1] [] [] [] [] [] [] [] [3] [] [] [] [] [] [] [] [2] [] [] [] [] [] [] [] [0] [] [] [] [] [] [] [] [6]]

2.)To keep things simple for the very first iteration, we don't wanna deal with skip blocks so I shortened the epoch length to 8:
[[5] [7] [4] [1] [3] [2] [0] [6]]

Question for @djrtwo, @JustinDrake and @vbuterin, what parameter numbers do you recommend for a local test net with 8 validators to start with? (SHARD_COUNT, TARGET_COMMITTEE_SIZE, and EPOCH_LENGTH)

@ralexstokes
Copy link

if you are just testing things out and scaled the epoch length by 8, try scaling everything else down by a factor of 8?

alternatively i would suggest either bumping up the number of validators, or just handling the skipped slots

@JustinDrake
Copy link
Contributor

I'd do SHARD_COUNT = 1.

@prestonvanloon
Copy link
Member

We tried

EPOCH_LENGTH = 8
SHARD_COUNT = 1
TARGET_COMMITTEE_SIZE = 1

This was causing a divide by zero issue due to an empty crosslink committee in the first epoch.
Let me step through the code and I'll add my findings to this comment.

@terencechain
Copy link
Member Author

Divide by 0 is our issue and it is currently tracked by #1481. Once we fix that we can handle skip slot

@djrtwo
Copy link

djrtwo commented Feb 6, 2019

This also might be an issue depending on how it's interpreted (ethereum/consensus-specs#541).

Is that issue failing due to no committee being assigned for that slot but the validator is requesting the proposer at that slot?

It is unfortunate that the most realistic early nets are at these unrealistic low numbers :/ (compared to production). The protocol generally degrades gracefully but there are certainly edge cases around helper methods failing as you are running into.

@djrtwo
Copy link

djrtwo commented Feb 6, 2019

@prestonvanloon

This was causing a divide by zero issue due to an empty crosslink committee in the first epoch.

Empty as in there is not one assigned to the slot at all or because the committee didn't show up to attest?

@djrtwo
Copy link

djrtwo commented Feb 6, 2019

I might even go with EPOCH_LENGTH = 4 so you get two validators per slot

@prestonvanloon
Copy link
Member

@djrtwo we were having an issue with config overrides were not being applied.

By the way, 8 doesn’t reflect a number of validators we would deploy on a testnet. We’re just looking to see the client do stuff before standing up the infrastructure for a larger deployment.

We’ll circle back on this issue after we’ve caught up on all of the first class epoch changes. Thanks!

@djrtwo
Copy link

djrtwo commented Feb 6, 2019

oh I know! I just meant these early simulations

@rauljordan
Copy link
Contributor

Closed by #1565

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion Simply a thread for talking about stuff
Projects
None yet
Development

No branches or pull requests

6 participants