diff --git a/specs/core/0_beacon-chain.md b/specs/core/0_beacon-chain.md index 4a62342ed..10640badc 100644 --- a/specs/core/0_beacon-chain.md +++ b/specs/core/0_beacon-chain.md @@ -1112,10 +1112,8 @@ def initialize_beacon_state_from_eth1(eth1_block_hash: Hash, genesis_time=eth1_timestamp - eth1_timestamp % SECONDS_PER_DAY + 2 * SECONDS_PER_DAY, eth1_data=Eth1Data(block_hash=eth1_block_hash, deposit_count=len(deposits)), latest_block_header=BeaconBlockHeader(body_root=hash_tree_root(BeaconBlockBody())), + randao_mixes=[eth1_block_hash] * EPOCHS_PER_HISTORICAL_VECTOR, # to limit deposit order bias in early epochs ) - # Set the initial RANDAO mixes to hashes seeded by the Eth1 hash, to limit deposit ordering committee bias. - for i in range(MIN_SEED_LOOKAHEAD + 1): - state.randao_mixes[EPOCHS_PER_HISTORICAL_VECTOR - i - 1] = hash(eth1_block_hash + int_to_bytes(i, 8)) # Process deposits leaves = list(map(lambda deposit: deposit.data, deposits)) diff --git a/test_libs/pyspec/eth2spec/test/helpers/genesis.py b/test_libs/pyspec/eth2spec/test/helpers/genesis.py index 6a9b8f9f1..7e747e34e 100644 --- a/test_libs/pyspec/eth2spec/test/helpers/genesis.py +++ b/test_libs/pyspec/eth2spec/test/helpers/genesis.py @@ -29,13 +29,9 @@ def create_genesis_state(spec, num_validators): block_hash=eth1_block_hash, ), latest_block_header=spec.BeaconBlockHeader(body_root=spec.hash_tree_root(spec.BeaconBlockBody())), + randao_mixes=[eth1_block_hash] * spec.EPOCHS_PER_HISTORICAL_VECTOR, ) - # Set the initial RANDAO mixes to hashes seeded by the Eth1 hash, to limit deposit ordering committee bias. - for i in range(spec.MIN_SEED_LOOKAHEAD + 1): - state.randao_mixes[spec.EPOCHS_PER_HISTORICAL_VECTOR - i - 1] = \ - spec.hash(eth1_block_hash + spec.int_to_bytes(i, 8)) - # We "hack" in the initial validators, # as it is much faster than creating and processing genesis deposits for every single test case. state.balances = [spec.MAX_EFFECTIVE_BALANCE] * num_validators