"One bad signature will be able to drain your account on Ethereum after EIP-3074."
Yes; this is true. 3074 coauthor here! Let me put this concern to rest a bit before it gets more out of hand.
To start: I'm not aware of any wallets that support signing unprefixed data today. This means that currently, no wallets support 3074. Doesn't matter how many control panels you navigate through or advanced features you turn on. It isn't possible to sign a 3074 message today.
Jul 26, 2023 • 7 tweets • 2 min read
Today I'm proposing EIP-7377: Migration Transaction. It would be a new transaction type that allows an EOA to make a one-time code deployment at their address. This would effectively migrate the account to a smart contract permanently. eips.ethereum.org/EIPS/eip-7377
This is an idea that we (@_SamWilsn_ and @adietrichs) have discussed a fair bit during our time working EIP-2938 and EIP-3074. We believe account abstraction is an important goal, but a piece that has been missing from its roadmap is how to convert all the existing users over.
Nov 17, 2022 • 17 tweets • 5 min read
Ethereum has recently seen substantial changes, such as the move to PoS & EIP-1559. However, the EVM looks mostly the same.
This may finally change with the Ethereum Object Format (EOF), which is likely going into Shanghai. It will be the EVM's biggest change since genesis.
EOF is comprised of several EIPs. Although they aren't "all or nothing", we're considering them as an entire set. The EIPs are:
After the merge, there will be a much larger faction of "at home" block producers than we've seen under proof-of-work. In order for these independent stakers to extract MEV, we need to think differently about our approach to block production (thread).
First, let's recap how MEV is extracted today.
There are many actors in this game, but we can roughly distill the interaction down to three: searchers, builders, and miners.
Dec 5, 2021 • 25 tweets • 7 min read
The design space for protocol upgrades that improve the user experience on Ethereum is large, however, there are two categories that I believe deserve most of our attention (thread).
These categories can be deduced by working backwards from the types of accounts available today, and the functionality each of them provide.
Nov 22, 2021 • 23 tweets • 4 min read
Ethereum clients currently store 275 GB of historical data that is unnecessary to validate the chain. That number is growing at a rate of around 140 GB per year. EIP-4444 proposes clients prune data older than 1 y/o.
So why don't we just prune the data already?
To understand why the data has yet to be pruned and why this is even a discussion, it's important to understand how historical data is used today. There are two main categories of usage: syncing and user requests over JSON-RPC.
Apr 26, 2021 • 16 tweets • 4 min read
Smart contract developers:
How much does the storage refund need to decrease before you start using a different value to represent 0?
The London hard fork in July will almost certainly modify the behavior of refunds. There have been several iterations, but the latest is EIP-3529: Reduction in refunds.
Apr 23, 2021 • 15 tweets • 4 min read
In the last month, users spent $23,830,482 on ERC-20 approvals. EIP-3074 would reduce that number by at least 30%, saving users millions while freeing up block space (thread).
Anyone whose nonce is greater than ten has likely experienced the approve+transfer flow that defi applications use to interact with ERC-20 tokens. The approve method is a relic of the original ERC-20 design.
Ethereum wallets may be getting a significant upgrade soon. With the proposed change, EOAs will immediately be able to send batch txs, expiring txs, unordered txs, and more. (thread)
My colleagues, @_SamWilsn_ and @adietrichs, and I have been working on improving the UX of interacting with Ethereum. After many iterations, we've come up with EIP-3074: AUTH and AUTHCALL opcodes.
Jan 13, 2021 • 21 tweets • 4 min read
2021 will be the most innovative year for the Ethereum protocol since 2016. Here are the EIPs to keep an eye on this year (thread):
The next hardfork is named "Berlin" & is scheduled to ship with 4 EIPs:
* EIP-2929: Gas cost increases for state access opcodes
* EIP-2930: Optional Access List Txs
* EIP-2718: Typed Transaction Envelope
* EIP-2315: Simple Subroutines
Yesterday's chain split will be cemented in Ethereum's history as an inadvertent hard fork. Let's look at exactly what the vulnerability was & how this transaction exploited it (thread): etherscan.io/tx/0x57f7f9ec3…
I also want to preface that this is completely an outsiders account of the incident & therefore everything posted here is only to the best of my knowledge. I look forward to the go-ethereum team's full disclosure of the vulnerability!
Nov 1, 2020 • 16 tweets • 3 min read
Geth's transaction pool (aka mempool) can be boiled down to a few key data structures and processes. Transactions are the main building block. They are stored on the heap while references to them populate four objects: "all", "priced", "queue", and "pending".
The "all" object is a mapping of the transaction's hash to the actual transaction object on the heap. It is the canonical source of transactions in the mempool and is used to build (and rebuild) the "priced" object.
Jun 18, 2019 • 78 tweets • 19 min read
I'm going to live tweet as I read the @Libra_ whitepapers & relate it to Eth 2.0 where I can. [THREAD]
@Libra_ I'll be reading these resources: