Ethereum All Core Developers Consensus Call #124 Writeup
On December 14, 2023, Ethereum developers gathered over Zoom for All Core Developers Consensus (ACDC) call #124. Chaired by Ethereum Foundation Researcher Danny Ryan, the ACDC calls are a bi-weekly meeting series where developers discuss and coordinate changes to the consensus layer (CL) of Ethereum. This week, developers discussed testing progress for the Cancun/Deneb upgrade on Devnet #12. Since last Thursday’s All Core Developers Execution (ACDE) call, all execution layer (EL) and consensus layer (CL) client combinations have been onboarded to Devnet #12, including the Prysm client. MEV-Boost software has been enabled for most of these client combinations, excluding client combinations with Prysm. Developers said they are on track to launch a Goerli shadow fork testing the Cancun/Deneb upgrade with all clients in the next one to two weeks. Developers also discussed rules on slashable message propagation, as well as the call schedule for the next two weeks.
Devnet #12 Updates
Barnabas Busa, a DevOps Engineer at the Ethereum Foundation, said that all EL/CL client combinations, including those using Prysm as the CL client, have been onboarded to Devnet #12. Client combinations with Prysm have not yet been tested with MEV-Boost. However, the MEV workflow is being tested across the other CL clients on Devnet #12. The Lighthouse client has been recently patched to address a bug related to MEV. Aside from this, Parithosh Jayanthi, another DevOps Engineer at the Foundation, said that they noticed an issue with a Besu node on Devnet #12 that they are still trying to identify the root cause behind. As next steps, developers will stress test client combinations on the devnet by intentionally sending bad blocks through the network, test block builders, and run hive tests for the newly added Prysm client. Jayanthi said in a public Discord message during the call that developers remain on-track to shadow fork the Goerli testnet before the end of the year.
Slashable Message Updates
Next, developers briefly discussed a few items related to the propagation and timing of slashable messages on Ethereum post-Cancun/Deneb. As background, slashable messages include the propagation of duplicate or invalid blocks and blobs. A pseudonymous developer for the Lodestar client by the screen name “Dapplion” created a pull request (PR) on GitHub to add new events to the Beacon Chain API that will allow node operators to learn about slashable events more quickly, which is especially useful in the case of high volumes of slashable messages. Dapplion noted in his PR, “The total cost of a slashing event for large operators is highly dependent on their response time. If many keys are involved in an operational error it can take some time for those slashable messages to be included on chain.” Dapplion’s PR was merged into the specifications for the Beacon Chain API before the call and is now being implemented by various CL client teams such as Prysm and Lighthouse.
Dapplion also raised a PR related to measuring block propagation times. He noted that because of the Cancun/Deneb upgrade and the introduction of blob transactions, measuring block propagation times will become more difficult. Dapplion’s proposed solutions are detailed in his PR here. The sentiment of developers, as noted in the PR thread, lean towards extending existing relevant Beacon Chain API events with a timestamp field.
A third topic that developers discussed related to slashable message propagation post-Cancun/Deneb upgrade was the gossip conditions for blobs. A Lighthouse developer by the screen name “sean” (or “realbigsean” on GitHub”) noted that the existing gossip rules for blobs lead to unexpected consequences. Sean said on the call, “If you were using the Beacon API with the broadcast validation of gossip, it might be unexpected what messages were valid and invalid and the reason for that is because technically, it’s okay to gossip two blobs with different blob indices that have slashable headers associated with them. You’re allowed to gossip those, but you’re not allowed to gossip those that have the same blob index.”
Sean added that the strange behavior when it comes to slashable message propagation for blobs has no meaningful consequences on the health of the network, other than simply being a “weird” outcome for node operators to understand and parse. Therefore, while not urgent for the activation of Cancun/Deneb, he recommended that developers consider, for a future upgrade, changes to clarify the rules on how to handle the propagation of slashable messages. Danny Ryan agreed with this sentiment saying that developers should take the time to consider the approach to this issue “holistically.” Ryan recommended revisiting this topic of discussion in January after developers have had some time to design a comprehensive plan to update slashable blob and block propagation rules.
Then, developers discussed a minor change to the libp2p networking protocol to reduce the amplification of large messages, such as a block with a high number of blobs, to nodes. Sean highlighted the addition of a new “IDONTWANT” control message that can be used to notify libp2p peers to suspend sending back large messages. Ryan said that he would try to reach out to the libp2p team to merge this PR and if there are further delays, revisit the issue during next week’s ACDE call.
ACD Holiday Call Schedule
Finally, Ryan asked developers on the call whether they would want to reconvene to discuss progress on Cancun/Deneb through an informal meeting on Thursday, December 28th. He noted that he would not be available on the 28th to host a formal ACDC call. However, he encouraged developers to meet without him in case that would be helpful for coordination over the holidays. Tim Beiko, Protocol Support Lead at the Ethereum Foundation, noted that developers would also discuss the holiday schedule for calls during next week’s ACDE call on the 21st. Beiko said that, for now, only the Monday testing call on the 25th has been cancelled. Developers agreed to re-discuss the schedule for calls over the holidays during next Thursday’s ACD call.