Edition 67 at eth2.news
If you do one thing this week, watch EthGlobal's Merge Summit! More below.
We've had our first incident on the beacon chain. Between 01:36 and 03:28 UTC on the morning of the 24th of April (this morning, as I write), huge numbers of blocks were missed. Normally, only around 1% of beacon chain slots are missing their block. During this period, over 70% of slots were empty (403 missing from 560 slots).
Learn More →
Many blocks were missing during the incident.
(From beaconcha.in. Click image to enlarge.)
The purpose of a blockchain is to produce blocks, so this is quite serious. However, the chain continued to finalise throughout, and it seems that attestation production was unaffected. However, with so few blocks being produced, the remaining proposers did not have enough space in their blocks to include all pending attestations, so participation rates fell perilously low at times. Participation has been consistently around 99% for the life of the Beacon Chain, so seeing these drops was quite alarming.
Learn More →
Participation rates fell during the incident due to lack of block space.
(From Metal Albert. Click image to enlarge.)
Some were quick to blame me for jinxing the chain, but it turned out to be due to a bug in the dominant Prysm client. The root cause is related to acquiring the state of the Eth1 deposit contract: if you do not have a correct view of the deposit contract, you cannot propose blocks. The incident resolved itself as soon as the network voted in a new Eth1 deposit root, which happens about every 7 hours in general. The Prysm team has made a swift fix, but until it's released and the majority of users have upgraded, there is a small chance that this could occur again.
The impact of the incident on stakers is four-fold. But, all-told, relatively minor. It could have been a lot worse.
Latest update from the Prysm team (my node—see the image—shows a more severe drop in participation than they report).
This lesson: it is time for everybody to take client diversity seriously.
We have been banging on about this since forever. Since before a bug in Prysm almost killed the Medalla testnet. Since before a bug in Prysm borked Genesis of the Spadina testnet. None of this is particularly Prysm's fault: a collective failure has given one client control over 70% of the network. There is absolutely no downside to running one of the other three excellent production clients. There is only upside, both for the health of the network, and the health of your own income.
If you are running the majority client (which happens to be Prysm right now), then this is your call to action! Client diversity is not someone else's issue, it is your issue. If you are using a staking service, lobby them over this. If you are running a staking service, don't hesitate to get in contact: we built Teku for you; we are here to help.
In other news, the Rayonism hackathon project got under way and is making great progress. Protolambda gave a great overview at the Merge Summit. Icymi, Rayonism aims to hack togther a multiclient devnet showcasing the proof of stake merge, sharding, deposit withdrawals, and perhaps even an optimistic rollup.
In summary, there's a strong representation from both Eth1 (execution) and Eth2 (consensus) client teams. Progress is good, and an ephemeral multiclient devnet might be up early in the coming week, and a more long-lived devnet by the end of the week.
See the GitHub repo for more, and check out the mergenet tutorial to try running a merged testnet yourself. So far, on the Eth1 (execution) side you can run with Catalyst/Geth or Nethermind, and on the Eth2 (consensus) side you can run with Teku or Lighthouse.
The Merge is the point at which we move the Ethereum proof of work chain fully over to proof of stake, by "merging" it with the Beacon Chain.
The current big discussion point around the Merge is timing. There was an irregular Ethereum All Core Devs meeting on Friday the 22nd of April that discussed this. The outcome wasn't definite; there's a balance between getting some outstanding EIPs done and getting the Merge done, and there's a lot going on. It partly depends on the results of the Rayonism project.
Tim Beiko summarised the call. The plan looks to be, deliver the London upgrade in mid-July (target the 14th), then, after that, work on another small Eth1 feature fork (Shanghai) and the Merge in parallel. If the Merge looks deliverable, then prioritise that. Otherwise, do Shanghai.
Dates as early as October were mentioned for the Merge, but this seems unlikely. By the end of the year could be doable, though.
[Standard disclaimers apply to everything below. I haven't tried any of it with my own ETH; do your own research and due diligence.]
A couple of interesting things from Abyss Finance. First is a batch deposit tool. This uses deposit files generated by the standard Launchpad process, but makes all the deposits in one transaction, which is a huge improvement over clicking approve on MetaMask lots of times, and removes the risk of making a double deposit. It also looks like it saves a good amount of gas compared to making individual deposits.
Second is a novel approach to funding validator hosting. Abyss will host your validator for free while you lock up some defi liquidity tokens with them. The value of tokens required depends on the unbonding period you choose. They use Allnodes for hosting, whom I can vouch for as they (a) run Teku, and (b) consistently top the performance rankings across all the staking services I track.
Speaking of Allnodes, they have made an integration with Ledger Nano X, using the X's new BLS12-381 capability to generate deposit files with withdrawal credentials managed by the device. This can be used by any staker, not just those staking with Allnodes.
Now that we are able to specify an Eth1 contract as the withdrawal address for stakes, trustless staking pools are becoming a reality. These allow you to stake arbitrary amounts: less than 32 ETH, which is a very chunky commitment these days. Some news of pools has reached me:
Something people seem only recently to have woken up to is that Eth2 validators will, after the Merge, earn transaction fees in addition to rewards for attesting and producing beacon blocks. A quick glance at Etherscan as I write shows transaction fees averaging around 1 ETH per block right now, which dwarfs the current beacon block reward by a factor of about 250. Of course EIP-1559 will reduce that, but there is also Miner Extractable Value available which has the potential to increase rewards considerably.
In any case, the Merge substantially changes the economics of staking. Recent estimates of post-Merge gross annual return for stakers start at 25% (calculations) and go much higher. This compares to 7.85% right now.
Part of the ongoing EthGlobal Scaling Ethereum hackathon was a session on the 23rd of April dedicated to a "Merge Summit".
The full video is up. The times below link to the start of each talk.
This is a quality set of talks, and well worth your time.
u/Liberosist posted some notes. Fwiw, I saw different viewing numbers on the EthGlobal.tv stream, 3-4x the numbers mentioned in the post.
Barnabé Monnot presents The road to Ethereum: "Visualising a merged, data-sharded, rollup-centric future". This is a lovely explainer (with hand-drawn diagrams!) of what the big-picture for Ethereum's mid-term future looks like. Read it in conjunction with the Merge Summit talks, above.
Jacek of Nimbus has made another of his classic Tweet-thread explainers. This time on attestation packing in blocks.
Viktor Bunin argues in favour of Ethereum's principles and governance in his first op-ed: Eth2 is neutral infrastructure for our financial future. I couldn't agree more. I realised today that I have probably thought about Ethereum every single day for over five years. Viktor articulates some of the reasons why.
The Eth2 podacst with Coindesk continues to go well. I think we're getting more comfortable with tackling some spicier topics.
I think the podcast is a fairly gentle but informative listen. Allow me to commend it to your playlists.
Christine also wrote about total value staked and Rayonism in the latest Valid Points newsletter.
Dankrad announced that the Legendre function bounty has been raised to $20k for either breaking or proving the hardness of the Legendre PRF. This will be an important primitive when we implement sharding: it is used to prove custody of shard data in a multi-party compute friendly way.
On ethresear.ch:
Call #62 took place on the 22nd of April.
Apart from the usual updates, the main takeaway is that the date for the Altair upgrade may recede a little. Client teams need another couple of weeks to be ready for a testnet, and we will want to run the testnet for a good six weeks or so. This takes us towards the end of June. But we don't want to clash with the Eth1 London fork now scheduled for mid-July. So, a target date for Altair remains TBD.
Call #2 took place on the 15th of April.
The call took place while the OpenEthereum incident was being handled after the Eth1 Berlin fork, so was missing a few stakeholders.
We continue to hire for the Teku team!
Check out the role and hit me up if you'd like to chat about it. Or please forward it to anyone you know in the Enterprise Java space: we need to be drawing the traditional dev world into our glorious decentralised future.
Follow me on Twitter to hear when the next edition is out 🙌.
We also have an RSS feed.
Advertising on this newsletter.