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

  • Bybit

Panda Sponsors

  • Wormhole
  • Arbitrum
  • The Graph

Blobfish Sponsors

  • GMX Logo
  • Base

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

4d: 0h
Rewards Pool
To be determined
Vault TVL
To be determined
Starts
25 November 2024
Ends
20 January 2025
Rewards Token
To be determined
Triaged by Immunefi
Yes
KYC Required
Yes
nSLOC
To be determined
View Attackathon

⁣1. Ethereum 101

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.

Beginner

General

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.

Beginner

General

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.

Beginner

General

1.4. Understanding Transactions

Delve into the mechanics of transactions on the Ethereum network, including how they are created, signed, and executed.

Beginner

General

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.

Beginner

General

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.

Beginner

General

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.

Beginner

General

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.

Intermediate

General

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.

Beginner

General

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.

Beginner

Consensus Layer

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.

Intermediate

Consensus Layer

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.

Beginner

Consensus Layer

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.

Beginner

Execution Layer

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.

Beginner

Consensus + Execution Layer

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.

Intermediate

Consensus + Execution Layer

1.16. Understanding Ethereum's Networking Layer

Delve into the networking layer of Ethereum, which ensures secure and reliable communication between nodes in the decentralized network.

Intermediate

Consensus + Execution Layer

⁣2. Cryptography

2.1. Foundational Cryptography in Ethereum

An in-depth look at the cryptographic principles and methods that underpin the security and functionality of the Ethereum blockchain.

Advanced

General

⁣3. Consensus Layer

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.

Intermediate

Consensus Layer

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.

Intermediate

Consensus Layer

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.

Intermediate

Consensus Layer

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.

Intermediate

Consensus Layer

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.

Intermediate

Consensus Layer

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.

Intermediate

Consensus Layer

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.

Advanced

Consensus Layer

3.8. In-Depth Look at Casper Finality Mechanism

A deep dive into the Casper finality mechanism, which helps achieve consensus in Ethereum's Proof-of-Stake network.

Advanced

Consensus Layer

⁣4. Execution Layer

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.

Intermediate

Execution Layer

4.2. EVM Deep Dive Part 2

The second part of the exploration of the EVM, focusing on advanced topics and deeper technical details.

Advanced

Execution Layer

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.

Intermediate

Execution Layer

4.4. Exploring EVM Opcodes

An in-depth look at EVM opcodes, the low-level instructions executed by the Ethereum Virtual Machine.

Advanced

Execution Layer

⁣5. Dencun

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.

Intermediate

Data Availability Layer

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.

Intermediate

Consensus + Execution Layer

5.3. Dencun Upgrade Part 2

Examine key upgrades focused on staking and validators, specifically EIP-7044 and EIP-7045.

Intermediate

Consensus + Execution Layer

5.4. Dencun Upgrade Part 3

Explore EIP-4788, an upgrade aimed at reducing trust assumptions in staking pools and restaking arrangements.

Intermediate

Consensus + Execution Layer

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.

Intermediate

Consensus + Execution Layer

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.”

Intermediate

Consensus + Execution Layer

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.

Intermediate

Consensus Layer

5.8. Dank Sharding FAQ

Frequently asked questions about Dank Sharding, providing answers and clarifications about this scaling solution.

Intermediate

Consensus Layer

5.9. Understanding Verkle Trees

Explore Verkle Trees, a new cryptographic data structure proposed for Ethereum to improve scalability and efficiency.

Advanced

General

⁣6. Solidity Compiler

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.

Beginner

Execution Layer

6.2. Analyzing Compilation Output in Solidity

Learn how to analyze the compilation output of Solidity contracts, understanding the generated bytecode and its implications.

Beginner

Execution Layer

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.

Intermediate

Execution Layer

6.4. Layout of State Variables in Memory

Discover how state variables are organized in memory during contract execution, impacting performance and efficiency.

Intermediate

Execution Layer

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.

Intermediate

Execution Layer

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.

Advanced

Execution Layer

6.7. SMTChecker and Formal Verification

An overview of SMTChecker and formal verification tools in Solidity, used to ensure the correctness and security of smart contracts.

Advanced

Execution Layer

⁣7. Vyper Compiler

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.

Beginner

Execution Layer

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.

Intermediate

Execution Layer

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.

Intermediate

Execution Layer

7.4. Past Compiler Vulnerabilities

Review notable vulnerabilities discovered in the Vyper compiler over time, and gain insights into how these issues have shaped the current security practices in Vyper development.

Advanced

Execution Layer

⁣8. Running a Proof of Concept (PoC)

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.

Beginner

Consensus + Execution Layer

8.2. How to PoC execution layer bugs

Documentation on the execution-spec-tests framework used to help uncover issues in the execution layer.

Intermediate

Execution Layer

8.3. How to PoC consensus bugs

Documentation on using PySpec to run tests for the Ethereum consensus layer.

Advanced

Consensus Layer

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.

Intermediate

Execution Layer

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.

Intermediate

Execution Layer

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.

Intermediate

Execution Layer

8.7. How to run Client Tests

A compilation of instructions on how to run PoC tests for individual client software.

Advanced

Consensus + Execution Layer

⁣9. Audits & Known Issues

9.1. Consensus Layer Public Disclosures Part 1

Public disclosures related to the consensus layer of Ethereum, detailing identified issues and their resolutions.

Intermediate

Consensus Layer

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.

Intermediate

Consensus Layer

9.3. Execution Layer Public Disclosures Part 1

Public disclosures for the execution layer of Ethereum, covering known vulnerabilities and their mitigations.

Intermediate

Execution Layer

9.4. Execution Layer Public Disclosures Part 2

The second part of public disclosures for the execution layer, discussing additional vulnerabilities and fixes.

Intermediate

Execution Layer

9.5. Further Known Issues

A compiled list of known issues from client and language teams, providing insights into current limitations and bugs.

Intermediate

Execution Layer

⁣10. Technical FAQ

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.

Beginner

General

10.2. Ethereum Terminology Guide

A comprehensive guide to the terminology used in the Ethereum ecosystem, helping newcomers understand key concepts and jargon.

Beginner

General

10.3. The Ethereum White Paper

The Ethereum white paper which outlines the vision, principles, and technical foundation of Ethereum.

Advanced

General

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.

Advanced

General

10.5. Further Resources

All further resources will be available via the following Slite page.