This post explores fork choice attacks through the perspective of EPBS, focusing on the new fork choice boost parameters and the rationale behind their design. We'll begin by examining why these parameters are crucial, followed by a review of the existing designs. For background reading, I recommend reading Payload Boosts in ePBS by Potuz. Additionally, for a deeper understanding of how the LMD GHOST fork choice operates today, consider Ben Edgington’s section on fork choice in his book, Upgrading Ethereum. Let’s dive in!
Payload boosts in ePBS - Feb/2024 By Potuz
Sandwitch attacks on ePBS - May/2024 By Potuz
We analyze these scenarios from both the attacker's and the victim's perspectives, focusing on two consecutive proposal slots, each with distinct proposers. Two primary types of attacks can emerge:
To clarify, by "attack," we mean an attempt to reorg the block out of the canonical chain. The motives behind such a reorg typically include:
The first type of attack is a post-anti attack, where the proposer of slot attempts to reorg the block from slot . In this scenario, the proposer of utilizes the proposer boost to gain an advantage and potentially reorg the block from slot . Currently, the proposer boost is set at 40%. This means that as long as the block at slot receives votes from more than 40% of the beacon committee, it is safe against a reorg. Typically, we define the percentage of the beacon committee that belongs to the attacker as . An attacker can successfully reorg a block if , which is 60% under today's parameters.
The second type of attack is known as the ex-anti attack, where the proposer of slot attempts to reorg the block from slot . This type of attack is inherently difficult to pull off because the proposer boost grants a 40% advantage to the block at slot . To successfully carry out this attack, the attacker’s beacon committee must withhold their attestations and block then release them synchronously which occurs shortly after the block at slot is published. To reorg the block at slot , the attacker’s beacon committee support must exceed the proposer boost. We can assert that an attacker can reorg a block if , which is 40% under today's parameter.
It is worth mentioning in ex-anti attack, attackers who propose multiple consecutive slots have an added advantage. For two slots, the effectiveness of the attack can be simplified to the expression , requiring only 20% of the stake per slot to reorg an honest block.
In the EPBS model, the introduction of a builder block between two proposer blocks complicates the landscape of potential attacks beyond what we see today. This addition expands the array of possible attack scenarios:
Before we go into the specific attack scenarios under the EPBS framework, it’s important to establish the incentives for honest builder behavior. Similar to the proposer boost, builders are also incentivized through boosts for honest actions through payload timeliness committee.
These boosts also ensure both builder reveal and withhold safety. Builder reveal safety means that if the builder acted honestly and revealed a payload in a timely fashion (as attested by the PTC), then the revealed payload should be on-chain. Builder withhold safety means that if a beacon block containing a builder's header is withheld or revealed late, then that beacon block should not be the canonical head of the blockchain in the view of honest validators.
To ensure clarity and maintain focus throughout our discussion, we will designate the boosts as follows: Reveal Boost (), Withheld Boost (), and Proposer Boost (). The specific values of these boosts will be disclosed at the conclusion of this post. Now, let's explore the first scenario: the proposer post-anti attack in EPBS.
As you may have noted, this scenario is similar to the post-anti attack today, except that the builder of colludes with the proposer of . We also assume that a portion of the beacon committee is part of the malicious team, represented by . The post-anti attack is successful if . This indicates that post-anti attack resistance is weaker in EPBS due to the added power of the withheld boost from the colluding builder.
Let's examine the benefits for the attacker in a successful attack:
Let's move on to the second scenario: the proposer ex-anti attack in EPBS. In this scenario, we will examine the most extreme version where the builder's Reveal Boost () is leveraged for the ex-anti attack. What does this attack look like?
The proposer of slot withholds the block and the beacon committee, represented by , withholds the attestations. The attacking builder of slot releases the payload on time to gain the . The ex-anti attack is successful if . However, realistically, the proposer will try to split the beacon committee into portions seen () and not seen (). This modifies the equation to .
Let's examine the benefits for the attacker in a successful attack:
In other words, the ex-anti attack is not as valuable as the post-anti attack if we assume the worst-case scenario for both.
Finally, let's move to the last section: proposers of and colluding to attack the builder of . We will divide this section into two parts. The first part will focus on reorg out the builder's payload, and the second part will focus making the payload part of the canonical chain even if the builder chooses to withhold it.
Let's examine the first part. The proposer of slot releases the block late / attempts to split the beacon committee view, resulting in beacon committee members voting for the block and not voting for it. The builder decides to reveal the payload on time and gains a . The proposer of slot could then reorg the payload by reorg the entire proposer block of slot , which is more powerful than just reorganizing the payload itself. The attack is successful if .
What does a successful attack provide to the attacker?
Let's look at the second part. The proposer of slot releases the block late or tries to split the beacon committee view, resulting in beacon committee members voting for the block and not voting for it. The builder decides to withhold the payload on time and gains a Withheld Boost (). The proposer of slot could attempt to force the builder to fulfill unconditional payment by making the block at slot canonical, which from the chain's perspective, appears as if the builder did not release the payload. The attack is successful if .
What does a successful attack provide to the attacker?
Finally, let's summarize the equations for each worst-case attack scenario if the attacker wins:
All in all, we can derive that the parameters are approximately , , , and . This means we can tolerate a malicious beacon committee up to 20%, whereas today, this tolerance is 40%.
The real question to ask is whether the worst-case scenario of a 20% attack even makes sense, as in the ex-anti attack, the builder must release the payload to perform the attack. Nevertheless, it certainly represents a degradation in fork choice. A 20% attack is significantly more dangerous in the post-anti attack than in the ex-anti attack due to the additional time available.
Something we haven't analyzed here is how multi-slot liveness may play a role in this context. Given (block, slot) voting and under worse network asynchrony conditions, we may experience prolonged empty slots, making recovery difficult. Solutions like a backoff scheme have been proposed, which require further thought and analysis.