From c225813f7d69a7c5daa50818632b0819bf4c7f4d Mon Sep 17 00:00:00 2001 From: protolambda Date: Sat, 27 Mar 2021 00:46:04 +0100 Subject: [PATCH] split phase1 configs into feature configs --- configs/mainnet/merge.yaml | 7 ++ configs/mainnet/phase1.yaml | 101 ------------------------- configs/mainnet/proof_of_custody.yaml | 48 ++++++++++++ configs/mainnet/sharding.yaml | 43 +++++++++++ configs/minimal/merge.yaml | 7 ++ configs/minimal/phase1.yaml | 105 -------------------------- configs/minimal/proof_of_custody.yaml | 48 ++++++++++++ configs/minimal/sharding.yaml | 44 +++++++++++ 8 files changed, 197 insertions(+), 206 deletions(-) create mode 100644 configs/mainnet/merge.yaml delete mode 100644 configs/mainnet/phase1.yaml create mode 100644 configs/mainnet/proof_of_custody.yaml create mode 100644 configs/mainnet/sharding.yaml create mode 100644 configs/minimal/merge.yaml delete mode 100644 configs/minimal/phase1.yaml create mode 100644 configs/minimal/proof_of_custody.yaml create mode 100644 configs/minimal/sharding.yaml diff --git a/configs/mainnet/merge.yaml b/configs/mainnet/merge.yaml new file mode 100644 index 000000000..b9924d71d --- /dev/null +++ b/configs/mainnet/merge.yaml @@ -0,0 +1,7 @@ +# Mainnet preset - The Merge + +# Fork +# --------------------------------------------------------------- +MERGE_FORK_VERSION: 0x02000000 +# TBD +MERGE_FORK_SLOT: 0 diff --git a/configs/mainnet/phase1.yaml b/configs/mainnet/phase1.yaml deleted file mode 100644 index 1d689f2b5..000000000 --- a/configs/mainnet/phase1.yaml +++ /dev/null @@ -1,101 +0,0 @@ -# Mainnet preset - phase 1 - -CONFIG_NAME: "mainnet" - -# phase1-fork -# --------------------------------------------------------------- -PHASE_1_FORK_VERSION: 0x01000000 -# [STUB] -PHASE_1_FORK_SLOT: 0 -INITIAL_ACTIVE_SHARDS: 64 - - -# beacon-chain -# --------------------------------------------------------------- -# Misc -# 2**10 (= 1,024) -MAX_SHARDS: 1024 -# 2**7 (= 128) -LIGHT_CLIENT_COMMITTEE_SIZE: 128 -# 2**3 (= 8) -GASPRICE_ADJUSTMENT_COEFFICIENT: 8 - -# Shard block configs -# 2**20 (= 1048,576) bytes -MAX_SHARD_BLOCK_SIZE: 1048576 -# 2**18 (= 262,144) bytes -TARGET_SHARD_BLOCK_SIZE: 262144 -# 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**12 (= 4,096) -BYTES_PER_CUSTODY_CHUNK: 4096 -# ceillog2(MAX_SHARD_BLOCK_SIZE // BYTES_PER_CUSTODY_CHUNK) -CUSTODY_RESPONSE_DEPTH: 8 - -# Gwei values -# 2**14 (= 16,384) Gwei -MAX_GASPRICE: 16384 -# 2**3 (= 8) Gwei -MIN_GASPRICE: 8 - -# Time parameters -# 2**3 (= 8) | online epochs -ONLINE_PERIOD: 8 -# 2**8 (= 256) | epochs -LIGHT_CLIENT_COMMITTEE_PERIOD: 256 - -# Max operations per block -# 2**20 (= 1,048,576) -MAX_CUSTODY_CHUNK_CHALLENGE_RECORDS: 1048576 - -# Domain types -DOMAIN_SHARD_PROPOSAL: 0x80000000 -DOMAIN_SHARD_COMMITTEE: 0x81000000 -DOMAIN_LIGHT_CLIENT: 0x82000000 -# custody-game spec -DOMAIN_CUSTODY_BIT_SLASHING: 0x83000000 -DOMAIN_LIGHT_SELECTION_PROOF: 0x84000000 -DOMAIN_LIGHT_AGGREGATE_AND_PROOF: 0x85000000 - -# custody-game -# --------------------------------------------------------------- -# Time parameters -# 2**1 (= 2) epochs, 12.8 minutes -RANDAO_PENALTY_EPOCHS: 2 -# 2**15 (= 32,768) epochs, ~146 days -EARLY_DERIVED_SECRET_PENALTY_MAX_FUTURE_EPOCHS: 32768 -# 2**14 (= 16,384) epochs ~73 days -EPOCHS_PER_CUSTODY_PERIOD: 16384 -# 2**11 (= 2,048) epochs, ~9 days -CUSTODY_PERIOD_TO_RANDAO_PADDING: 2048 -# 2**15 (= 32,768) epochs, ~146 days -MAX_CHUNK_CHALLENGE_DELAY: 32768 - -# Misc parameters -# 2**256 - 189 -CUSTODY_PRIME: 115792089237316195423570985008687907853269984665640564039457584007913129639747 -# 3 -CUSTODY_SECRETS: 3 -# 2**5 (= 32) bytes -BYTES_PER_CUSTODY_ATOM: 32 -# 1/1024 chance of custody bit 1 -CUSTODY_PROBABILITY_EXPONENT: 10 - -# Max operations -# 2**8 (= 256) -MAX_CUSTODY_KEY_REVEALS: 256 -# 2**0 (= 1) -MAX_EARLY_DERIVED_SECRET_REVEALS: 1 -# 2**2 (= 2) -MAX_CUSTODY_CHUNK_CHALLENGES: 4 -# 2** 4 (= 16) -MAX_CUSTODY_CHUNK_CHALLENGE_RESP: 16 -# 2**0 (= 1) -MAX_CUSTODY_SLASHINGS: 1 - -# Reward and penalty quotients -EARLY_DERIVED_SECRET_REVEAL_SLOT_REWARD_MULTIPLE: 2 -# 2**8 (= 256) -MINOR_REWARD_QUOTIENT: 256 diff --git a/configs/mainnet/proof_of_custody.yaml b/configs/mainnet/proof_of_custody.yaml new file mode 100644 index 000000000..eb299c621 --- /dev/null +++ b/configs/mainnet/proof_of_custody.yaml @@ -0,0 +1,48 @@ +# Mainnet preset - Proof of Custody + +# Time parameters +# --------------------------------------------------------------- +# 2**1 (= 2) epochs, 12.8 minutes +RANDAO_PENALTY_EPOCHS: 2 +# 2**15 (= 32,768) epochs, ~146 days +EARLY_DERIVED_SECRET_PENALTY_MAX_FUTURE_EPOCHS: 32768 +# 2**14 (= 16,384) epochs ~73 days +EPOCHS_PER_CUSTODY_PERIOD: 16384 +# 2**11 (= 2,048) epochs, ~9 days +CUSTODY_PERIOD_TO_RANDAO_PADDING: 2048 +# 2**15 (= 32,768) epochs, ~146 days +MAX_CHUNK_CHALLENGE_DELAY: 32768 + +# Misc parameters +# --------------------------------------------------------------- +# 2**256 - 189 +CUSTODY_PRIME: 115792089237316195423570985008687907853269984665640564039457584007913129639747 +# 3 +CUSTODY_SECRETS: 3 +# 1/1024 chance of custody bit 1 +CUSTODY_PROBABILITY_EXPONENT: 10 + +# Max operations +# --------------------------------------------------------------- +# 2**8 (= 256) +MAX_CUSTODY_KEY_REVEALS: 256 +# 2**0 (= 1) +MAX_EARLY_DERIVED_SECRET_REVEALS: 1 +# 2**2 (= 2) +MAX_CUSTODY_CHUNK_CHALLENGES: 4 +# 2** 4 (= 16) +MAX_CUSTODY_CHUNK_CHALLENGE_RESP: 16 +# 2**0 (= 1) +MAX_CUSTODY_SLASHINGS: 1 + +# Reward and penalty quotients +# --------------------------------------------------------------- +EARLY_DERIVED_SECRET_REVEAL_SLOT_REWARD_MULTIPLE: 2 +# 2**8 (= 256) +MINOR_REWARD_QUOTIENT: 256 + +# Signature domains +# --------------------------------------------------------------- +DOMAIN_CUSTODY_BIT_SLASHING: 0x83000000 +DOMAIN_LIGHT_SELECTION_PROOF: 0x84000000 +DOMAIN_LIGHT_AGGREGATE_AND_PROOF: 0x85000000 diff --git a/configs/mainnet/sharding.yaml b/configs/mainnet/sharding.yaml new file mode 100644 index 000000000..099a71442 --- /dev/null +++ b/configs/mainnet/sharding.yaml @@ -0,0 +1,43 @@ +# Mainnet preset - Sharding + +# Fork +# --------------------------------------------------------------- +SHARDING_FORK_VERSION: 0x03000000 +# TBD +SHARDING_FORK_SLOT: 0 + + +# Beacon-chain +# --------------------------------------------------------------- +# Misc +# 2**10 (= 1,024) +MAX_SHARDS: 1024 +# 2**6 = 64 +INITIAL_ACTIVE_SHARDS: 64 +# 2**3 (= 8) +GASPRICE_ADJUSTMENT_COEFFICIENT: 8 + +# Shard block configs +# --------------------------------------------------------------- +MAX_SHARD_HEADERS_PER_SHARD: 4 +# 2**11 (= 2,048) +MAX_SAMPLES_PER_BLOCK: 2048 +# 2**10 (= 1,1024) +TARGET_SAMPLES_PER_BLOCK: 1024 + +# Gwei values +# --------------------------------------------------------------- +# 2**33 (= 8,589,934,592) Gwei +MAX_GASPRICE: 8589934592 +# 2**3 (= 8) Gwei +MIN_GASPRICE: 8 + +# Time parameters +# --------------------------------------------------------------- +# 2**8 (= 256) | epochs +SHARD_COMMITTEE_PERIOD: 256 + +# Signature domains +# --------------------------------------------------------------- +DOMAIN_SHARD_PROPOSAL: 0x80000000 +DOMAIN_SHARD_COMMITTEE: 0x81000000 \ No newline at end of file diff --git a/configs/minimal/merge.yaml b/configs/minimal/merge.yaml new file mode 100644 index 000000000..f36caa832 --- /dev/null +++ b/configs/minimal/merge.yaml @@ -0,0 +1,7 @@ +# Minimal preset - The Merge + +# Fork +# --------------------------------------------------------------- +MERGE_FORK_VERSION: 0x02000001 +# TBD +MERGE_FORK_SLOT: 0 diff --git a/configs/minimal/phase1.yaml b/configs/minimal/phase1.yaml deleted file mode 100644 index cf17ba52a..000000000 --- a/configs/minimal/phase1.yaml +++ /dev/null @@ -1,105 +0,0 @@ -# Minimal preset - phase 1 - -CONFIG_NAME: "minimal" - -# phase1-fork -# --------------------------------------------------------------- -# [customized] for testnet distinction -PHASE_1_FORK_VERSION: 0x01000001 -# [STUB] -PHASE_1_FORK_SLOT: 0 -# [customized] reduced for testing -INITIAL_ACTIVE_SHARDS: 2 - - -# beacon-chain -# --------------------------------------------------------------- -# Misc -# [customized] reduced for testing -MAX_SHARDS: 8 -# 2**7 (= 128) -LIGHT_CLIENT_COMMITTEE_SIZE: 128 -# 2**3 (= 8) -GASPRICE_ADJUSTMENT_COEFFICIENT: 8 - -# Shard block configs -# 2**20 (= 1048,576) bytes -MAX_SHARD_BLOCK_SIZE: 1048576 -# 2**18 (= 262,144) bytes -TARGET_SHARD_BLOCK_SIZE: 262144 -# 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**12 (= 4,096) -BYTES_PER_CUSTODY_CHUNK: 4096 -# ceillog2(MAX_SHARD_BLOCK_SIZE // BYTES_PER_CUSTODY_CHUNK) -CUSTODY_RESPONSE_DEPTH: 8 - -# Gwei values -# 2**14 (= 16,384) Gwei -MAX_GASPRICE: 16384 -# 2**3 (= 8) Gwei -MIN_GASPRICE: 8 - -# Time parameters -# 2**3 (= 8) | online epochs -ONLINE_PERIOD: 8 -# 2**8 (= 256) | epochs -LIGHT_CLIENT_COMMITTEE_PERIOD: 256 - -# Max operations per block -# 2**20 (= 1,048,576) -MAX_CUSTODY_CHUNK_CHALLENGE_RECORDS: 1048576 - -# Domain types -DOMAIN_SHARD_PROPOSAL: 0x80000000 -DOMAIN_SHARD_COMMITTEE: 0x81000000 -DOMAIN_LIGHT_CLIENT: 0x82000000 -# custody-game spec -DOMAIN_CUSTODY_BIT_SLASHING: 0x83000000 -DOMAIN_LIGHT_SELECTION_PROOF: 0x84000000 -DOMAIN_LIGHT_AGGREGATE_AND_PROOF: 0x85000000 - -# custody-game -# --------------------------------------------------------------- -# Time parameters -# 2**1 (= 2) epochs -RANDAO_PENALTY_EPOCHS: 2 -# [customized] quicker for testing -EARLY_DERIVED_SECRET_PENALTY_MAX_FUTURE_EPOCHS: 64 -# [customized] quicker for testing -EPOCHS_PER_CUSTODY_PERIOD: 32 -# [customized] quicker for testing -CUSTODY_PERIOD_TO_RANDAO_PADDING: 8 -# [customize for faster testing] -MAX_CHUNK_CHALLENGE_DELAY: 64 - - -# Misc parameters -# 2**256 - 189 -CUSTODY_PRIME: 115792089237316195423570985008687907853269984665640564039457584007913129639747 -# 3 -CUSTODY_SECRETS: 3 -# 2**5 (= 32) bytes -BYTES_PER_CUSTODY_ATOM: 32 -# 1/4 chance of custody bit 1 [customized for faster testing] -CUSTODY_PROBABILITY_EXPONENT: 2 - - -# Max operations -# 2**8 (= 256) -MAX_CUSTODY_KEY_REVEALS: 256 -# 2**0 (= 1) -MAX_EARLY_DERIVED_SECRET_REVEALS: 1 -# [customized] -MAX_CUSTODY_CHUNK_CHALLENGES: 2 -# [customized] -MAX_CUSTODY_CHUNK_CHALLENGE_RESP: 8 -# 2**0 (= 1) -MAX_CUSTODY_SLASHINGS: 1 - -# Reward and penalty quotients -EARLY_DERIVED_SECRET_REVEAL_SLOT_REWARD_MULTIPLE: 2 -# 2**8 (= 256) -MINOR_REWARD_QUOTIENT: 256 diff --git a/configs/minimal/proof_of_custody.yaml b/configs/minimal/proof_of_custody.yaml new file mode 100644 index 000000000..67394c35c --- /dev/null +++ b/configs/minimal/proof_of_custody.yaml @@ -0,0 +1,48 @@ +# Minimal preset - Proof of Custody + +# Time parameters +# --------------------------------------------------------------- +# 2**1 (= 2) epochs, 12.8 minutes +RANDAO_PENALTY_EPOCHS: 2 +# [customized] quicker for testing +EARLY_DERIVED_SECRET_PENALTY_MAX_FUTURE_EPOCHS: 64 +# [customized] quicker for testing +EPOCHS_PER_CUSTODY_PERIOD: 32 +# [customized] quicker for testing +CUSTODY_PERIOD_TO_RANDAO_PADDING: 8 +# [customize for faster testing] +MAX_CHUNK_CHALLENGE_DELAY: 64 + +# Misc parameters +# --------------------------------------------------------------- +# 2**256 - 189 +CUSTODY_PRIME: 115792089237316195423570985008687907853269984665640564039457584007913129639747 +# 3 +CUSTODY_SECRETS: 3 +# 1/4 chance of custody bit 1 [customized for faster testing] +CUSTODY_PROBABILITY_EXPONENT: 2 + +# Max operations +# --------------------------------------------------------------- +# 2**8 (= 256) +MAX_CUSTODY_KEY_REVEALS: 256 +# 2**0 (= 1) +MAX_EARLY_DERIVED_SECRET_REVEALS: 1 +# [customized] +MAX_CUSTODY_CHUNK_CHALLENGES: 2 +# [customized] +MAX_CUSTODY_CHUNK_CHALLENGE_RESP: 8 +# 2**0 (= 1) +MAX_CUSTODY_SLASHINGS: 1 + +# Reward and penalty quotients +# --------------------------------------------------------------- +EARLY_DERIVED_SECRET_REVEAL_SLOT_REWARD_MULTIPLE: 2 +# 2**8 (= 256) +MINOR_REWARD_QUOTIENT: 256 + +# Signature domains +# --------------------------------------------------------------- +DOMAIN_CUSTODY_BIT_SLASHING: 0x83000000 +DOMAIN_LIGHT_SELECTION_PROOF: 0x84000000 +DOMAIN_LIGHT_AGGREGATE_AND_PROOF: 0x85000000 diff --git a/configs/minimal/sharding.yaml b/configs/minimal/sharding.yaml new file mode 100644 index 000000000..1b73a5769 --- /dev/null +++ b/configs/minimal/sharding.yaml @@ -0,0 +1,44 @@ +# Minimal preset - Sharding + +# Fork +# --------------------------------------------------------------- +SHARDING_FORK_VERSION: 0x03000000 +# TBD +SHARDING_FORK_SLOT: 0 + + +# Beacon-chain +# --------------------------------------------------------------- +# Misc +# [customized] reduced for testing +MAX_SHARDS: 8 +# [customized] reduced for testing +INITIAL_ACTIVE_SHARDS: 2 +# 2**3 (= 8) +GASPRICE_ADJUSTMENT_COEFFICIENT: 8 + +# Shard block configs +# --------------------------------------------------------------- +MAX_SHARD_HEADERS_PER_SHARD: 4 +# 2**11 (= 2,048) +MAX_SAMPLES_PER_BLOCK: 2048 +# 2**10 (= 1,1024) +TARGET_SAMPLES_PER_BLOCK: 1024 + +# Gwei values +# --------------------------------------------------------------- +# 2**33 (= 8,589,934,592) Gwei +MAX_GASPRICE: 8589934592 +# 2**3 (= 8) Gwei +MIN_GASPRICE: 8 + +# Time parameters +# --------------------------------------------------------------- +# 2**8 (= 256) | epochs +SHARD_COMMITTEE_PERIOD: 256 + +# Signature domains +# --------------------------------------------------------------- +DOMAIN_SHARD_PROPOSAL: 0x80000000 +DOMAIN_SHARD_COMMITTEE: 0x81000000 +DOMAIN_LIGHT_CLIENT: 0x82000000 \ No newline at end of file