ChainSafe / ChainSafe/ProtoBanshee

Validators circuit: shuffling check

Open
#16 0 comments 0 reactions 0 assignees Claimed by @ec2 View on GitHub
prototype
Dominant language
Rust
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Design and prototype a shuffling chip for constraining order of validators based on [swap-or-not](https://eth2book.info/capella/part2/building_blocks/shuffling/#swap-or-not-specification) shuffling algorithm and RANDAO-generated randomness as a part of [`BeaconState.randao_mixes`](https://eth2book.info/capella/annotated-spec/#beaconstate). The goal is to empirically estimate the cost of including this check in the final system. This is the opposite of #12.

> **Note**: Since it's pretty clear that this would be expensive and it's very desirable not to include this check, this circuit should be done in the simplest and quickest way possible.

Regardless of the experimental findings, the design should be included in the spec.

### [Spec](https://hackmd.io/@timofey/ByTGrG9S2#State-tree)

### References
- an optimized "fast" version of shuffling https://github.com/protolambda/eth2-shuffle/blob/master/shuffle.go

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.