-
Notifications
You must be signed in to change notification settings - Fork 0
Implement whisk PoC #1
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
base: unstable
Are you sure you want to change the base?
Conversation
919a478 to
7b9411f
Compare
ed63dc9 to
91cd87e
Compare
6b335f4 to
03a5ac0
Compare
24bbea0 to
fb6520a
Compare
2e63783 to
034c97a
Compare
1e17c2e to
e24fde0
Compare
|
Currently fixing broken release tests Whisk breaks proposer registration Beacon node doesn't not currently who is the next proposer Adding a new route
|
05935aa to
a6858e8
Compare
Add Whisk ForkName, same types
Add new block body fields
fmt
Add extra beacon state properties
state transition changes
Add upgrade_to_whisk
Update beacon node crate
Annotate todo!("whisk")
Add crypto/curdleproofs_whisk
Update block proposing bn side
Complete whisk fork logic
Add GET beacon/states/{state_id}/proposer_trackers
Whisk validator client
FIx PR
Clean up PR
Clippy warnings
Fixes from tests
Run whisk on beacon_chain tests
Patch for remote validators
Use expect in simulator checks
debug tests
fix opening proof logic
fix shuffle trackers len bug
handle NoProposerShuffleAfterWhisk
able to produce blocks up to repeated proposal
Use minimal preset
rebase fixes
Handle case of double proposal on bootstrap phase
fix subsequent registration
clippy warnings
remove unused dep
print ef test missing files
make proposer_index query param optional
remove unwraps in validator client
Remove unwraps from block production flow
Implement gossip validation
Simplify wwhisk tracker error
backwards compatible blocks query
Add note
Compute whisk candidates only in same epoch
Skip always failing tests
fix cargo fmt
set target peers in simulator
Test fixes
Add prepare whisk beacon proposer functionality
Lint and fix serde
handle whisk proposer registration in reorg tests
skip builder in capella test
Test get_proposer_trackers
do not prime beacon cache on state advance
Allow get_proposer_trackers to advance state
Update curdleproofs
|
dapplion-whisk-CI-run-beaconchaintests-bf52a25453830d133fdf62f93bbe56a7bc6ccc6d.log beacon-chain tests timeout, all forks pass except capella |
Optimize duty performance
The purpose of this implementation is to guide spec decisions based on practical considerations
Progress
lighthouse/beacon_node/http_api/src/lib.rs
Line 1062 in b371ad1
Open questions
Initial k value has trade-offs. Current implementation ensures not proposals are missed but requires more verification complexity
Initial k value is computed from public key so validator client implementations are simpler, but does not guarantee that k commitments are unique for new deposits
lighthouse/consensus/state_processing/src/per_block_processing/process_operations.rs
Lines 458 to 459 in 14a2f88
Should new validators submit k trackers on deposits to prevent insecure proposals for new validators?
Can the validator_client produce the opening proof to not have to submit k?
Blockers
Running test harness with mainnet preset on
whisk_few_epochstest so WHISK_CANDIDATE_TRACKERS_COUNT = 16384 but VALIDATOR_COUNT = 32 so there are many repetitions in the selected trackers. If a validator first and second proposal are in the same whisk round, it will not be able to produce a valid opening proof since the tracker and commitment in the state are computed with different k values.