2019-04-07 04:46:37 +00:00
|
|
|
# Minimal preset
|
|
|
|
|
|
|
|
|
|
|
|
# Misc
|
|
|
|
# ---------------------------------------------------------------
|
|
|
|
|
2019-10-17 08:47:51 +00:00
|
|
|
# [customized] Just 4 committees for slot for testing purposes
|
2019-10-13 12:52:58 +00:00
|
|
|
MAX_COMMITTEES_PER_SLOT: 4
|
2019-04-07 06:17:42 +00:00
|
|
|
# [customized] unsecure, but fast
|
|
|
|
TARGET_COMMITTEE_SIZE: 4
|
2019-10-20 04:38:00 +00:00
|
|
|
# 2**11 (= 2,048)
|
|
|
|
MAX_VALIDATORS_PER_COMMITTEE: 2048
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**2 (= 4)
|
|
|
|
MIN_PER_EPOCH_CHURN_LIMIT: 4
|
|
|
|
# 2**16 (= 65,536)
|
|
|
|
CHURN_LIMIT_QUOTIENT: 65536
|
|
|
|
# [customized] Faster, but unsecure.
|
2019-04-11 08:33:46 +00:00
|
|
|
SHUFFLE_ROUND_COUNT: 10
|
2019-06-21 22:30:31 +00:00
|
|
|
# [customized]
|
2019-06-30 00:10:18 +00:00
|
|
|
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 64
|
2019-07-01 04:31:14 +00:00
|
|
|
# Jan 3, 2020
|
|
|
|
MIN_GENESIS_TIME: 1578009600
|
|
|
|
|
2020-01-13 18:47:33 +00:00
|
|
|
|
2019-11-05 17:58:45 +00:00
|
|
|
# Fork Choice
|
|
|
|
# ---------------------------------------------------------------
|
|
|
|
# 2**1 (= 1)
|
|
|
|
SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 2
|
2019-04-07 04:46:37 +00:00
|
|
|
|
2020-01-13 18:47:33 +00:00
|
|
|
|
2019-11-12 15:42:57 +00:00
|
|
|
# Validator
|
|
|
|
# ---------------------------------------------------------------
|
|
|
|
# [customized] process deposits more quickly, but insecure
|
|
|
|
ETH1_FOLLOW_DISTANCE: 16
|
|
|
|
# 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
|
2020-01-03 16:37:37 +00:00
|
|
|
# 14 (estimate from Eth1 mainnet)
|
|
|
|
SECONDS_PER_ETH1_BLOCK: 14
|
2019-11-12 15:42:57 +00:00
|
|
|
|
2019-04-07 04:46:37 +00:00
|
|
|
|
|
|
|
# Deposit contract
|
|
|
|
# ---------------------------------------------------------------
|
|
|
|
# **TBD**
|
2019-04-14 09:38:37 +00:00
|
|
|
DEPOSIT_CONTRACT_ADDRESS: 0x1234567890123456789012345678901234567890
|
2019-04-07 04:46:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Gwei values
|
|
|
|
# ---------------------------------------------------------------
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**0 * 10**9 (= 1,000,000,000) Gwei
|
2019-04-07 04:46:37 +00:00
|
|
|
MIN_DEPOSIT_AMOUNT: 1000000000
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**5 * 10**9 (= 32,000,000,000) Gwei
|
2019-04-24 09:30:13 +00:00
|
|
|
MAX_EFFECTIVE_BALANCE: 32000000000
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**4 * 10**9 (= 16,000,000,000) Gwei
|
2019-04-07 04:46:37 +00:00
|
|
|
EJECTION_BALANCE: 16000000000
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**0 * 10**9 (= 1,000,000,000) Gwei
|
2019-04-26 07:57:20 +00:00
|
|
|
EFFECTIVE_BALANCE_INCREMENT: 1000000000
|
2019-04-07 04:46:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Initial values
|
|
|
|
# ---------------------------------------------------------------
|
2020-01-04 00:48:03 +00:00
|
|
|
# Highest byte set to 0x01 to avoid collisions with mainnet versioning
|
|
|
|
GENESIS_FORK_VERSION: 0x00000001
|
2019-06-30 22:26:46 +00:00
|
|
|
BLS_WITHDRAWAL_PREFIX: 0x00
|
2019-04-07 04:46:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Time parameters
|
|
|
|
# ---------------------------------------------------------------
|
2020-01-05 22:29:23 +00:00
|
|
|
# [customized] Faster to spin up testnets, but does not give validator reasonable warning time for genesis
|
|
|
|
MIN_GENESIS_DELAY: 300
|
2019-10-20 04:38:00 +00:00
|
|
|
# [customized] Faster for testing purposes
|
2019-04-07 04:46:37 +00:00
|
|
|
SECONDS_PER_SLOT: 6
|
2019-07-01 04:31:14 +00:00
|
|
|
# 2**0 (= 1) slots 6 seconds
|
|
|
|
MIN_ATTESTATION_INCLUSION_DELAY: 1
|
2019-04-07 06:17:42 +00:00
|
|
|
# [customized] fast epochs
|
|
|
|
SLOTS_PER_EPOCH: 8
|
2019-06-11 15:07:48 +00:00
|
|
|
# 2**0 (= 1) epochs
|
2019-04-07 04:46:37 +00:00
|
|
|
MIN_SEED_LOOKAHEAD: 1
|
2019-06-11 15:07:48 +00:00
|
|
|
# 2**2 (= 4) epochs
|
2019-09-23 18:07:10 +00:00
|
|
|
MAX_SEED_LOOKAHEAD: 4
|
2019-04-07 13:36:05 +00:00
|
|
|
# [customized] higher frequency new deposits from eth1 for testing
|
2020-03-10 17:36:53 +00:00
|
|
|
EPOCHS_PER_ETH1_VOTING_PERIOD: 2
|
2019-04-07 06:17:42 +00:00
|
|
|
# [customized] smaller state
|
|
|
|
SLOTS_PER_HISTORICAL_ROOT: 64
|
2019-06-11 15:07:48 +00:00
|
|
|
# 2**8 (= 256) epochs
|
2019-04-07 04:46:37 +00:00
|
|
|
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
|
2020-01-16 01:16:09 +00:00
|
|
|
# [customized] higher frequency of committee turnover and faster time to acceptable voluntary exit
|
|
|
|
PERSISTENT_COMMITTEE_PERIOD: 128
|
2019-10-12 05:44:53 +00:00
|
|
|
# [customized] fast catchup crosslinks
|
|
|
|
MAX_EPOCHS_PER_CROSSLINK: 4
|
2019-06-11 15:07:48 +00:00
|
|
|
# 2**2 (= 4) epochs
|
2019-04-26 07:57:20 +00:00
|
|
|
MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4
|
2019-04-07 04:46:37 +00:00
|
|
|
|
|
|
|
|
2019-06-19 19:59:44 +00:00
|
|
|
# State vector lengths
|
2019-04-07 04:46:37 +00:00
|
|
|
# ---------------------------------------------------------------
|
2019-04-07 06:17:42 +00:00
|
|
|
# [customized] smaller state
|
2019-06-19 19:59:44 +00:00
|
|
|
EPOCHS_PER_HISTORICAL_VECTOR: 64
|
2019-04-07 06:17:42 +00:00
|
|
|
# [customized] smaller state
|
2019-06-28 13:35:26 +00:00
|
|
|
EPOCHS_PER_SLASHINGS_VECTOR: 64
|
2019-06-24 21:38:36 +00:00
|
|
|
# 2**24 (= 16,777,216) historical roots
|
|
|
|
HISTORICAL_ROOTS_LIMIT: 16777216
|
|
|
|
# 2**40 (= 1,099,511,627,776) validator spots
|
|
|
|
VALIDATOR_REGISTRY_LIMIT: 1099511627776
|
2019-04-07 04:46:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Reward and penalty quotients
|
|
|
|
# ---------------------------------------------------------------
|
2019-07-01 04:31:14 +00:00
|
|
|
# 2**6 (= 64)
|
|
|
|
BASE_REWARD_FACTOR: 64
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**9 (= 512)
|
2019-06-28 13:35:26 +00:00
|
|
|
WHISTLEBLOWER_REWARD_QUOTIENT: 512
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**3 (= 8)
|
2019-04-07 04:46:37 +00:00
|
|
|
PROPOSER_REWARD_QUOTIENT: 8
|
2019-04-26 07:57:20 +00:00
|
|
|
# 2**25 (= 33,554,432)
|
|
|
|
INACTIVITY_PENALTY_QUOTIENT: 33554432
|
|
|
|
# 2**5 (= 32)
|
|
|
|
MIN_SLASHING_PENALTY_QUOTIENT: 32
|
2019-04-07 04:46:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Max operations per block
|
|
|
|
# ---------------------------------------------------------------
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**4 (= 16)
|
2019-04-07 04:46:37 +00:00
|
|
|
MAX_PROPOSER_SLASHINGS: 16
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**0 (= 1)
|
2019-04-07 04:46:37 +00:00
|
|
|
MAX_ATTESTER_SLASHINGS: 1
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**7 (= 128)
|
2019-04-07 04:46:37 +00:00
|
|
|
MAX_ATTESTATIONS: 128
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**4 (= 16)
|
2019-04-07 04:46:37 +00:00
|
|
|
MAX_DEPOSITS: 16
|
2019-04-16 04:57:57 +00:00
|
|
|
# 2**4 (= 16)
|
2019-04-07 04:46:37 +00:00
|
|
|
MAX_VOLUNTARY_EXITS: 16
|
|
|
|
|
|
|
|
|
|
|
|
# Signature domains
|
|
|
|
# ---------------------------------------------------------------
|
2019-06-30 20:12:02 +00:00
|
|
|
DOMAIN_BEACON_PROPOSER: 0x00000000
|
2019-09-22 19:27:42 +00:00
|
|
|
DOMAIN_BEACON_ATTESTER: 0x01000000
|
|
|
|
DOMAIN_RANDAO: 0x02000000
|
2019-06-30 20:12:02 +00:00
|
|
|
DOMAIN_DEPOSIT: 0x03000000
|
|
|
|
DOMAIN_VOLUNTARY_EXIT: 0x04000000
|
2020-02-11 22:45:51 +00:00
|
|
|
DOMAIN_SELECTION_PROOF: 0x05000000
|
|
|
|
DOMAIN_AGGREGATE_AND_PROOF: 0x06000000
|
2020-01-13 18:47:33 +00:00
|
|
|
# Phase 1
|
2020-01-03 14:49:23 +00:00
|
|
|
DOMAIN_SHARD_PROPOSAL: 0x80000000
|
|
|
|
DOMAIN_SHARD_COMMITTEE: 0x81000000
|
|
|
|
DOMAIN_LIGHT_CLIENT: 0x82000000
|
|
|
|
DOMAIN_CUSTODY_BIT_SLASHING: 0x83000000
|
2019-08-01 06:19:08 +00:00
|
|
|
|
|
|
|
|
2020-01-13 18:47:33 +00:00
|
|
|
# Phase 1: Upgrade from Phase 0
|
2019-08-01 06:19:08 +00:00
|
|
|
# ---------------------------------------------------------------
|
2020-01-13 18:47:33 +00:00
|
|
|
# [customized] for testnet distinction
|
|
|
|
PHASE_1_FORK_VERSION: 0x01000001
|
2020-01-05 23:24:06 +00:00
|
|
|
# [customized] reduced for testing
|
|
|
|
INITIAL_ACTIVE_SHARDS: 4
|
2020-01-13 18:47:33 +00:00
|
|
|
# Placeholder
|
|
|
|
INITIAL_GASPRICE: 10
|
|
|
|
|
|
|
|
|
|
|
|
# Phase 1: General
|
|
|
|
# ---------------------------------------------------------------
|
|
|
|
# [customized] reduced for testing
|
|
|
|
MAX_SHARDS: 8
|
|
|
|
# 2**3 (= 8) | online epochs
|
|
|
|
ONLINE_PERIOD: 8
|
|
|
|
# 2**7 (= 128)
|
|
|
|
LIGHT_CLIENT_COMMITTEE_SIZE: 128
|
|
|
|
# 2**8 (= 256) | epochs
|
|
|
|
LIGHT_CLIENT_COMMITTEE_PERIOD: 256
|
|
|
|
# 2**8 (= 256) | epochs
|
|
|
|
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**5 (= 32) Gwei
|
|
|
|
MIN_GASPRICE: 32
|
|
|
|
# 2**3 (= 8)
|
|
|
|
GASPRICE_ADJUSTMENT_COEFFICIENT: 8
|
|
|
|
|
|
|
|
|
|
|
|
# Phase 1: Custody Game
|
|
|
|
# ---------------------------------------------------------------
|
|
|
|
|
|
|
|
# Time parameters
|
|
|
|
# 2**1 (= 2) epochs
|
|
|
|
RANDAO_PENALTY_EPOCHS: 2
|
|
|
|
# [customized] quicker for testing
|
|
|
|
EARLY_DERIVED_SECRET_PENALTY_MAX_FUTURE_EPOCHS: 4096
|
2020-01-14 01:26:15 +00:00
|
|
|
# 2**11 (= 2,048) epochs
|
2020-01-13 18:47:33 +00:00
|
|
|
EPOCHS_PER_CUSTODY_PERIOD: 2048
|
2020-01-14 01:26:15 +00:00
|
|
|
# 2**11 (= 2,048) epochs
|
2020-01-13 18:47:33 +00:00
|
|
|
CUSTODY_PERIOD_TO_RANDAO_PADDING: 2048
|
2020-01-14 01:26:15 +00:00
|
|
|
# 2**7 (= 128) epochs
|
2020-01-13 18:47:33 +00:00
|
|
|
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
|