Closed paulhauner closed 6 years ago
This was discussed in the Eth 2.0 implementer call on 13/9.
It turns out that my understanding of the requirements is incorrect -- @vbuterin stated that the intention is in fact to target a committee size of 2 * min_committee_size
.
I am going to close this issue, with the intention of producing some other document that describes the functional requirements of the get_new_shuffling
fn to allow us to test the performance of the function.
I have been looking into the
get_new_shuffling()
function from the v2.1 spec and I wanted to highlight something I noticed whilst testing.I will first describe my understanding of the function, then present a scenario where the output of the function does not match my understanding. I'll then close with a single question.
High-level function description
From a conceptual level (i.e., not exactly as it's implemented in Python) the process of the function is roughly to:
min_committee_size
).crosslinking_start_shard
).ShardAndCommittee
objects in each slot, based on some allocation requirements (see below).Allocation requirements:
Where it doesn't meet the allocation requirements
What I am not seeing in the present implementation is "attest to all the shards". I have written a script here that runs
get_new_shuffling()
with the presented scenario and produces the following statement:Final question
Is my understanding of the requirements incorrect, or does the function not operate optimally?
Thanks, looking forward to feedback :)