├── attacknets ├── beta-0 │ ├── prysm-attack-0 │ │ ├── lighthouse │ │ │ ├── deploy_block.txt │ │ │ ├── deposit_contract.txt │ │ │ ├── boot_enr.yaml │ │ │ └── config.yaml │ │ ├── README.md │ │ ├── teku_config.yaml │ │ └── prysm_config.yaml │ ├── teku-attack-0 │ │ ├── lighthouse │ │ │ ├── deploy_block.txt │ │ │ ├── deposit_contract.txt │ │ │ ├── boot_enr.yaml │ │ │ └── config.yaml │ │ ├── README.md │ │ ├── teku_config.yaml │ │ └── prysm_config.yaml │ ├── lighthouse-attack-0 │ │ ├── lighthouse │ │ │ ├── deploy_block.txt │ │ │ ├── deposit_contract.txt │ │ │ ├── boot_enr.yaml │ │ │ └── config.yaml │ │ ├── README.md │ │ ├── teku_config.yaml │ │ └── prysm_config.yaml │ └── README.md └── beta-1 │ ├── mc-attack-0 │ ├── lighthouse │ │ ├── deploy_block.txt │ │ ├── deposit_contract.txt │ │ ├── boot_enr.yaml │ │ └── config.yaml │ ├── teku_config.yml │ ├── prysm_config.yml │ └── README.md │ └── README.md ├── .github └── ISSUE_TEMPLATE │ ├── attacknet-issue.md │ ├── attacknet-reward.md │ └── request-attacknet-validators.md ├── LICENSE └── README.md /attacknets/beta-0/prysm-attack-0/lighthouse/deploy_block.txt: -------------------------------------------------------------------------------- 1 | 3076295 -------------------------------------------------------------------------------- /attacknets/beta-0/teku-attack-0/lighthouse/deploy_block.txt: -------------------------------------------------------------------------------- 1 | 3093724 -------------------------------------------------------------------------------- /attacknets/beta-1/mc-attack-0/lighthouse/deploy_block.txt: -------------------------------------------------------------------------------- 1 | 3150443 -------------------------------------------------------------------------------- /attacknets/beta-0/lighthouse-attack-0/lighthouse/deploy_block.txt: -------------------------------------------------------------------------------- 1 | 3076609 -------------------------------------------------------------------------------- /attacknets/beta-0/prysm-attack-0/lighthouse/deposit_contract.txt: -------------------------------------------------------------------------------- 1 | "0x0d9d6d3aa0791d3b3f4f489b46dcd2586c1011c4" -------------------------------------------------------------------------------- /attacknets/beta-0/teku-attack-0/lighthouse/deposit_contract.txt: -------------------------------------------------------------------------------- 1 | "0x99573b94fd4fc0ea48ac63a5a78738fd430f1afc" -------------------------------------------------------------------------------- /attacknets/beta-1/mc-attack-0/lighthouse/deposit_contract.txt: -------------------------------------------------------------------------------- 1 | "0x38c750cFFb382cDD3644C40A39540a9b4b46b0cf" -------------------------------------------------------------------------------- /attacknets/beta-0/lighthouse-attack-0/lighthouse/deposit_contract.txt: -------------------------------------------------------------------------------- 1 | "0xdbb44f3e33640a820eecc0b893ed5aec17150dbf" -------------------------------------------------------------------------------- /attacknets/beta-1/mc-attack-0/lighthouse/boot_enr.yaml: -------------------------------------------------------------------------------- 1 | - enr:-Ku4QIqviY_5_MP4EfhcleyFn_BXkQYQLyBaXhRI16Hqmr7nKw-3P7rXt2MdZMA__TVHgVsbzqVXng5-cISORwiW9msBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpBVtop0AACwHf__________gmlkgnY0gmlwhDbdsRuJc2VjcDI1NmsxoQJhL9xgltjZulN0GGB1TOJNUyDx6aE2yf1m8L_ZJZ_UR4N1ZHCCIyg 2 | -------------------------------------------------------------------------------- /attacknets/beta-0/prysm-attack-0/lighthouse/boot_enr.yaml: -------------------------------------------------------------------------------- 1 | - enr:-LK4QLQJ7VaRRbrW3jE9fRR-gfKKduK74xSvMQAke_KcEKMOGLtJYy6y97fAtCd9Ou1KxRcl68BsM_LemY8f1Bh80XABh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDDVKVKAAAAAP__________gmlkgnY0gmlwhBK3DPCJc2VjcDI1NmsxoQMLKPinmDnROP9TPUG0R-LdCpv-X9hxRS8G4rCrJ7hQuoN0Y3CCIyiDdWRwgiMo -------------------------------------------------------------------------------- /attacknets/beta-0/lighthouse-attack-0/lighthouse/boot_enr.yaml: -------------------------------------------------------------------------------- 1 | - enr:-LK4QHAlBrRpcx9d6JTRA5kVnTNSPwVs-v_QIwBE8wfZxIqPWqqMDGGKpZDXI2lhbbnO66cmGK3eEzot3D_P_MGbcUAhh2F0dG5ldHOIgRebSXZucWmEZXRoMpCA4XabAAAAAP__________gmlkgnY0gmlwhBLDX_-Jc2VjcDI1NmsxoQOnyC60XGPSxv86ncxxezh0khFdgu7E3Cqr4imui_h_6oN0Y3CCIyiDdWRwgiMo -------------------------------------------------------------------------------- /attacknets/beta-0/teku-attack-0/lighthouse/boot_enr.yaml: -------------------------------------------------------------------------------- 1 | - enr:-LK4QFqcQToZriXkTP-_oP1sVIXoynwTWG5yBrTUw2v04kDqcWEISm5pKrX7q2gVj3fetOENcJ-nFOIKxIKFYa78R2kQh2F0dG5ldHOIerk4dAIt-SeEZXRoMpAVfTA0AAAAAP__________gmlkgnY0gmlwhA1yJbCJc2VjcDI1NmsxoQOirrUOnSvlsumnw9K-ZZElP5fmBph8j2uA0HuqU9lHuIN0Y3CCIyiDdWRwgiMo 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/attacknet-issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Attacknet Issue 3 | about: Report an issue or a novel interaction with a testnet 4 | title: "[ATTACKNET_NAME Issue]" 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### Description 11 | _High-level description of the issue [1 sentence]_ 12 | 13 | ### Scenario 14 | _More detailed description of the scenario and how it was carried out [1 to 3 sentences]_ 15 | 16 | ### Impact 17 | _Describe the effect had on the attacknet [1 to 2 sentences]_ 18 | 19 | ### Details 20 | _Very specific details about the issue_ 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/attacknet-reward.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Attacknet Reward 3 | about: Report a successful attack 4 | title: "[ATTACKNET_NAME Reward]" 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### Description 11 | _High-level description of the attack [1 sentence]_ 12 | 13 | ### Attack scenario 14 | _More detailed description of the attack scenario and how it was carried out [1 to 3 sentences]_ 15 | 16 | ### Impact 17 | _Describe the effect had on the attacknet [1 to 2 sentences]_ 18 | 19 | ### Details 20 | _Very specific details about the attack including the specific slots/epochs where it can be observed_ 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/request-attacknet-validators.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Request Attacknet Validators 3 | about: Allow users to request an allotment of attacknet validators 4 | title: "[Request] Attacknet Validators" 5 | labels: '' 6 | assignees: djrtwo 7 | 8 | --- 9 | 10 | # [Request] Attacknet Validators 11 | 12 | * __Attacknet name__: <*Fill in name*, e.g. mc-attack-0> 13 | * __Number of validators__: <*Fill in number*, up to 10 validators will be provided with little to no questions asked> 14 | * __Purpose__: <*Fill in purpose*, not required for 10 or fewer validators. Provide a compelling reason about your potential attack for consideration of more than 10 validators> 15 | * __Address__: <*0x prefixed ethereum testnet address*, must be the address that will submit the deposits> 16 | -------------------------------------------------------------------------------- /attacknets/beta-0/teku-attack-0/README.md: -------------------------------------------------------------------------------- 1 | # [DEPRECATED] `teku-attack-0` (`beta-0`) 2 | 3 | ***STATUS***: _deprecated_ 4 | 5 | This directory contains the client configuration info and files for an 6 | all teku `v0.12.1` attacknet composed of 4 nodes and 128 validators. 7 | 8 | ## Configuration 9 | 10 | - Spec version: `v0.12.1` 11 | - Genesis Time: `1595463896` 12 | - Genesis Fork Version: `0x00000000` 13 | - Fork Digest: `157d3034` 14 | - Initial State Root: `0x7dc34e412319ccb338120908f5a08b9588e1270ee47130d005cb227dd3ea8bf5` 15 | - Genesis Block Root: `0x97b4dc23023e7c29bd3e129ea3b53f15e26eb495982461f267751485d957839d` 16 | - Deposit Contract: [`0x99573b94Fd4Fc0ea48AC63A5a78738Fd430f1aFc`](https://goerli.etherscan.io/address/0x99573b94Fd4Fc0ea48AC63A5a78738Fd430f1aFc) ([Goerli Testnet](https://github.com/goerli/testnet)) 17 | - Deposit Contract Deploy Block Hash: `0x2a255181db76aa902acc31e87205a3899d24090d30bbae0ce25496036e99d8e5` 18 | - Deposit Contract Deploy Block Number: `3093724` 19 | - `MIN_GENESIS_TIME`: `1578009600` 20 | - `MIN_GENESIS_ACTIVE_VALIDATOR_COUNT`: `128` 21 | - `GENESIS_DELAY`: `300` 22 | - Bootnode ENR(s): 23 | - `enr:-LK4QFqcQToZriXkTP-_oP1sVIXoynwTWG5yBrTUw2v04kDqcWEISm5pKrX7q2gVj3fetOENcJ-nFOIKxIKFYa78R2kQh2F0dG5ldHOIerk4dAIt-SeEZXRoMpAVfTA0AAAAAP__________gmlkgnY0gmlwhA1yJbCJc2VjcDI1NmsxoQOirrUOnSvlsumnw9K-ZZElP5fmBph8j2uA0HuqU9lHuIN0Y3CCIyiDdWRwgiMo` 24 | - Chain Explorers: None 25 | - Status Dashboard: None 26 | 27 | ## Rules 28 | 29 | Please see [beta-0 rules](../README.md#rules) and [general attacknet rules](../../../README.md#general-rules). 30 | -------------------------------------------------------------------------------- /attacknets/beta-0/lighthouse-attack-0/README.md: -------------------------------------------------------------------------------- 1 | # [DEPRECATED] `lighthouse-attack-0` (`beta_0`) 2 | 3 | ***STATUS***: _deprecated_ 4 | 5 | ## Configuration 6 | 7 | This directory contains the client configuration info and files for an 8 | all lighthouse `v0.12.1` attacknet composed of 4 nodes and 128 validators. 9 | 10 | - Spec version: `v0.12.1` 11 | - Genesis Time: `1595211161` (07/20/2020 @ 2:12:41am (UTC)) 12 | - Genesis Fork Version: `0x00000000` 13 | - Fork Digest: `80e1769b` 14 | - Initial State Root: `0x9fc01c541de1bb13531c40f4f24c4c378cf03addc6cae4f05fc856fbd39b22a8` 15 | - Genesis Block Root: `0x075fe0f11955d08ea1d29b60ef5623b9b226133aed31b50bd49c304454e53485` 16 | - Deposit Contract: [`0xdbb44f3e33640A820eECc0b893ED5aEC17150dbf`](https://goerli.etherscan.io/address/0xdbb44f3e33640A820eECc0b893ED5aEC17150dbf) ([Goerli Testnet](https://github.com/goerli/testnet)) 17 | - Deposit Contract Deploy Block Hash: `0x2592432bba5f7850a9afb52cc08e1c3ef2da885c6fea0e936ee51810b2f955fe` 18 | - Deposit Contract Deploy Block Number: `3076609` 19 | - `MIN_GENESIS_TIME`: `1578009600` 20 | - `MIN_GENESIS_ACTIVE_VALIDATOR_COUNT`: `128` 21 | - `GENESIS_DELAY`: `300` 22 | - Bootnode ENR(s): 23 | - `enr:-LK4QHAlBrRpcx9d6JTRA5kVnTNSPwVs-v_QIwBE8wfZxIqPWqqMDGGKpZDXI2lhbbnO66cmGK3eEzot3D_P_MGbcUAhh2F0dG5ldHOIgRebSXZucWmEZXRoMpCA4XabAAAAAP__________gmlkgnY0gmlwhBLDX_-Jc2VjcDI1NmsxoQOnyC60XGPSxv86ncxxezh0khFdgu7E3Cqr4imui_h_6oN0Y3CCIyiDdWRwgiMo` 24 | - Chain Explorers: None 25 | - Status Dashboard: None 26 | 27 | ## Rules 28 | 29 | Please see [beta-0 rules](../README.md#rules) and [general attacknet rules](../../../README.md#general-rules). 30 | -------------------------------------------------------------------------------- /attacknets/beta-0/prysm-attack-0/README.md: -------------------------------------------------------------------------------- 1 | # [DEPRECATED] `prysm-attack-0` (`beta-0`) 2 | 3 | ***STATUS***: _deprecated_ 4 | 5 | This directory contains the client configuration info and files for an 6 | all prysm `v0.12.1` attacknet composed of 4 nodes and 128 validators. 7 | 8 | ## Configuration 9 | 10 | - Spec version: `v0.12.1` 11 | - Genesis Time: `1595202934` (07/19/2020 @ 11:55:34pm (UTC)) 12 | - Genesis Fork Version: `0x00000000` 13 | - Fork Digest: `c354a54a` 14 | - Initial State Root: `0xc9d4754d298779a097fb46855d49ee1fd2ad33642e6ee9540f37810fa97ebd7b` 15 | - Genesis Block Root: `0x2bdde8c274a94784b376fbef30bc946fc417550a22c0ac9cb10b8d93d27cad1b` 16 | - Deposit Contract: [`0x0d9D6D3Aa0791D3B3F4f489b46dCD2586C1011C4`](https://goerli.etherscan.io/address/0x0d9D6D3Aa0791D3B3F4f489b46dCD2586C1011C4) ([Goerli Testnet](https://github.com/goerli/testnet)) 17 | - Deposit Contract Deploy Block Hash: `0x9402554e798e2f0e2974ac68961130bc069fb58231bd7c8fa361f24245407550` 18 | - Deposit Contract Deploy Block Number: `3076295` 19 | - `MIN_GENESIS_TIME`: `1578009600` 20 | - `MIN_GENESIS_ACTIVE_VALIDATOR_COUNT`: `128` 21 | - `GENESIS_DELAY`: `1000` 22 | - Bootnode ENR(s): 23 | - `enr:-LK4QLQJ7VaRRbrW3jE9fRR-gfKKduK74xSvMQAke_KcEKMOGLtJYy6y97fAtCd9Ou1KxRcl68BsM_LemY8f1Bh80XABh2F0dG5ldHOIAAAAAAAAAACEZXRoMpDDVKVKAAAAAP__________gmlkgnY0gmlwhBK3DPCJc2VjcDI1NmsxoQMLKPinmDnROP9TPUG0R-LdCpv-X9hxRS8G4rCrJ7hQuoN0Y3CCIyiDdWRwgiMo` 24 | - Chain Explorers: https://prysm-attack-0.beaconcha.in/ 25 | - Status Dashboard: None 26 | 27 | ## Rules 28 | 29 | Please see [beta-0 rules](../README.md#rules) and [general attacknet rules](../../../README.md#general-rules). 30 | 31 | -------------------------------------------------------------------------------- /attacknets/beta-0/README.md: -------------------------------------------------------------------------------- 1 | # [DEPRECATED] Single-client `beta-0` attacknets 2 | 3 | _`beta-0` attacknets are deprecated. All nodes are have been disabled 4 | and attacks/rewards are no longer eligible._ 5 | 6 | Active `beta-0` attacknets: 7 | * [`lighthouse-attack-0`](./lighthouse-attack-0) 8 | * [`prysm-attack-0`](./prysm-attack-0) 9 | * [`teku-attack-0`](./teku-attack-0) 10 | 11 | `lighthouse-attack-0`, `prysm-attack-0`, and `teku-attack0` are real networks, ready for you to attack. 12 | These networks are single client and very small (only 4 nodes each!) so if you 13 | have even a moderate exploit, they should be pretty easy to take down. 14 | 15 | See each network README for specific configuration details on the network. 16 | 17 | ## Rules 18 | 19 | Please see [general attacknet rules](../../README.md#general-rules) in addition 20 | to the following: 21 | 22 | * **The goal**: _Prevent finality on a single network for 16 continuous epochs_ 23 | * **The rules**: 24 | * Additional validators for attack are _not_ allowed and are prevented 25 | through a modified deposit contract. 26 | * "Trivial DoS attacks" are now out of scope. More novel DoS attacks that are heightened due 27 | to message-type/contents, packet structure, etc are still valid. 28 | * All other attack vectors are in scope. 29 | * _Show your work_. To qualify for the reward, you must (1) point specifically to the epoch range that affected, 30 | (2) provide some sort of proof that you caused the outage, 31 | and (3) provide technical details about the attack and how it was performed. 32 | * **The reward**: _**$5k (USD)** to those that achieve the goal._ In the event 33 | that a network is unstable due to a prior attack, please wait until the 34 | network is stablized or completed restarted so we can cleanly assess and 35 | understand the different attack vectors. 36 | -------------------------------------------------------------------------------- /attacknets/beta-1/mc-attack-0/teku_config.yml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 4500 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 900 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_FORK_VERSION: 0x0000b01d 20 | BLS_WITHDRAWAL_PREFIX: 0x00 21 | SECONDS_PER_SLOT: 12 22 | MIN_ATTESTATION_INCLUSION_DELAY: 1 23 | MIN_SEED_LOOKAHEAD: 1 24 | MAX_SEED_LOOKAHEAD: 4 25 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 26 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 27 | SHARD_COMMITTEE_PERIOD: 256 28 | BASE_REWARD_FACTOR: 64 29 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 30 | PROPOSER_REWARD_QUOTIENT: 8 31 | INACTIVITY_PENALTY_QUOTIENT: 16777216 32 | MIN_SLASHING_PENALTY_QUOTIENT: 32 33 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 34 | DOMAIN_BEACON_PROPOSER: 0x00000000 35 | DOMAIN_BEACON_ATTESTER: 0x01000000 36 | DOMAIN_RANDAO: 0x02000000 37 | DOMAIN_DEPOSIT: 0x03000000 38 | DOMAIN_VOLUNTARY_EXIT: 0x04000000 39 | DOMAIN_SELECTION_PROOF: 0x05000000 40 | DOMAIN_AGGREGATE_AND_PROOF: 0x06000000 41 | MAX_VALIDATORS_PER_COMMITTEE: 2048 42 | SLOTS_PER_EPOCH: 32 43 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 44 | SLOTS_PER_HISTORICAL_ROOT: 8192 45 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 46 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 47 | HISTORICAL_ROOTS_LIMIT: 16777216 48 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 49 | MAX_PROPOSER_SLASHINGS: 16 50 | MAX_ATTESTER_SLASHINGS: 2 51 | MAX_ATTESTATIONS: 128 52 | MAX_DEPOSITS: 16 53 | MAX_VOLUNTARY_EXITS: 16 54 | ETH1_FOLLOW_DISTANCE: 8 55 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 56 | RANDOM_SUBNETS_PER_VALIDATOR: 1 57 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 58 | SECONDS_PER_ETH1_BLOCK: 14 59 | JUSTIFICATION_BITS_LENGTH: 4 60 | -------------------------------------------------------------------------------- /attacknets/beta-0/teku-attack-0/teku_config.yaml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 128 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 300 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_FORK_VERSION: 0x00000000 20 | BLS_WITHDRAWAL_PREFIX: 0x00 21 | SECONDS_PER_SLOT: 12 22 | MIN_ATTESTATION_INCLUSION_DELAY: 1 23 | MIN_SEED_LOOKAHEAD: 1 24 | MAX_SEED_LOOKAHEAD: 4 25 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 26 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 27 | SHARD_COMMITTEE_PERIOD: 256 28 | BASE_REWARD_FACTOR: 64 29 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 30 | PROPOSER_REWARD_QUOTIENT: 8 31 | INACTIVITY_PENALTY_QUOTIENT: 16777216 32 | MIN_SLASHING_PENALTY_QUOTIENT: 32 33 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 34 | DOMAIN_BEACON_PROPOSER: 0x00000000 35 | DOMAIN_BEACON_ATTESTER: 0x01000000 36 | DOMAIN_RANDAO: 0x02000000 37 | DOMAIN_DEPOSIT: 0x03000000 38 | DOMAIN_VOLUNTARY_EXIT: 0x04000000 39 | DOMAIN_SELECTION_PROOF: 0x05000000 40 | DOMAIN_AGGREGATE_AND_PROOF: 0x06000000 41 | MAX_VALIDATORS_PER_COMMITTEE: 2048 42 | SLOTS_PER_EPOCH: 32 43 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 44 | SLOTS_PER_HISTORICAL_ROOT: 8192 45 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 46 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 47 | HISTORICAL_ROOTS_LIMIT: 16777216 48 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 49 | MAX_PROPOSER_SLASHINGS: 16 50 | MAX_ATTESTER_SLASHINGS: 2 51 | MAX_ATTESTATIONS: 128 52 | MAX_DEPOSITS: 16 53 | MAX_VOLUNTARY_EXITS: 16 54 | ETH1_FOLLOW_DISTANCE: 8 55 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 56 | RANDOM_SUBNETS_PER_VALIDATOR: 1 57 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 58 | SECONDS_PER_ETH1_BLOCK: 14 59 | JUSTIFICATION_BITS_LENGTH: 4 60 | 61 | -------------------------------------------------------------------------------- /attacknets/beta-0/lighthouse-attack-0/teku_config.yaml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 128 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 300 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_FORK_VERSION: 0x00000000 20 | BLS_WITHDRAWAL_PREFIX: 0x00 21 | SECONDS_PER_SLOT: 12 22 | MIN_ATTESTATION_INCLUSION_DELAY: 1 23 | MIN_SEED_LOOKAHEAD: 1 24 | MAX_SEED_LOOKAHEAD: 4 25 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 26 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 27 | SHARD_COMMITTEE_PERIOD: 256 28 | BASE_REWARD_FACTOR: 64 29 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 30 | PROPOSER_REWARD_QUOTIENT: 8 31 | INACTIVITY_PENALTY_QUOTIENT: 16777216 32 | MIN_SLASHING_PENALTY_QUOTIENT: 32 33 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 34 | DOMAIN_BEACON_PROPOSER: 0x00000000 35 | DOMAIN_BEACON_ATTESTER: 0x01000000 36 | DOMAIN_RANDAO: 0x02000000 37 | DOMAIN_DEPOSIT: 0x03000000 38 | DOMAIN_VOLUNTARY_EXIT: 0x04000000 39 | DOMAIN_SELECTION_PROOF: 0x05000000 40 | DOMAIN_AGGREGATE_AND_PROOF: 0x06000000 41 | MAX_VALIDATORS_PER_COMMITTEE: 2048 42 | SLOTS_PER_EPOCH: 32 43 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 44 | SLOTS_PER_HISTORICAL_ROOT: 8192 45 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 46 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 47 | HISTORICAL_ROOTS_LIMIT: 16777216 48 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 49 | MAX_PROPOSER_SLASHINGS: 16 50 | MAX_ATTESTER_SLASHINGS: 2 51 | MAX_ATTESTATIONS: 128 52 | MAX_DEPOSITS: 16 53 | MAX_VOLUNTARY_EXITS: 16 54 | ETH1_FOLLOW_DISTANCE: 8 55 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 56 | RANDOM_SUBNETS_PER_VALIDATOR: 1 57 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 58 | SECONDS_PER_ETH1_BLOCK: 14 59 | JUSTIFICATION_BITS_LENGTH: 4 60 | 61 | -------------------------------------------------------------------------------- /attacknets/beta-0/prysm-attack-0/teku_config.yaml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 128 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 1000 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_FORK_VERSION: 0x00000000 20 | BLS_WITHDRAWAL_PREFIX: 0x00 21 | SECONDS_PER_SLOT: 12 22 | MIN_ATTESTATION_INCLUSION_DELAY: 1 23 | MIN_SEED_LOOKAHEAD: 1 24 | MAX_SEED_LOOKAHEAD: 4 25 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 26 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 27 | SHARD_COMMITTEE_PERIOD: 256 28 | BASE_REWARD_FACTOR: 64 29 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 30 | PROPOSER_REWARD_QUOTIENT: 8 31 | INACTIVITY_PENALTY_QUOTIENT: 16777216 32 | MIN_SLASHING_PENALTY_QUOTIENT: 32 33 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 34 | DOMAIN_BEACON_PROPOSER: 0x00000000 35 | DOMAIN_BEACON_ATTESTER: 0x01000000 36 | DOMAIN_RANDAO: 0x02000000 37 | DOMAIN_DEPOSIT: 0x03000000 38 | DOMAIN_VOLUNTARY_EXIT: 0x04000000 39 | DOMAIN_SELECTION_PROOF: 0x05000000 40 | DOMAIN_AGGREGATE_AND_PROOF: 0x06000000 41 | MAX_VALIDATORS_PER_COMMITTEE: 2048 42 | SLOTS_PER_EPOCH: 32 43 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 44 | SLOTS_PER_HISTORICAL_ROOT: 8192 45 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 46 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 47 | HISTORICAL_ROOTS_LIMIT: 16777216 48 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 49 | MAX_PROPOSER_SLASHINGS: 16 50 | MAX_ATTESTER_SLASHINGS: 2 51 | MAX_ATTESTATIONS: 128 52 | MAX_DEPOSITS: 16 53 | MAX_VOLUNTARY_EXITS: 16 54 | ETH1_FOLLOW_DISTANCE: 8 55 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 56 | RANDOM_SUBNETS_PER_VALIDATOR: 1 57 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 58 | SECONDS_PER_ETH1_BLOCK: 14 59 | JUSTIFICATION_BITS_LENGTH: 4 60 | 61 | -------------------------------------------------------------------------------- /attacknets/beta-0/prysm-attack-0/prysm_config.yaml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 128 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 1000 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_SLOT: 0 20 | GENESIS_FORK_VERSION: 0x00000000 21 | BLS_WITHDRAWAL_PREFIX: 0x00 22 | SECONDS_PER_SLOT: 12 23 | MIN_ATTESTATION_INCLUSION_DELAY: 1 24 | MIN_SEED_LOOKAHEAD: 1 25 | MAX_SEED_LOOKAHEAD: 4 26 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 27 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 28 | SHARD_COMMITTEE_PERIOD: 256 29 | BASE_REWARD_FACTOR: 64 30 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 31 | PROPOSER_REWARD_QUOTIENT: 8 32 | INACTIVITY_PENALTY_QUOTIENT: 16777216 33 | MIN_SLASHING_PENALTY_QUOTIENT: 32 34 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 35 | DOMAIN_BEACON_PROPOSER: 0x00000000 36 | DOMAIN_BEACON_ATTESTER: 0x01000000 37 | DOMAIN_RANDAO: 0x02000000 38 | DOMAIN_DEPOSIT: 0x03000000 39 | DOMAIN_VOLUNTARY_EXIT: 0x04000000 40 | DOMAIN_SELECTION_PROOF: 0x05000000 41 | DOMAIN_AGGREGATE_AND_PROOF: 0x06000000 42 | MAX_VALIDATORS_PER_COMMITTEE: 2048 43 | GENESIS_EPOCH: 0 44 | SLOTS_PER_EPOCH: 32 45 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 46 | SLOTS_PER_HISTORICAL_ROOT: 8192 47 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 48 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 49 | HISTORICAL_ROOTS_LIMIT: 16777216 50 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 51 | MAX_PROPOSER_SLASHINGS: 16 52 | MAX_ATTESTER_SLASHINGS: 2 53 | MAX_ATTESTATIONS: 128 54 | MAX_DEPOSITS: 16 55 | MAX_VOLUNTARY_EXITS: 16 56 | ETH1_FOLLOW_DISTANCE: 8 57 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 58 | RANDOM_SUBNETS_PER_VALIDATOR: 1 59 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 60 | SECONDS_PER_ETH1_BLOCK: 14 61 | JUSTIFICATION_BITS_LENGTH: 4 62 | 63 | -------------------------------------------------------------------------------- /attacknets/beta-0/teku-attack-0/prysm_config.yaml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 128 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 300 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_SLOT: 0 20 | GENESIS_FORK_VERSION: 0x00000000 21 | BLS_WITHDRAWAL_PREFIX: 0x00 22 | SECONDS_PER_SLOT: 12 23 | MIN_ATTESTATION_INCLUSION_DELAY: 1 24 | MIN_SEED_LOOKAHEAD: 1 25 | MAX_SEED_LOOKAHEAD: 4 26 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 27 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 28 | SHARD_COMMITTEE_PERIOD: 256 29 | BASE_REWARD_FACTOR: 64 30 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 31 | PROPOSER_REWARD_QUOTIENT: 8 32 | INACTIVITY_PENALTY_QUOTIENT: 16777216 33 | MIN_SLASHING_PENALTY_QUOTIENT: 32 34 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 35 | DOMAIN_BEACON_PROPOSER: 0x00000000 36 | DOMAIN_BEACON_ATTESTER: 0x01000000 37 | DOMAIN_RANDAO: 0x02000000 38 | DOMAIN_DEPOSIT: 0x03000000 39 | DOMAIN_VOLUNTARY_EXIT: 0x04000000 40 | DOMAIN_SELECTION_PROOF: 0x05000000 41 | DOMAIN_AGGREGATE_AND_PROOF: 0x06000000 42 | MAX_VALIDATORS_PER_COMMITTEE: 2048 43 | GENESIS_EPOCH: 0 44 | SLOTS_PER_EPOCH: 32 45 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 46 | SLOTS_PER_HISTORICAL_ROOT: 8192 47 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 48 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 49 | HISTORICAL_ROOTS_LIMIT: 16777216 50 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 51 | MAX_PROPOSER_SLASHINGS: 16 52 | MAX_ATTESTER_SLASHINGS: 2 53 | MAX_ATTESTATIONS: 128 54 | MAX_DEPOSITS: 16 55 | MAX_VOLUNTARY_EXITS: 16 56 | ETH1_FOLLOW_DISTANCE: 8 57 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 58 | RANDOM_SUBNETS_PER_VALIDATOR: 1 59 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 60 | SECONDS_PER_ETH1_BLOCK: 14 61 | JUSTIFICATION_BITS_LENGTH: 4 62 | 63 | -------------------------------------------------------------------------------- /attacknets/beta-0/lighthouse-attack-0/prysm_config.yaml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 128 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 300 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_SLOT: 0 20 | GENESIS_FORK_VERSION: 0x00000000 21 | BLS_WITHDRAWAL_PREFIX: 0x00 22 | SECONDS_PER_SLOT: 12 23 | MIN_ATTESTATION_INCLUSION_DELAY: 1 24 | MIN_SEED_LOOKAHEAD: 1 25 | MAX_SEED_LOOKAHEAD: 4 26 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 27 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 28 | SHARD_COMMITTEE_PERIOD: 256 29 | BASE_REWARD_FACTOR: 64 30 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 31 | PROPOSER_REWARD_QUOTIENT: 8 32 | INACTIVITY_PENALTY_QUOTIENT: 16777216 33 | MIN_SLASHING_PENALTY_QUOTIENT: 32 34 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 35 | DOMAIN_BEACON_PROPOSER: 0x00000000 36 | DOMAIN_BEACON_ATTESTER: 0x01000000 37 | DOMAIN_RANDAO: 0x02000000 38 | DOMAIN_DEPOSIT: 0x03000000 39 | DOMAIN_VOLUNTARY_EXIT: 0x04000000 40 | DOMAIN_SELECTION_PROOF: 0x05000000 41 | DOMAIN_AGGREGATE_AND_PROOF: 0x06000000 42 | MAX_VALIDATORS_PER_COMMITTEE: 2048 43 | GENESIS_EPOCH: 0 44 | SLOTS_PER_EPOCH: 32 45 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 46 | SLOTS_PER_HISTORICAL_ROOT: 8192 47 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 48 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 49 | HISTORICAL_ROOTS_LIMIT: 16777216 50 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 51 | MAX_PROPOSER_SLASHINGS: 16 52 | MAX_ATTESTER_SLASHINGS: 2 53 | MAX_ATTESTATIONS: 128 54 | MAX_DEPOSITS: 16 55 | MAX_VOLUNTARY_EXITS: 16 56 | ETH1_FOLLOW_DISTANCE: 8 57 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 58 | RANDOM_SUBNETS_PER_VALIDATOR: 1 59 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 60 | SECONDS_PER_ETH1_BLOCK: 14 61 | JUSTIFICATION_BITS_LENGTH: 4 62 | 63 | -------------------------------------------------------------------------------- /attacknets/beta-0/teku-attack-0/lighthouse/config.yaml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 128 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 300 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_SLOT: 0 20 | GENESIS_FORK_VERSION: "0x00000000" 21 | BLS_WITHDRAWAL_PREFIX: "0x00" 22 | SECONDS_PER_SLOT: 12 23 | MIN_ATTESTATION_INCLUSION_DELAY: 1 24 | MIN_SEED_LOOKAHEAD: 1 25 | MAX_SEED_LOOKAHEAD: 4 26 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 27 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 28 | SHARD_COMMITTEE_PERIOD: 256 29 | BASE_REWARD_FACTOR: 64 30 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 31 | PROPOSER_REWARD_QUOTIENT: 8 32 | INACTIVITY_PENALTY_QUOTIENT: 16777216 33 | MIN_SLASHING_PENALTY_QUOTIENT: 32 34 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 35 | DOMAIN_BEACON_PROPOSER: "0x00000000" 36 | DOMAIN_BEACON_ATTESTER: "0x01000000" 37 | DOMAIN_RANDAO: "0x02000000" 38 | DOMAIN_DEPOSIT: "0x03000000" 39 | DOMAIN_VOLUNTARY_EXIT: "0x04000000" 40 | DOMAIN_SELECTION_PROOF: "0x05000000" 41 | DOMAIN_AGGREGATE_AND_PROOF: "0x06000000" 42 | JUSTIFICATION_BITS_LENGTH: "0x04000000" 43 | MAX_VALIDATORS_PER_COMMITTEE: 2048 44 | GENESIS_EPOCH: 0 45 | SLOTS_PER_EPOCH: 32 46 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 47 | SLOTS_PER_HISTORICAL_ROOT: 8192 48 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 49 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 50 | HISTORICAL_ROOTS_LIMIT: 16777216 51 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 52 | MAX_PROPOSER_SLASHINGS: 16 53 | MAX_ATTESTER_SLASHINGS: 2 54 | MAX_ATTESTATIONS: 128 55 | MAX_DEPOSITS: 16 56 | MAX_VOLUNTARY_EXITS: 16 57 | ETH1_FOLLOW_DISTANCE: 8 58 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 59 | RANDOM_SUBNETS_PER_VALIDATOR: 1 60 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 61 | SECONDS_PER_ETH1_BLOCK: 14 -------------------------------------------------------------------------------- /attacknets/beta-1/mc-attack-0/lighthouse/config.yaml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 4500 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 900 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_SLOT: 0 20 | GENESIS_FORK_VERSION: "0x0000b01d" 21 | BLS_WITHDRAWAL_PREFIX: "0x00" 22 | SECONDS_PER_SLOT: 12 23 | MIN_ATTESTATION_INCLUSION_DELAY: 1 24 | MIN_SEED_LOOKAHEAD: 1 25 | MAX_SEED_LOOKAHEAD: 4 26 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 27 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 28 | SHARD_COMMITTEE_PERIOD: 256 29 | BASE_REWARD_FACTOR: 64 30 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 31 | PROPOSER_REWARD_QUOTIENT: 8 32 | INACTIVITY_PENALTY_QUOTIENT: 16777216 33 | MIN_SLASHING_PENALTY_QUOTIENT: 32 34 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 35 | DOMAIN_BEACON_PROPOSER: "0x00000000" 36 | DOMAIN_BEACON_ATTESTER: "0x01000000" 37 | DOMAIN_RANDAO: "0x02000000" 38 | DOMAIN_DEPOSIT: "0x03000000" 39 | DOMAIN_VOLUNTARY_EXIT: "0x04000000" 40 | DOMAIN_SELECTION_PROOF: "0x05000000" 41 | DOMAIN_AGGREGATE_AND_PROOF: "0x06000000" 42 | JUSTIFICATION_BITS_LENGTH: "0x04000000" 43 | MAX_VALIDATORS_PER_COMMITTEE: 2048 44 | GENESIS_EPOCH: 0 45 | SLOTS_PER_EPOCH: 32 46 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 47 | SLOTS_PER_HISTORICAL_ROOT: 8192 48 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 49 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 50 | HISTORICAL_ROOTS_LIMIT: 16777216 51 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 52 | MAX_PROPOSER_SLASHINGS: 16 53 | MAX_ATTESTER_SLASHINGS: 2 54 | MAX_ATTESTATIONS: 128 55 | MAX_DEPOSITS: 16 56 | MAX_VOLUNTARY_EXITS: 16 57 | ETH1_FOLLOW_DISTANCE: 8 58 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 59 | RANDOM_SUBNETS_PER_VALIDATOR: 1 60 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 61 | SECONDS_PER_ETH1_BLOCK: 14 -------------------------------------------------------------------------------- /attacknets/beta-0/prysm-attack-0/lighthouse/config.yaml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 128 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 1000 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_SLOT: 0 20 | GENESIS_FORK_VERSION: "0x00000000" 21 | BLS_WITHDRAWAL_PREFIX: "0x00" 22 | SECONDS_PER_SLOT: 12 23 | MIN_ATTESTATION_INCLUSION_DELAY: 1 24 | MIN_SEED_LOOKAHEAD: 1 25 | MAX_SEED_LOOKAHEAD: 4 26 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 27 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 28 | SHARD_COMMITTEE_PERIOD: 256 29 | BASE_REWARD_FACTOR: 64 30 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 31 | PROPOSER_REWARD_QUOTIENT: 8 32 | INACTIVITY_PENALTY_QUOTIENT: 16777216 33 | MIN_SLASHING_PENALTY_QUOTIENT: 32 34 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 35 | DOMAIN_BEACON_PROPOSER: "0x00000000" 36 | DOMAIN_BEACON_ATTESTER: "0x01000000" 37 | DOMAIN_RANDAO: "0x02000000" 38 | DOMAIN_DEPOSIT: "0x03000000" 39 | DOMAIN_VOLUNTARY_EXIT: "0x04000000" 40 | DOMAIN_SELECTION_PROOF: "0x05000000" 41 | DOMAIN_AGGREGATE_AND_PROOF: "0x06000000" 42 | JUSTIFICATION_BITS_LENGTH: "0x04000000" 43 | MAX_VALIDATORS_PER_COMMITTEE: 2048 44 | GENESIS_EPOCH: 0 45 | SLOTS_PER_EPOCH: 32 46 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 47 | SLOTS_PER_HISTORICAL_ROOT: 8192 48 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 49 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 50 | HISTORICAL_ROOTS_LIMIT: 16777216 51 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 52 | MAX_PROPOSER_SLASHINGS: 16 53 | MAX_ATTESTER_SLASHINGS: 2 54 | MAX_ATTESTATIONS: 128 55 | MAX_DEPOSITS: 16 56 | MAX_VOLUNTARY_EXITS: 16 57 | ETH1_FOLLOW_DISTANCE: 8 58 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 59 | RANDOM_SUBNETS_PER_VALIDATOR: 1 60 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 61 | SECONDS_PER_ETH1_BLOCK: 14 -------------------------------------------------------------------------------- /attacknets/beta-0/lighthouse-attack-0/lighthouse/config.yaml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 128 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 300 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_SLOT: 0 20 | GENESIS_FORK_VERSION: "0x00000000" 21 | BLS_WITHDRAWAL_PREFIX: "0x00" 22 | SECONDS_PER_SLOT: 12 23 | MIN_ATTESTATION_INCLUSION_DELAY: 1 24 | MIN_SEED_LOOKAHEAD: 1 25 | MAX_SEED_LOOKAHEAD: 4 26 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 27 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 28 | SHARD_COMMITTEE_PERIOD: 256 29 | BASE_REWARD_FACTOR: 64 30 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 31 | PROPOSER_REWARD_QUOTIENT: 8 32 | INACTIVITY_PENALTY_QUOTIENT: 16777216 33 | MIN_SLASHING_PENALTY_QUOTIENT: 32 34 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 35 | DOMAIN_BEACON_PROPOSER: "0x00000000" 36 | DOMAIN_BEACON_ATTESTER: "0x01000000" 37 | DOMAIN_RANDAO: "0x02000000" 38 | DOMAIN_DEPOSIT: "0x03000000" 39 | DOMAIN_VOLUNTARY_EXIT: "0x04000000" 40 | DOMAIN_SELECTION_PROOF: "0x05000000" 41 | DOMAIN_AGGREGATE_AND_PROOF: "0x06000000" 42 | JUSTIFICATION_BITS_LENGTH: "0x04000000" 43 | MAX_VALIDATORS_PER_COMMITTEE: 2048 44 | GENESIS_EPOCH: 0 45 | SLOTS_PER_EPOCH: 32 46 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 47 | SLOTS_PER_HISTORICAL_ROOT: 8192 48 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 49 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 50 | HISTORICAL_ROOTS_LIMIT: 16777216 51 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 52 | MAX_PROPOSER_SLASHINGS: 16 53 | MAX_ATTESTER_SLASHINGS: 2 54 | MAX_ATTESTATIONS: 128 55 | MAX_DEPOSITS: 16 56 | MAX_VOLUNTARY_EXITS: 16 57 | ETH1_FOLLOW_DISTANCE: 8 58 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 59 | RANDOM_SUBNETS_PER_VALIDATOR: 1 60 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 61 | SECONDS_PER_ETH1_BLOCK: 14 -------------------------------------------------------------------------------- /attacknets/beta-1/mc-attack-0/prysm_config.yml: -------------------------------------------------------------------------------- 1 | FAR_FUTURE_EPOCH: 18446744073709551615 2 | BASE_REWARDS_PER_EPOCH: 4 3 | DEPOSIT_CONTRACT_TREE_DEPTH: 32 4 | MAX_COMMITTEES_PER_SLOT: 64 5 | TARGET_COMMITTEE_SIZE: 128 6 | MIN_PER_EPOCH_CHURN_LIMIT: 4 7 | CHURN_LIMIT_QUOTIENT: 65536 8 | SHUFFLE_ROUND_COUNT: 90 9 | MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 4500 10 | MIN_GENESIS_TIME: 1578009600 11 | GENESIS_DELAY: 900 12 | MIN_DEPOSIT_AMOUNT: 1000000000 13 | MAX_EFFECTIVE_BALANCE: 32000000000 14 | EJECTION_BALANCE: 16000000000 15 | EFFECTIVE_BALANCE_INCREMENT: 1000000000 16 | HYSTERESIS_QUOTIENT: 4 17 | HYSTERESIS_DOWNWARD_MULTIPLIER: 1 18 | HYSTERESIS_UPWARD_MULTIPLIER: 5 19 | GENESIS_SLOT: 0 20 | GENESIS_FORK_VERSION: 0x0000b01d 21 | NEXT_FORK_VERSION: 0x0000b01d 22 | NEXT_FORK_EPOCH: 18446744073709551615 23 | BLS_WITHDRAWAL_PREFIX: 0x00 24 | SECONDS_PER_SLOT: 12 25 | MIN_ATTESTATION_INCLUSION_DELAY: 1 26 | MIN_SEED_LOOKAHEAD: 1 27 | MAX_SEED_LOOKAHEAD: 4 28 | MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4 29 | MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256 30 | SHARD_COMMITTEE_PERIOD: 256 31 | BASE_REWARD_FACTOR: 64 32 | WHISTLEBLOWER_REWARD_QUOTIENT: 512 33 | PROPOSER_REWARD_QUOTIENT: 8 34 | INACTIVITY_PENALTY_QUOTIENT: 16777216 35 | MIN_SLASHING_PENALTY_QUOTIENT: 32 36 | SAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8 37 | DOMAIN_BEACON_PROPOSER: 0x00000000 38 | DOMAIN_BEACON_ATTESTER: 0x01000000 39 | DOMAIN_RANDAO: 0x02000000 40 | DOMAIN_DEPOSIT: 0x03000000 41 | DOMAIN_VOLUNTARY_EXIT: 0x04000000 42 | DOMAIN_SELECTION_PROOF: 0x05000000 43 | DOMAIN_AGGREGATE_AND_PROOF: 0x06000000 44 | MAX_VALIDATORS_PER_COMMITTEE: 2048 45 | GENESIS_EPOCH: 0 46 | SLOTS_PER_EPOCH: 32 47 | EPOCHS_PER_ETH1_VOTING_PERIOD: 32 48 | SLOTS_PER_HISTORICAL_ROOT: 8192 49 | EPOCHS_PER_HISTORICAL_VECTOR: 65536 50 | EPOCHS_PER_SLASHINGS_VECTOR: 8192 51 | HISTORICAL_ROOTS_LIMIT: 16777216 52 | VALIDATOR_REGISTRY_LIMIT: 1099511627776 53 | MAX_PROPOSER_SLASHINGS: 16 54 | MAX_ATTESTER_SLASHINGS: 2 55 | MAX_ATTESTATIONS: 128 56 | MAX_DEPOSITS: 16 57 | MAX_VOLUNTARY_EXITS: 16 58 | ETH1_FOLLOW_DISTANCE: 8 59 | TARGET_AGGREGATORS_PER_COMMITTEE: 16 60 | RANDOM_SUBNETS_PER_VALIDATOR: 1 61 | EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256 62 | SECONDS_PER_ETH1_BLOCK: 14 63 | JUSTIFICATION_BITS_LENGTH: 4 64 | -------------------------------------------------------------------------------- /attacknets/beta-1/mc-attack-0/README.md: -------------------------------------------------------------------------------- 1 | # `mc-attack-0` (`beta_1`) 2 | 3 | ***STATUS***: _active_ 4 | 5 | ## Configuration 6 | 7 | This directory contains the client configuration info and files for a 8 | multi-client `v0.12.1` attacknet composed of 15 nodes and 4500 total validators, split 9 | across three clients (prysm, lighthouse, and teku). 10 | 11 | - Spec version: `v0.12.2` 12 | - Genesis Time: `1596327220` (2020/08/02 @ 12:13am (UTC)) 13 | - Genesis Fork Version: `0x0000b01d` 14 | - Fork Digest: `2e44918e` 15 | - Initial State Root: `0xf2a928a4fc6e63c3ad520ec7340b646aa3772991727cf0eeb0dd0a5f6c644e25` 16 | - Genesis Block Root: `0xed8e76a43a622ff116992d8c9cca44981c840d424391870c5302a22e0ae5ebcc` 17 | - Deposit Contract: [`0x38c750cFFb382cDD3644C40A39540a9b4b46b0cf`](https://goerli.etherscan.io/address/0x38c750cFFb382cDD3644C40A39540a9b4b46b0cf) (_Note_ this is a modified deposit contract with access control features. See [`beta-1`](../README.md#attacker-validators) rules for more details on registering validators) 18 | - Deposit Contract Deploy Block Hash: `0x7459ad12e5dfe0e513ea1a5fef498c54f268d654f721df56e0e2fe5012e13998` 19 | - Deposit Contract Deploy Block Number: `3150443` 20 | - `MIN_GENESIS_TIME`: `1578009600` 21 | - `MIN_GENESIS_ACTIVE_VALIDATOR_COUNT`: `4500` 22 | - `GENESIS_DELAY`: `900` 23 | - Bootnode ENR(s): 24 | - `enr:-LK4QC4pexs3ghjGOItTkTttDiow--WuQqjtieE0YRVKxnvHWAUjt2GKH8-WRDoj8ZSOIBJodAWG-ZftKOPwqTK8QtxBh2F0dG5ldHOI__________-EZXRoMpAuRJGOAACwHf__________gmlkgnY0gmlwhDZBuWeJc2VjcDI1NmsxoQOuTMWhnh6C8oEcCNEyLueXHOJD4zsZr06rGRFC-pbDzIN0Y3CCIyiDdWRwgiMo` 25 | - `enr:-LK4QGaMPlU00DocKfM4ciAnzn44SWYfDNw0Vk2nVj8Uv7r8KEhO_wqbHzEWAzBpjuQLBIwXj91sQCHFR_kDMglcf4IGh2F0dG5ldHOI__________-EZXRoMpAuRJGOAACwHf__________gmlkgnY0gmlwhDRBowiJc2VjcDI1NmsxoQLNz5fvAiF0KiVdV9YU_AucPRlA9vtgaCfpxpiA9MSrB4N0Y3CCIyiDdWRwgiMo` 26 | - `enr:-LK4QKT94GydM4k0rV9LNIQn3vGwn8qO8Osh-3wSV970M241IT7hCG17Vzv5fiMAJ95b4v6Pkp814X0OAc-SWzM7pnAEh2F0dG5ldHOI__________-EZXRoMpAuRJGOAACwHf__________gmlkgnY0gmlwhAMZfQmJc2VjcDI1NmsxoQKVusiPi55UDoIJS6R0A_wiygNr4ZK-vbYWwoJ6Fbb4E4N0Y3CCIyiDdWRwgiMo` 27 | - Chain Explorers: None 28 | - Status Dashboard: [attacknet.eth2.wtf](https://attacknet.eth2.wtf) 29 | 30 | ## Rules 31 | 32 | Please see [beta-1 rules](../README.md#rules) and [general attacknet rules](../../../README.md#general-rules). -------------------------------------------------------------------------------- /attacknets/beta-1/README.md: -------------------------------------------------------------------------------- 1 | # Multi-client `beta-1` attacknets 2 | 3 | Active `beta-1` attacknets: 4 | * [`mc-attack-0`](./mc-attack-0) 5 | 6 | `mc-attack-0` is a step up from the `beta-0` attacknets. `mc-attack-0` is 7 | composed of 15 validating nodes split across three clients and has tiered 8 | bounties up to $15k. 9 | 10 | See the network [README](./mc-attack-0) for specific configuration details. 11 | 12 | ## Attacker validators 13 | 14 | In `beta-1` attacknets, potential attackers can add additional validators under 15 | their control upon request. The attacknets use a modified deposit contract with 16 | access control features. 17 | 18 | Attacker validators will be alloted only up until attacknet maintainers 19 | control a minimum of 75% of the validators. Beyond this number, attacknet 20 | maintainers will either add more validators under their direct control or 21 | create an additional network to maintain baseline network stability. 22 | 23 | Please use this [issue template](https://github.com/ethereum/public-attacknets/issues/new?assignees=djrtwo&labels=&template=request-attacknet-validators.md&title=%5BRequest%5D+Attacknet+Validators) 24 | to request validators. 25 | 26 | ## DoS Attacks 27 | 28 | DoS vectors that are particular to a single client implementation are _not_ in 29 | scope for `beta-1` attacknets. Please see [`beta-0`](../beta-0) attacknets for 30 | this type of bounty. 31 | 32 | Only "multi-client" DoS vectors are in scope in `beta-1`. That is, DoS vectors 33 | that emerge due to having multiple implementations on the network. An example of a 34 | multi-client DoS vector is a "reflection DoS" attack in which the insertion 35 | of a message into the p2p network is amplified via the participating nodes 36 | themselves. 37 | 38 | ## Rules 39 | 40 | Please see [general attacknet rules](../../README.md#general-rules) in addition 41 | to the following: 42 | 43 | * **The rules**: 44 | * Attacker validator deposits are allowed but restricted with access control. 45 | See [attacker validators](#attacker-validators) for details on making a 46 | formal request. 47 | * "Trivial DoS attacks" are not in scope. More novel DoS attacks that are heightened due 48 | to message-type/contents, packet structure, etc are still valid. 49 | See [above](#dos-attacks) for more information on DoS attacks in `beta-1`. 50 | * All other attack vectors are in scope. 51 | * _Show your work_. To qualify for the reward, you must (1) point specifically to the epoch range that affected, 52 | (2) provide some sort of proof that you caused the outage, 53 | and (3) provide technical details about the attack and how it was performed. 54 | * **Goals and rewards**: 55 | * $25k (USD) reward tier 56 | * sustained network (p2p) split of all nodes of 1 client from others (> 16 epochs) 57 | * consensus split of 1 client type from others 58 | * multi-client DoS vector able to disrupt finality (> 8 epochs) or 59 | take a set of nodes entirely offline 60 | * $15k (USD) reward tier 61 | * multi-client DoS vector able to reduce the majority of nodes' peer 62 | count to less than 5 63 | * $5k (USD) reward tier 64 | * single-client DoS vector able to reduce the activity of all nodes of a single client type 65 | to less than 10% success rate (> 8 epochs) 66 | * $1 to $25k (USD) reward tier 67 | * novel and interesting attacks not explicitly mentioned above (rewards 68 | made at the discretion of attacknet maintainers) -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [DEPRECATED] Public eth2 attacknets 2 | 3 | ***Note: This attacknet program has been deprecated in favor of the more 4 | general [eth2 bounty program](https://eth2bounty.ethereum.org/). All previous 5 | bounty types in this repo qualify in the new program. Please use 6 | eth2bounty@ethereum.org for responsible disclosure.*** 7 | 8 | _All previous trophies will be ported to the long standing eth2 bounty 9 | program._ 10 | 11 | This repository tracks public "attacknets" maintained by the EF. 12 | 13 | ## [DEPRECATED] Multi-client `beta-1` attacknet 14 | 15 | A multi-client [beta-1 attacknet](./attacknets/beta-1) composed of three 16 | clients is up with multiple tiers of bounties (up to $15k!). [Read more](./attacknets/beta-1) 17 | for details about configuration, rules, and rewards. 18 | 19 | ## Attacknet directory structure 20 | 21 | Each attacknet is contained within it's own sub-directory within [`./attacknets`](./attacknets). 22 | 23 | Within the attacknet directory, a `README.md` is provided with human 24 | readable, high-level configuration as well as the rules and any rewards 25 | associated with the attacknet. 26 | 27 | The attacknet directory also provides configuration files that might be useful 28 | in running clients and connecting to the network. 29 | 30 | * `prysm_config.yaml` -- is a YAML configuration file that can be ingested by 31 | the Prysm client via the `--chain-config-file` commandline flag 32 | * `teku_config.yaml` -- is a YAML configuration file that can be ingested by 33 | the Teku client via the `--network` commandline flag 34 | * `lighthouse` -- is the testnet configuration directory that can be 35 | ingested by the Lighthouse client via the `--testnet-dir` commandline flag 36 | 37 | ## General rules 38 | 39 | In addition to attacknet specific rules provided for in each attacknet. The 40 | following are the general rules for the program. [_Note_: This program is in `beta-0` 41 | and all rules are subject to change without prior notice]. 42 | 43 | * The Ethereum Foundation is solely responsible for judging the attack and deciding on rewards 44 | * The Ethereum Foundation _may_ reward "honorable mention" rewards of any 45 | denomination for interesting effects induced on testnets that do not 46 | necessarily meet the stated goal 47 | * Awards can be redeemed in ETH or DAI 48 | * Eth2 client teams are eligible to participate only on attacknets that do not contain their specific client 49 | 50 | ### How to report 51 | 52 | All claims on attacknet rewards must be reported as an issue in this repo. 53 | 54 | Please follow this reporting structure to aid in prompt review: 55 | 56 | * If succeeded in a testnet goal and want to make a claim on the reward, prefix the name of the Issue/PR with "[`{ATTACK_NET_NAME}` Reward]" 57 | Use [this template](https://github.com/ethereum/public-attacknets/issues/new?assignees=&labels=&template=attacknet-reward.md&title=%5BATTACKNET_NAME+Reward%5D) 58 | for convenience. 59 | * If want to share something interesting achieved outside of the goal, prefix the name of the Issue/PR with "[`{ATTACK_NET_NAME}` Issue]" 60 | Use [this template](https://github.com/ethereum/public-attacknets/issues/new?assignees=&labels=&template=attacknet-issue.md&title=%5BATTACKNET_NAME+Issue%5D) 61 | for convenience. 62 | * Use the following structure for the body of the Issue/PR 63 | 64 | * **Description**: _High-level description of the attack [1 sentence]_ 65 | 66 | * **Attack scenario**: _More detailed description of the attack scenario and how it was carried out [1 to 3 sentences]_ 67 | 68 | * **Impact**: _Describe the effect had on the attacknet [1 to 2 sentences]_ 69 | 70 | * **Details**: _Very specific details about the attack including the specific slots/epochs where it can be observed_ 71 | 72 | ### Privacy 73 | 74 | The Ethereum Foundation is not responsible for any private information that might 75 | be leaked as a result of this program. 76 | 77 | In the event that the reporting of an attack _does leak_ private information 78 | (e.g. logs from a testnet containing IP addresses), we ask that you withhold any such information in the public report. 79 | Instead, please note that there are additional accompanying resources to be shared, 80 | and the attacknet evaluators will be in touch. 81 | 82 | ### Important legal information 83 | 84 | We give explicit permission to attack these attacknets over the internet. 85 | 86 | This attacknet program is an experimental and discretionary rewards program for 87 | our active Ethereum community to encourage and reward those who are helping 88 | to improve the platform. It is not a competition. You should know that we can 89 | cancel the program at any time, and rewards are at the sole discretion of Ethereum Foundation. 90 | In addition, we are not able to issue rewards to individuals who are on sanctions 91 | lists or who are in countries on sanctions lists (e.g. North Korea, Iran, etc). 92 | You are responsible for all taxes. All rewards are subject to applicable law. 93 | Finally, your testing must not violate any law or compromise any data that is not yours. 94 | 95 | ## Getting started 96 | 97 | ### Running clients with custom config files 98 | 99 | For each attacknet, a README.md and configuration files are provided to allow 100 | for easy running of clients. Note that a `prysm_config.yaml`, `teku_config.yaml`, and `lighthouse` directory 101 | are provided for each testnet regardless of the constituent clients making up 102 | the testnet. These are configuration files that you can use to run lighthouse, 103 | prysm, and/or teku on each testnet. 104 | 105 | To run [lighthouse](https://github.com/sigp/lighthouse/), in addition to normal 106 | configuration commandline flags, use the following: 107 | * `--testnet-dir {LIGHTHOUSE_TESTNET_DIR}` where `LIGHTHOUSE_TESTNET_DIR` 108 | is the `lighthouse` directory found within the specific attacknet 109 | 110 | To run [prysm](https://github.com/prysmaticlabs/prysm/), in addition to normal 111 | configuration commandline flags, use the following: 112 | * `--chain-config-file {PRYSM_CONFIG_FILE}` where `PRYSM_CONFIG_FILE` is the 113 | `prysm_config.yaml` file found within the specific attacknet 114 | * `--deposit-contract {DEPOSIT_CONTRACT_ADDR}` where `DEPOSIT_CONTRACT_ADDR` is 115 | the `0x` prefixed deposit contract address found in the specific attacknet 116 | README.md 117 | * `--contract-deployment-block {DEPOSIT_CONTRACT_DEPLOY_NUMBER}` where `DEPOSIT_CONTRACT_DEPLOY_NUMBER` is 118 | the block number at which the deposit contract was deployed, found in the attacknet README.md 119 | * `--custom-genesis-delay {GENESIS_DELAY}` where `GENESIS_DELAY` is 120 | the genesis delay param found in the attacknet README.md 121 | 122 | To run [teku](https://github.com/pegasyseng/teku), in addition to normal configuration 123 | commandline flags, use the following: 124 | * `--network {TEKU_CONFIG_FILE}` where `TEKU_CONFIG_FILE` is the 125 | `teku_config.yaml` file found within the specific attacknet 126 | * `--eth1-deposit-contract-address {DEPOSIT_CONTRACT_ADDR}` where `DEPOSIT_CONTRACT_ADDR` is 127 | the `0x` prefixed deposit contract address found in the specific attacknet 128 | README.md 129 | 130 | 131 | ### Rumor -- Eth2 interactive shell 132 | 133 | @protolambda maintains [`rumor`](https://github.com/protolambda/rumor), 134 | an eth2 interactive shell for dynamically interacting with eth2 networks and data. 135 | 136 | Check out the rumor [README](https://github.com/protolambda/rumor) for basic 137 | documentation. We expect this tool to be invaluable in getting started, 138 | understanding networks, and constructing attacks. 139 | 140 | ## Trophies 🏆 141 | 142 | Here we immortalize, for all time, the successful attacks conducted by 1337 h4x0rz. 143 | 144 | _You, too, can achieve perpetual fame and glory. Read some code, run some nodes, and break some nets._ 145 | 146 | | User | Attacknet | Attack | Reward | 147 | | ------------- | ---------- | ----------- | ---------- | 148 | | @jrhea | `prysm-attack-0`| [DoS Attack on Prysm via Golang stdlib exploit stops finality](https://github.com/ethereum/public-attacknets/issues/12) | $5k (USD) | 149 | | @holiman | `prysm-attack-0`| [Remote crash nodes over p2p](https://github.com/ethereum/public-attacknets/issues/11) | ~~$5k (USD)~~ No reward, EF Security Team | 150 | | @AlexSSD7 | `prysm-attack-0`| [L4 Distributed Denial of Service attack stops finality](https://github.com/ethereum/public-attacknets/issues/9) | $5k (USD) | 151 | | @jrhea | `teku-attack-0`| [DoS Attack on Teku Stops Finality](https://github.com/ethereum/public-attacknets/issues/7) | $5k (USD) | 152 | | @jrhea | `lighthouse-attack-0`| [Network agent crashes lighthouse discovery](https://github.com/ethereum/public-attacknets/issues/4) | $1k (USD) | 153 | | @tintinweb | `teku-attack-0` | [DoS Attack on Teku via gossipsub](https://github.com/ethereum/public-attacknets/issues/15) | $5k (USD) | 154 | | @atoulme | `teku-attack-0` | [DoS Attack: UDP random 46 bytes packets](https://github.com/ethereum/public-attacknets/issues/16) | $5k (USD) | 155 | | @atoulme | `teku-attack-0` | [Crash discovery service with malformed WHOAREYOU packet](https://github.com/ethereum/public-attacknets/issues/18) | $5k (USD) | 156 | 157 | ## Deprecated attacknets 158 | 159 | ### Single-client `beta-0` attacknets 160 | 161 | _[`beta-0`](./attacknets/beta-0) attacknets are deprecated. All nodes are have been disabled 162 | and attacks/rewards are no longer eligible._ 163 | 164 | --------------------------------------------------------------------------------