-
Notifications
You must be signed in to change notification settings - Fork 998
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
Compact committee roots #1219
Compact committee roots #1219
Changes from 4 commits
8c34aa8
bcfe383
853f5fc
990cc55
5a8f3e4
b40e228
9993a28
b88ab25
d5c2ecb
bc8df3c
2857324
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
* `BLS_WITHDRAWAL_PREFIX` | ||
djrtwo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* Why int rather than bytes? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should probably be bytes :) |
||
* `MIN_SEED_LOOKAHEAD` | ||
* Is this actually tunable? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't any reason why it's not tunable |
||
* If so, what are the reprecussions? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I can think of two repercussions:
|
||
* `ACTIVATION_EXIT_DELAY` | ||
* Reaquaint with purpose | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The problem is that attackers can know the randomness beyond |
||
* AttesterSlashings | ||
* `MAX_ATTESTER_SLASHINGS` is 1. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right, the reasons being:
|
||
* Are there scenarios in which validators can create more effective slashable | ||
messages than can be included on chain? For example, Validators split up to | ||
create double attestations for checkpoints but different (junk) crosslink | ||
data to prevent them from being aggregatable to the fullest | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I remember thinking about this. One way to create more effective slashable messages is as follows. Let's say you control |
||
* Max is for block size, no? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
* Signature domains | ||
* Max 4byte ints | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That's a lot of signature domains :) |
||
* `Version` not defined in one of the lists of custom types (2!!). ensure in spec | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To be cleaned up |
||
* `PendingAttestation` | ||
* Don't think `proposer_index` is actually necessary here because effective | ||
balance is stable until end of epoch so can do dynamic lookups | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh, nice find! We only use |
||
* is_genesis_trigger | ||
* only run at ends of blocks to preserve invariant that eth1data.deposit_root | ||
is the deposit root at the _end_ of an eth1 block | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done |
||
* `Attestation` | ||
* why bitfields not together? | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What do you mean by "together"? Neither concatenation nor interleaving is nice. A mathematically clean solution would be (ternary) "trits". There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I just meant in the field ordering |
||
* `Transfer` | ||
* replay mechanism... say the slot gets missed and you sign another transfer | ||
* in a fork you could include both transfers | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I discussed this with Vitalik at Devcon. The current replay mechanism is quite bad and user unfriendly. The latest suggestion is to have a buffer of the latest Since we know we want to change the current transfer logic, can we please remove transfers from phase 0? Including the current logic is now actively misleading. |
||
* `get_previous_epoch` | ||
* do a once over on the genesis stuff | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure I understand There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Was personal note to dig into how |
||
* `get_epoch_start_shard` | ||
* checking next hinges upon the fact that the validator set for the next | ||
epoch is 100% known at the current epoch. Ensure this is the case | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Don't understand There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ensure that there are no ways that during epoch N, we don't 100% know the active v-set during epoch N+1. In general is our assumption but want to go through and check. |
||
* `get_block_root_at_slot` .. `generate_seed` can be bade into one line | ||
function signatures | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yay for one-line function signatures. This is part of the cleanup planned in #918. |
||
* `get_shuffled_index` | ||
* I think it should be maybe `assert index_count <= VALIDATOR_REGISTRY_LIMIT` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right |
||
* is the `2**40` special for security of alg? probably. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hum, not sure. |
||
|
||
|
||
pubkey/privkey g1 vs g2 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. pubkey should be in |
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
* `BLS_WITHDRAWAL_PREFIX` -- | ||
djrtwo marked this conversation as resolved.
Show resolved
Hide resolved
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Loving your motes :) Will comment on the various points later today 😂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh no! I accidentally pushed. Haaa