mirror of
https://github.com/status-im/eth2.0-specs.git
synced 2025-01-12 11:44:41 +00:00
c10e59bdf7
The amount of inactivity penalty was adjusted to half since we were applying penalty for missing FFG target and source. But now we only apply it for missing target, so `INACTIVITY_PENALTY_QUOTIENT` should be `2**24`.
221 lines
5.8 KiB
YAML
221 lines
5.8 KiB
YAML
# Mainnet preset
|
|
# Note: the intention of this file (for now) is to illustrate what a mainnet configuration could look like.
|
|
# Some of these constants may still change before the launch of Phase 0.
|
|
|
|
|
|
# Misc
|
|
# ---------------------------------------------------------------
|
|
# 2**6 (= 64)
|
|
MAX_COMMITTEES_PER_SLOT: 64
|
|
# 2**7 (= 128)
|
|
TARGET_COMMITTEE_SIZE: 128
|
|
# 2**11 (= 2,048)
|
|
MAX_VALIDATORS_PER_COMMITTEE: 2048
|
|
# 2**2 (= 4)
|
|
MIN_PER_EPOCH_CHURN_LIMIT: 4
|
|
# 2**16 (= 65,536)
|
|
CHURN_LIMIT_QUOTIENT: 65536
|
|
# See issue 563
|
|
SHUFFLE_ROUND_COUNT: 90
|
|
# `2**14` (= 16,384)
|
|
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 16384
|
|
# Jan 3, 2020
|
|
MIN_GENESIS_TIME: 1578009600
|
|
# 4
|
|
HYSTERESIS_QUOTIENT: 4
|
|
# 1 (minus 0.25)
|
|
HYSTERESIS_DOWNWARD_MULTIPLIER: 1
|
|
# 5 (plus 1.25)
|
|
HYSTERESIS_UPWARD_MULTIPLIER: 5
|
|
|
|
|
|
# Fork Choice
|
|
# ---------------------------------------------------------------
|
|
# 2**3 (= 8)
|
|
SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8
|
|
|
|
|
|
# Validator
|
|
# ---------------------------------------------------------------
|
|
# 2**10 (= 1,024)
|
|
ETH1_FOLLOW_DISTANCE: 1024
|
|
# 2**4 (= 16)
|
|
TARGET_AGGREGATORS_PER_COMMITTEE: 16
|
|
# 2**0 (= 1)
|
|
RANDOM_SUBNETS_PER_VALIDATOR: 1
|
|
# 2**8 (= 256)
|
|
EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256
|
|
# 14 (estimate from Eth1 mainnet)
|
|
SECONDS_PER_ETH1_BLOCK: 14
|
|
|
|
|
|
# Deposit contract
|
|
# ---------------------------------------------------------------
|
|
# **TBD**
|
|
DEPOSIT_CONTRACT_ADDRESS: 0x1234567890123456789012345678901234567890
|
|
|
|
|
|
# Gwei values
|
|
# ---------------------------------------------------------------
|
|
# 2**0 * 10**9 (= 1,000,000,000) Gwei
|
|
MIN_DEPOSIT_AMOUNT: 1000000000
|
|
# 2**5 * 10**9 (= 32,000,000,000) Gwei
|
|
MAX_EFFECTIVE_BALANCE: 32000000000
|
|
# 2**4 * 10**9 (= 16,000,000,000) Gwei
|
|
EJECTION_BALANCE: 16000000000
|
|
# 2**0 * 10**9 (= 1,000,000,000) Gwei
|
|
EFFECTIVE_BALANCE_INCREMENT: 1000000000
|
|
|
|
|
|
# Initial values
|
|
# ---------------------------------------------------------------
|
|
# Mainnet initial fork version, recommend altering for testnets
|
|
GENESIS_FORK_VERSION: 0x00000000
|
|
BLS_WITHDRAWAL_PREFIX: 0x00
|
|
|
|
|
|
# Time parameters
|
|
# ---------------------------------------------------------------
|
|
# 86400 seconds (1 day)
|
|
MIN_GENESIS_DELAY: 86400
|
|
# 12 seconds
|
|
SECONDS_PER_SLOT: 12
|
|
# 2**0 (= 1) slots 12 seconds
|
|
MIN_ATTESTATION_INCLUSION_DELAY: 1
|
|
# 2**5 (= 32) slots 6.4 minutes
|
|
SLOTS_PER_EPOCH: 32
|
|
# 2**0 (= 1) epochs 6.4 minutes
|
|
MIN_SEED_LOOKAHEAD: 1
|
|
# 2**2 (= 4) epochs 25.6 minutes
|
|
MAX_SEED_LOOKAHEAD: 4
|
|
# 2**5 (= 32) epochs ~3.4 hours
|
|
EPOCHS_PER_ETH1_VOTING_PERIOD: 32
|
|
# 2**13 (= 8,192) slots ~13 hours
|
|
SLOTS_PER_HISTORICAL_ROOT: 8192
|
|
# 2**8 (= 256) epochs ~27 hours
|
|
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
|
|
# 2**11 (= 2,048) epochs 9 days
|
|
PERSISTENT_COMMITTEE_PERIOD: 2048
|
|
# 2**6 (= 64) epochs ~7 hours
|
|
MAX_EPOCHS_PER_CROSSLINK: 64
|
|
# 2**2 (= 4) epochs 25.6 minutes
|
|
MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4
|
|
|
|
|
|
# State vector lengths
|
|
# ---------------------------------------------------------------
|
|
# 2**16 (= 65,536) epochs ~0.8 years
|
|
EPOCHS_PER_HISTORICAL_VECTOR: 65536
|
|
# 2**13 (= 8,192) epochs ~36 days
|
|
EPOCHS_PER_SLASHINGS_VECTOR: 8192
|
|
# 2**24 (= 16,777,216) historical roots, ~26,131 years
|
|
HISTORICAL_ROOTS_LIMIT: 16777216
|
|
# 2**40 (= 1,099,511,627,776) validator spots
|
|
VALIDATOR_REGISTRY_LIMIT: 1099511627776
|
|
|
|
|
|
# Reward and penalty quotients
|
|
# ---------------------------------------------------------------
|
|
# 2**6 (= 64)
|
|
BASE_REWARD_FACTOR: 64
|
|
# 2**9 (= 512)
|
|
WHISTLEBLOWER_REWARD_QUOTIENT: 512
|
|
# 2**3 (= 8)
|
|
PROPOSER_REWARD_QUOTIENT: 8
|
|
# 2**24 (= 16,777,216)
|
|
INACTIVITY_PENALTY_QUOTIENT: 16777216
|
|
# 2**5 (= 32)
|
|
MIN_SLASHING_PENALTY_QUOTIENT: 32
|
|
|
|
|
|
# Max operations per block
|
|
# ---------------------------------------------------------------
|
|
# 2**4 (= 16)
|
|
MAX_PROPOSER_SLASHINGS: 16
|
|
# 2**0 (= 1)
|
|
MAX_ATTESTER_SLASHINGS: 1
|
|
# 2**7 (= 128)
|
|
MAX_ATTESTATIONS: 128
|
|
# 2**4 (= 16)
|
|
MAX_DEPOSITS: 16
|
|
# 2**4 (= 16)
|
|
MAX_VOLUNTARY_EXITS: 16
|
|
|
|
|
|
# Signature domains
|
|
# ---------------------------------------------------------------
|
|
DOMAIN_BEACON_PROPOSER: 0x00000000
|
|
DOMAIN_BEACON_ATTESTER: 0x01000000
|
|
DOMAIN_RANDAO: 0x02000000
|
|
DOMAIN_DEPOSIT: 0x03000000
|
|
DOMAIN_VOLUNTARY_EXIT: 0x04000000
|
|
DOMAIN_SELECTION_PROOF: 0x05000000
|
|
DOMAIN_AGGREGATE_AND_PROOF: 0x06000000
|
|
# Phase 1
|
|
DOMAIN_SHARD_PROPOSAL: 0x80000000
|
|
DOMAIN_SHARD_COMMITTEE: 0x81000000
|
|
DOMAIN_LIGHT_CLIENT: 0x82000000
|
|
DOMAIN_CUSTODY_BIT_SLASHING: 0x83000000
|
|
|
|
|
|
# Phase 1: Upgrade from Phase 0
|
|
# ---------------------------------------------------------------
|
|
PHASE_1_FORK_VERSION: 0x01000000
|
|
INITIAL_ACTIVE_SHARDS: 64
|
|
|
|
# Phase 1: General
|
|
# ---------------------------------------------------------------
|
|
# 2**10` (= 1024)
|
|
MAX_SHARDS: 1024
|
|
# 2**3 (= 8) | online epochs | ~51 min
|
|
ONLINE_PERIOD: 8
|
|
# 2**7 (= 128)
|
|
LIGHT_CLIENT_COMMITTEE_SIZE: 128
|
|
# 2**8 (= 256) | epochs | ~27 hours
|
|
LIGHT_CLIENT_COMMITTEE_PERIOD: 256
|
|
# 2**8 (= 256) | epochs | ~27 hours
|
|
SHARD_COMMITTEE_PERIOD: 256
|
|
# 2**18 (= 262,144)
|
|
SHARD_BLOCK_CHUNK_SIZE: 262144
|
|
# 2**2 (= 4)
|
|
MAX_SHARD_BLOCK_CHUNKS: 4
|
|
# 3 * 2**16` (= 196,608)
|
|
TARGET_SHARD_BLOCK_SIZE: 196608
|
|
# Note: MAX_SHARD_BLOCKS_PER_ATTESTATION is derived from the list length.
|
|
SHARD_BLOCK_OFFSETS: [1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233]
|
|
# len(SHARD_BLOCK_OFFSETS)
|
|
MAX_SHARD_BLOCKS_PER_ATTESTATION: 12
|
|
# 2**14 (= 16,384) Gwei
|
|
MAX_GASPRICE: 16384
|
|
# 2**3 (= 8) Gwei
|
|
MIN_GASPRICE: 8
|
|
# 2**3 (= 8)
|
|
GASPRICE_ADJUSTMENT_COEFFICIENT: 8
|
|
|
|
|
|
# Phase 1: Custody Game
|
|
# ---------------------------------------------------------------
|
|
|
|
# Time parameters
|
|
# 2**1 (= 2) epochs, 12.8 minutes
|
|
RANDAO_PENALTY_EPOCHS: 2
|
|
# 2**14 (= 16,384) epochs ~73 days
|
|
EARLY_DERIVED_SECRET_PENALTY_MAX_FUTURE_EPOCHS: 16384
|
|
# 2**11 (= 2,048) epochs, ~9 days
|
|
EPOCHS_PER_CUSTODY_PERIOD: 2048
|
|
# 2**11 (= 2,048) epochs, ~9 days
|
|
CUSTODY_PERIOD_TO_RANDAO_PADDING: 2048
|
|
# 2**7 (= 128) epochs, ~14 hours
|
|
MAX_REVEAL_LATENESS_DECREMENT: 128
|
|
|
|
# Max operations
|
|
# 2**8 (= 256)
|
|
MAX_CUSTODY_KEY_REVEALS: 256
|
|
MAX_EARLY_DERIVED_SECRET_REVEALS: 1
|
|
MAX_CUSTODY_SLASHINGS: 1
|
|
|
|
# Reward and penalty quotients
|
|
EARLY_DERIVED_SECRET_REVEAL_SLOT_REWARD_MULTIPLE: 2
|
|
# 2**8 (= 256)
|
|
MINOR_REWARD_QUOTIENT: 256
|