mirror of
https://github.com/status-im/eth2.0-specs.git
synced 2025-01-14 04:34:43 +00:00
c764202a57
If the exit queue is very long, then a validator may take many months to exit. With the code as currently written, however, self-slashing is a potentially lucrative route to get one's money out faster, because one can exit in 36 days. This PR changes it so that slashing can only extend your withdrawal time, not contract it. Also, instead of the slashed balances used to calculate one's slashing penalty being those in `[withdrawal - 54 days ... withdrawal - 18 days]`, we now run the penalization algorithm once every 36 days that a validator is slashed but not withdrawn, so that it covers the 36-day period where the validator was actually slashed. It also moves the minimum slashing penalty to the `slash_validator` function so that it is only applied once. We also simplify the `slashed_balances` logic to be per-epoch.
125 lines
3.2 KiB
YAML
125 lines
3.2 KiB
YAML
# Minimal preset
|
|
|
|
|
|
# Misc
|
|
# ---------------------------------------------------------------
|
|
|
|
# [customized] Just 8 shards for testing purposes
|
|
SHARD_COUNT: 8
|
|
# [customized] unsecure, but fast
|
|
TARGET_COMMITTEE_SIZE: 4
|
|
# 2**12 (= 4,096)
|
|
MAX_INDICES_PER_ATTESTATION: 4096
|
|
# 2**2 (= 4)
|
|
MIN_PER_EPOCH_CHURN_LIMIT: 4
|
|
# 2**16 (= 65,536)
|
|
CHURN_LIMIT_QUOTIENT: 65536
|
|
# [customized] Faster, but unsecure.
|
|
SHUFFLE_ROUND_COUNT: 10
|
|
|
|
|
|
# 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
|
|
# ---------------------------------------------------------------
|
|
GENESIS_FORK_VERSION: 0x00000000
|
|
# 0, GENESIS_EPOCH is derived from this constant
|
|
GENESIS_SLOT: 0
|
|
BLS_WITHDRAWAL_PREFIX: 0
|
|
|
|
|
|
# Time parameters
|
|
# ---------------------------------------------------------------
|
|
# 6 seconds 6 seconds
|
|
SECONDS_PER_SLOT: 6
|
|
# [customized] 2 slots
|
|
MIN_ATTESTATION_INCLUSION_DELAY: 2
|
|
# [customized] fast epochs
|
|
SLOTS_PER_EPOCH: 8
|
|
# 2**0 (= 1) epochs
|
|
MIN_SEED_LOOKAHEAD: 1
|
|
# 2**2 (= 4) epochs
|
|
ACTIVATION_EXIT_DELAY: 4
|
|
# [customized] higher frequency new deposits from eth1 for testing
|
|
SLOTS_PER_ETH1_VOTING_PERIOD: 16
|
|
# [customized] smaller state
|
|
SLOTS_PER_HISTORICAL_ROOT: 64
|
|
# 2**8 (= 256) epochs
|
|
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
|
|
# 2**11 (= 2,048) epochs
|
|
PERSISTENT_COMMITTEE_PERIOD: 2048
|
|
# [customized] fast catchup crosslinks
|
|
MAX_EPOCHS_PER_CROSSLINK: 4
|
|
# 2**2 (= 4) epochs
|
|
MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4
|
|
# [customized] 2**12 (= 4,096) epochs
|
|
EARLY_DERIVED_SECRET_PENALTY_MAX_FUTURE_EPOCHS: 4096
|
|
|
|
|
|
# State vector lengths
|
|
# ---------------------------------------------------------------
|
|
# [customized] smaller state
|
|
EPOCHS_PER_HISTORICAL_VECTOR: 64
|
|
# [customized] smaller state
|
|
EPOCHS_PER_SLASHINGS_VECTOR: 64
|
|
# 2**24 (= 16,777,216) historical roots
|
|
HISTORICAL_ROOTS_LIMIT: 16777216
|
|
# 2**40 (= 1,099,511,627,776) validator spots
|
|
VALIDATOR_REGISTRY_LIMIT: 1099511627776
|
|
|
|
|
|
# Reward and penalty quotients
|
|
# ---------------------------------------------------------------
|
|
# 2**5 (= 32)
|
|
BASE_REWARD_FACTOR: 32
|
|
# 2**9 (= 512)
|
|
WHISTLEBLOWER_REWARD_QUOTIENT: 512
|
|
# 2**3 (= 8)
|
|
PROPOSER_REWARD_QUOTIENT: 8
|
|
# 2**25 (= 33,554,432)
|
|
INACTIVITY_PENALTY_QUOTIENT: 33554432
|
|
# 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
|
|
# Originally 2**4 (= 16), disabled for now.
|
|
MAX_TRANSFERS: 0
|
|
|
|
|
|
# Signature domains
|
|
# ---------------------------------------------------------------
|
|
DOMAIN_BEACON_PROPOSER: 0
|
|
DOMAIN_RANDAO: 1
|
|
DOMAIN_ATTESTATION: 2
|
|
DOMAIN_DEPOSIT: 3
|
|
DOMAIN_VOLUNTARY_EXIT: 4
|
|
DOMAIN_TRANSFER: 5
|