Ethereum Protocol Attackathon Academy
Ethereum Protocol Attackathon Academy
Ethereum is a decentralized blockchain that exists whenever there are connected computers running software following the Ethereum protocol and adding to the Ethereum blockchain.
Sponsored by
Unicorn Sponsors
Panda Sponsors
Blobfish Sponsors
What's an Attackathon?
What's an Attackathon?
Attackathons are education-based bug hunting competitions where security researchers compete over a reward pool by submitting impactful bugs in the project's code. Here’s how they work:
Before the Attackathon
Immunefi works with the project to host a security-focused education period, providing top tier education and support to security researchers.
During the Attackathon
Security researchers experience the optimal hunting conditions, with direct project support, responsiveness, and duplicate rewards.
After the Attackathon
Immunefi spotlights the security accomplishments, with a custom leaderboard, Attackathon Findings Report, Bug Fix Reviews, and NFT awards.
Ultimately, Attackathons serve to secure projects, develop their security ecosystem, and create new opportunities for security researchers.
Starting in
1. Ethereum 101
1. Ethereum 101
1.1. Introduction to Ethereum
1.1. Introduction to Ethereum
Learn about the basics of Ethereum, a decentralized platform that enables smart contracts and decentralized applications (dApps) to be built and run without any downtime, fraud, control, or interference.
1.2. Understanding Ether
1.2. Understanding Ether
Explore what Ether (ETH) is, its role in the Ethereum network, and how it powers transactions and smart contracts within the ecosystem.
1.3. Exploring Ethereum Accounts
1.3. Exploring Ethereum Accounts
Understand the different types of accounts in Ethereum, including externally owned accounts (EOAs) and contract accounts, and how they interact with the blockchain.
1.4. Understanding Transactions
1.4. Understanding Transactions
Delve into the mechanics of transactions on the Ethereum network, including how they are created, signed, and executed.
1.5. What Are Ethereum Blocks?
1.5. What Are Ethereum Blocks?
Discover the structure and function of blocks in the Ethereum blockchain, including how they store transaction data and help maintain network security.
1.6. Components of a Node: Nodes and Clients
1.6. Components of a Node: Nodes and Clients
Learn about the different components that make up an Ethereum node, the role of nodes and clients, and how they contribute to the network's operation.
1.7. Introduction to Cryptography and Signatures
1.7. Introduction to Cryptography and Signatures
Get an overview of the cryptographic techniques used in Ethereum, including digital signatures, which ensure the integrity and authenticity of transactions.
1.8. Understanding Merkle-Patricia Trie
1.8. Understanding Merkle-Patricia Trie
Explore the data structure known as the Merkle-Patricia Trie, which is used by Ethereum to store key-value pairs in a secure and efficient manner.
1.9. What is an Ethereum Improvement Proposal (EIP)?
1.9. What is an Ethereum Improvement Proposal (EIP)?
Learn about Ethereum Improvement Proposals (EIPs), the process by which changes and upgrades to the Ethereum network are proposed, discussed, and implemented.
1.10. Proof-of-Stake Consensus Mechanism
1.10. Proof-of-Stake Consensus Mechanism
Understand the Proof-of-Stake (PoS) consensus mechanism, how it differs from Proof-of-Work (PoW), and its benefits for the Ethereum network.
1.11. How Block Proposals Work in Proof-of-Stake
1.11. How Block Proposals Work in Proof-of-Stake
Discover how blocks are proposed and validated in a Proof-of-Stake system, including the roles of validators and attestations.
1.12. An Introduction to the Beacon Chain
1.12. An Introduction to the Beacon Chain
Get to know the Beacon Chain, its role in Ethereum 2.0, and how it helps manage and coordinate the Proof-of-Stake network.
1.13. What is the Ethereum Virtual Machine (EVM)?
1.13. What is the Ethereum Virtual Machine (EVM)?
Explore the Ethereum Virtual Machine (EVM), the runtime environment for smart contracts on Ethereum, and its importance in executing decentralized applications.
1.14. Ethereum Node Architecture Explained
1.14. Ethereum Node Architecture Explained
Learn about the architecture of an Ethereum node, including its components and how they work together to maintain the blockchain.
1.15. Engine API: A Visual Guide
1.15. Engine API: A Visual Guide
A visual guide to the Engine API, which helps developers interact with and build on the Ethereum network more efficiently.
2. Cryptography
2. Cryptography
3. Consensus Layer
3. Consensus Layer
3.1. In-Depth Look into the Beacon Chain
3.1. In-Depth Look into the Beacon Chain
A comprehensive examination of the Beacon Chain, detailing its structure, functionality, and significance in the Ethereum 2.0 upgrade.
3.2. Overview of the Gasper Finality Mechanism
3.2. Overview of the Gasper Finality Mechanism
Understand the Gasper finality mechanism used in Ethereum's Proof-of-Stake consensus, ensuring blocks are finalized and part of the canonical chain.
3.3. Understanding Weak Subjectivity in Proof-of-Stake
3.3. Understanding Weak Subjectivity in Proof-of-Stake
Learn about weak subjectivity in the context of Proof-of-Stake, including its implications for network security and validator responsibilities.
3.4. What Are Attestations in Ethereum?
3.4. What Are Attestations in Ethereum?
Discover the concept of attestations in Ethereum, how they are used in the consensus process, and their importance in maintaining network integrity.
3.5. Rewards and Penalties in Proof-of-Stake
3.5. Rewards and Penalties in Proof-of-Stake
Explore the system of rewards and penalties for validators in Ethereum's Proof-of-Stake mechanism, incentivizing honest behavior and network participation.
3.6. Proof-of-Stake: Attack and Defense Mechanisms
3.6. Proof-of-Stake: Attack and Defense Mechanisms
Learn about the various attack vectors in a Proof-of-Stake system and the defensive measures in place to protect the network.
3.7. Ethereum Consensus Specification
3.7. Ethereum Consensus Specification
An overview of the Ethereum consensus specification, detailing the rules and protocols that ensure the blockchain's consistency and security.
4. Execution Layer
4. Execution Layer
4.1. EVM Deep Dive Part 1
4.1. EVM Deep Dive Part 1
The first part of an in-depth exploration of the Ethereum Virtual Machine (EVM), covering its architecture and functionality.
4.2. EVM Deep Dive Part 2
4.2. EVM Deep Dive Part 2
The second part of the exploration of the EVM, focusing on advanced topics and deeper technical details.
4.3. Understanding Gas and Fees
4.3. Understanding Gas and Fees
Learn about gas and fees in Ethereum, how they work, and their role in incentivizing miners and validators to process transactions.
5. Dencun
5. Dencun
5.1. Introduction to Optimistic Rollups
5.1. Introduction to Optimistic Rollups
Understand optimistic rollups, a layer 2 scaling solution for Ethereum that aims to increase transaction throughput and reduce costs.
5.2. Dencun Upgrade Part 1
5.2. Dencun Upgrade Part 1
Start with an overview of the Dencun upgrade, outlining the changes and improvements in the upcoming Cancun-Deneb hard fork on Ethereum. This includes a detailed exploration of two Cancun-specific execution layer upgrades: EIP-6780 and EIP-5656.
5.3. Dencun Upgrade Part 2
5.3. Dencun Upgrade Part 2
Examine key upgrades focused on staking and validators, specifically EIP-7044 and EIP-7045.
5.4. Dencun Upgrade Part 3
5.4. Dencun Upgrade Part 3
Explore EIP-4788, an upgrade aimed at reducing trust assumptions in staking pools and restaking arrangements.
5.5. Dencun Upgrade Part 4
5.5. Dencun Upgrade Part 4
Understand EIP-7514, which will modify the validator churn limit, and EIP-1153, which introduces transient storage opcodes to the EVM execution layer.
5.6. Dencun Upgrade Part 5
5.6. Dencun Upgrade Part 5
Discover EIP-4844, also known as “proto-danksharding,” which will significantly reduce the cost of posting L2 rollup data to the Ethereum mainnet using “blobs.”
5.7. Introduction to Dank Sharding
5.7. Introduction to Dank Sharding
An introduction to Dank Sharding, a proposed scaling solution for Ethereum that aims to increase the network's capacity and efficiency.
5.8. Dank Sharding FAQ
5.8. Dank Sharding FAQ
Frequently asked questions about Dank Sharding, providing answers and clarifications about this scaling solution.
6. Solidity Compiler
6. Solidity Compiler
6.1. Solidity 101: Introduction to Smart Contracts
6.1. Solidity 101: Introduction to Smart Contracts
A beginner's guide to Solidity, Ethereum's programming language for writing smart contracts, including basic concepts and examples.
6.2. Analyzing Compilation Output in Solidity
6.2. Analyzing Compilation Output in Solidity
Learn how to analyze the compilation output of Solidity contracts, understanding the generated bytecode and its implications.
6.3. Layout of State Variables in Storage
6.3. Layout of State Variables in Storage
Understand how state variables are laid out in Ethereum's storage, affecting gas costs and contract interactions.
6.4. Layout of State Variables in Memory
6.4. Layout of State Variables in Memory
Discover how state variables are organized in memory during contract execution, impacting performance and efficiency.
6.5. Layout of State Variables in Calldata
6.5. Layout of State Variables in Calldata
Explore how state variables are managed in calldata, a data location used for function arguments in Solidity contracts.
6.6. Understanding the Solidity Optimizer
6.6. Understanding the Solidity Optimizer
Learn about the Solidity optimizer, a tool that improves the efficiency of compiled smart contract code, reducing gas costs.
7. Vyper Compiler
7. Vyper Compiler
7.1. Vyper Documentation
7.1. Vyper Documentation
Explore the official Vyper documentation, offering in-depth guides, syntax explanations, and best practices for writing secure and efficient Ethereum smart contracts using the Vyper language.
7.2. How Vyper Compiles into Bytecode
7.2. How Vyper Compiles into Bytecode
Learn about the process by which Vyper source code is transformed into Ethereum bytecode, enabling the deployment of smart contracts to the blockchain and providing insights into the bytecode structure.
7.3. A Guide to Vyper Jump Tables
7.3. A Guide to Vyper Jump Tables
Delve into jump tables in Vyper, an advanced technique used to optimize contract execution by improving the efficiency of conditional branching, leading to reduced gas costs and streamlined logic.
8. Running a Proof of Concept (PoC)
8. Running a Proof of Concept (PoC)
8.1. Attacknet: Chaos Testing Blockchain Nodes
8.1. Attacknet: Chaos Testing Blockchain Nodes
An overview of Attacknet, a tool and testing methodology for subjecting blockchain devnets to simulated network and side channel attacks.
8.2. How to PoC execution layer bugs
8.2. How to PoC execution layer bugs
Documentation on the execution-spec-tests framework used to help uncover issues in the execution layer.
8.3. How to PoC consensus bugs
8.3. How to PoC consensus bugs
Documentation on using PySpec to run tests for the Ethereum consensus layer.
8.4. Setting Up and Installing the Solidity Compiler
8.4. Setting Up and Installing the Solidity Compiler
A step-by-step guide on how to set up and install the Solidity compiler, including building from source.
8.5. How to run Solidity Compiler Tests
8.5. How to run Solidity Compiler Tests
Instructions on how to run PoC tests for the Solidity compiler, helping to identify and fix potential issues.
8.6. How to run Vyper Compiler Tests
8.6. How to run Vyper Compiler Tests
Instructions on how to run PoC tests for the Vyper compiler, helping to identify and fix potential issues.
9. Audits & Known Issues
9. Audits & Known Issues
9.1. Consensus Layer Public Disclosures Part 1
9.1. Consensus Layer Public Disclosures Part 1
Public disclosures related to the consensus layer of Ethereum, detailing identified issues and their resolutions.
9.2. Consensus Layer Public Disclosures Part 2
9.2. Consensus Layer Public Disclosures Part 2
The second part of public disclosures for the consensus layer, providing updates on new findings and fixes.
9.3. Execution Layer Public Disclosures Part 1
9.3. Execution Layer Public Disclosures Part 1
Public disclosures for the execution layer of Ethereum, covering known vulnerabilities and their mitigations.
9.4. Execution Layer Public Disclosures Part 2
9.4. Execution Layer Public Disclosures Part 2
The second part of public disclosures for the execution layer, discussing additional vulnerabilities and fixes.
10. Technical FAQ
10. Technical FAQ
10.1. Client Diversity
10.1. Client Diversity
An analysis of client diversity in the Ethereum network, examining the distribution of different clients and their impact on the network's security and decentralization.
10.2. Ethereum Terminology Guide
10.2. Ethereum Terminology Guide
A comprehensive guide to the terminology used in the Ethereum ecosystem, helping newcomers understand key concepts and jargon.
10.3. The Ethereum White Paper
10.3. The Ethereum White Paper
The Ethereum white paper which outlines the vision, principles, and technical foundation of Ethereum.
10.4. The Ethereum Yellow Paper
10.4. The Ethereum Yellow Paper
A detailed technical specification of Ethereum, known as the Yellow Paper, which provides an in-depth look at the protocol's mechanics and architecture.