We just wrapped up @ethereum #AllCoreDevs 😁

Agenda: github.com/ethereum/pm/is…
Stream:

Recap below πŸ‘‡πŸ»
First, we had status updates from the Calaveras devnet. It was spammed with transactions this week, and uncovered some minor issues in Besu and Nethermind, which either have already been fixed or are being done so today/early next week πŸ’ͺ🏻
Then, we went through a bunch of open issues related to JSON RPC support for EIP-1559. The first was where the "effective gas price" of a transaction (the amount actually paid by the txn) should be stored. We agree to have that in the txn receipt, and updated the JSON RPC spec.
The second was how to adapt eth_call to the various parameters that are introduced by EIP-1559. @peter_szilagyi had a PR for Geth which was very thorough and other clients agreed to follow a similar approach: github.com/ethereum/go-et…
For reference, here are all the cases/behaviours that are considered, which barely fit in a single screenshot πŸ˜…
Lastly, there was an open question about how client should return estimates for the priority fee (a.k.a. tip). Right now, a lot of wallets rely on the suggested gas prices returned by clients, but post-1559 a simple return value may not be the best approach.
If we return a single value, as was suggested by adding an `eth_maxPriorityFeePerGas` endpoint, it may lead to people overpaying because they rely on a value which may be out of date or biased by recent high prices.
Instead, clients can return data about the gas used and priority fees paid in recent blocks, which will allow wallets to know whether the network is in a state of congestion or not, and what the minimum acceptable priority fees are if there is no congestion.
We agreed to go forward with this approach, described in more details here gist.github.com/zsfelfoldi/473…, with one change: we will cap the number of blocks for which this data can be returned, in order for the API to be light-client friendly.
And that was the last of the JSON RPC issues for 1559 (*touches wood*) - clients should all be on the same page now 😁
Then, @dankrad brought up an issue w.r.t. an underspecification in the Yellowpaper. The current behaviour around how a transaction initiated with a private key for a non-EOA is currently undefined.
In other words, _if_ someone had the private key to an address where a smart contract was, they could initiate a transaction for it. While the odds of this are very low (2^80), they are much higher than the odds of finding a specific private key (2^160).
In the worst case, someone could "mine" for a key + contract pair, deploy a contract which would look innocent, and eventually steal the funds from it. While this attack is _possible_, it is estimate to require the same hashrate as ~1 year of BTC mining, or ~10B$
Luckily, the fix is simple: we can reject transactions from senders if their address has bytecode associated to it. The fix is described in EIP-3607: github.com/ethereum/EIPs/…
Along with being simple, the fix does not require a hard fork, as it only restricts the current validity rules (i.e. is a soft fork). Clients agreed that this behaviour should be implemented and made canonical.
Before it is implemented, we will run a full sync of the chain to be sure such an attack has never happened before, and update the test suite + yellowpaper to support this. Then, clients will implement it when they see fit. Geth said they may implement it prior to London, but TBD
There was strong pushback against this affecting London timelines, which was our next subject 😁
With all clients comfortable with their 1559 implementation, we agreed it made sense to set testnet blocks now. Some of the JSON RPC changes mentioned at the beginning may come after the testnet forks, but all the consensus-related changes for 1559 are ready to go!
Clients all think they can have a release ready sometime next week, so we'll have the first testnet fork 7-10 days after that. The fork blocks + dates have been added to the London spec: github.com/ethereum/eth1.… πŸ‡¬πŸ‡§πŸŽ‰
You can expect a post on blog.ethereum.org next week with the versions for each client which will support London on testnets.

IMPORTANT NOTE: the mainnet block will be chosen after we see testnets forking smoothly, and hence will require another client upgrade.
And that was it for London πŸ‡¬πŸ‡§ Next on the call we had an update on the EIP-3074 audits 😁
First, @lightclients gave some background on EIP-3074. I recommend watching the livestream for it, or reading his excellent tweet thread:
@LeastAuthority then shared the findings from their audit. The report is not available yet, but should be shortly.
The whole commentary is worth watching, but one conclusion was that 3074 invokers, if we can assume them to be safe (i.e. simple, formally verified, audited, etc.) can be thought of as "wallet extensions" and have a similar security profile as wallets.
Then, the second auditing firm, @dedaub, who analyzed the impact on current smart contracts, shared their thoughts. They had previously also done so on Twitter:
Again, the livestream is worth watching for nuance, but their main takeaway is shared here:
The audits seem to address some of the security concerns that had previously been raised by @mhswende and others. Given that London is not done yet, and that the picture is unclear for what comes after with the merge and/or Shanghai, it is still to decide on 3074's next steps.
To be clear, though, there is still some pushback (e.g. see this exchange: ) and the EIP's champions explicitly said they don't want this to be included because everyone ends up exhausted from debating it.
Once we are a bit farther along with planning future upgrades and that people have had time to read + digest the audits, we'll be discussing this again on the call.
And with this, we were at time. We had time for two quick announcements. First, it seems there were some issues on Goerli. It seems like they may have been caused by Nethermind and were being fixed on the call. Last block seems recent (goerli.etherscan.io/block/4951357), which is good!
Lastly, the @EthCatHerders and @nethermindeth are running a survey to better understand the future requirements of client developers in terms of tools and documentation.

If that's you, your answers would be helpful. You can answer here: docs.google.com/forms/d/e/1FAI… 😁
And that was it, see you on the next call, on June 25th, 14:00 UTC. By then, London will already be live on Ropsten πŸ‡¬πŸ‡§

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with Tim Beiko | timbeiko.eth

Tim Beiko | timbeiko.eth Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @TimBeiko

28 May
We wrapped up #AllCoreDevs no. 115 a few hours ago.

Agenda: github.com/ethereum/pm/is…
Stream:

Overview of the call below πŸ‘‡πŸ»
We started with a lot of action as @mhswende identified an issue in EIP-1559 yesterday where the new fields introduced in transactions (maxFee & maxPriorityFee) did not have an explicit cap. This meant that an attacker could create arbitrarily large transactions.
Prior to 1559, this is not possible because if you want to create a transaction with a huge gas price, you actually _need_ to have that amount of ETH, and if your txn is included, you will _pay_ that amount.
Read 50 tweets
14 May
We just wrapped up #AllCoreDevs 113 😁

Agenda: github.com/ethereum/pm/is…
Recording:

Recap below πŸ‘‡πŸ»
The bulk of the call was focused on ironing out the final details for the London upgrade πŸ‡¬πŸ‡§
First up, we discussed the status of Baikal, our London devnet. @nethermindeth, @go_ethereum, @turbogeth, and @ConsenSysQuorum's Besu are all syncing to it πŸŽ‰
@OpenEthereumOrg is still working on merging the final EIPs before joining the network.
Read 30 tweets
23 Apr
This week's off-schedule @ethereum #AllCoreDevs call just wrapped up (early, for the first time in months!) 😁

Agenda: github.com/ethereum/pm/is…
Stream:
Summary below 🧡
First up, I gave a summary of my conversation with the various client teams over the past week. I had pasted a text version in the agenda as well:
TL;DR: client teams prefer a tighter-scoped London upgrade, London in July would be best, and if we keep London small + the Merge work goes according to plan, we should be able to do another feature fork this fall without delaying the merge.
Read 31 tweets
2 Apr
.@ethereum #AllCoreDevs starting in ~15 minutes

Agenda: github.com/ethereum/pm/is…
Stream:

Lots to cover, and I'll be back here after the call for a summary 😁

One note: Berlin is happening on mainnet soon πŸ‡©πŸ‡ͺ If you haven't updated your node, do it now 😁
Ok here we go!
First up on the call was Berlin updates πŸ‡©πŸ‡ͺ The Rinkeby fork went well, nothing to report. The mainnet fork block is going to happen on April 14/15, see a countdown here: goto.etherscan.com/block/countdow…
Read 50 tweets
31 Mar
.@gladstein thanks for engaging! These are all good questions. The answers may not all be tweet-sized, so here's a thread to go through them 🧡
You can see the current numbers for yourself here: beaconcha.in/pools. One important thing to note is that Ethereum's PoS algorithm uses penalties that are correlated with how many other people do something wrong along with you.

This means that while we can't stop people from staking on AWS, or using the most popular client, etc. we can give them an economic incentive to setup their staking node in a way where their failures are uncorrelated from the rest of the network.
Read 20 tweets
5 Mar
.@ethereum #AllCoreDevs starting in ~5 minutes with a PACKED agenda (doubt we get through it all πŸ˜…)

Last minute Berlin changes πŸ‡©πŸ‡ͺ, and a slew of potential London EIPs πŸ‡¬πŸ‡§, including EIP-1559 πŸ”₯

Agenda: github.com/ethereum/pm#ac…
Stream:

πŸ”œπŸ”œπŸ”œ
First up, @hudsonjameson announces this is the last call he'll be facilitating. Starting next call, I'll be facilitating them πŸ‘‹πŸ»

Hudson will still be available to help out, and will be working on other initiatives at the EF πŸ¦„
Next, is a discussion about whether we should keep EIP-2315 in Berlin, which was kicked off by a tweet from earlier this week:

@lightclients opened an issue questioning whether we should keep it in based on that feedback: github.com/ethereum/pm/is…
Read 39 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(