A short Twitter thread on the difference between first-run and second-run gas pricing constraints, which are becoming increasingly relevant for things like optimistic rollups.
1of10
Background: gas pricing tackles 3 rough categories of resource bound simultaneously. 1. DoS risks (especially relative worst case risks) 2. Sync times 3. Long term chain size costs
(some of these will change with architecture, I'm just glossing that for now).
2of10
The first two of these especially can behave very differently on the "first run" of a brand new tx on a given state, like a block producer (either L1 or L2) does blindly with user TXs, vs a "second-run" such as someone else later syncing the block or running fraud proofs.
3of10
"But Jeff!" the more security minded of you are shouting, "block producers can also launch DoS attacks, so there's no real difference!"
But there is. And it's the fact that BOTH the operations and the before/after state are known, fixed, and committed to on "second runs".
4of10
This is exactly what access lists are about: constraining both the before and after state of a TX to better bound DoS risk. A block is the extreme version of this, with both before and after state fully fixed. (sidenote: this is partly what Turbo-geth-now-Erigon is about)
5of10
To give just one concrete example, for some types of TX the user submitting it *can't* fully know which addresses/storage slots they will hit on inclusion, so even with perfect strategy their access list will include some places they don't use.
6of10
First-run gas prices *have* to reflect the worst-case uncertainty within this range, or an attacker can exploit the gap. But once a given block is compiled, the producer of that block knows *exactly* which addresses and storage slots were accessed and which changed.
7of10
Technically this difference could be reflected in adjustments to block gas limits and block rewards when appropriate metadata is attached, but that's not what this thread is about. It's about L2 design, because L2s experience this same first/second-run differential.
8of10
This means that, e.g. fraud proofs submitted on L1 from an L2 can have better access list detail (and therefore gas pricing) than the actual user TX they contain. Second runs also have no need to maintain backwards compatibility for non-access-list applications, so...
9of10
...instead of just a price differential between declared and undeclared access full safelisting would work great. This doesn't require static analysis, because it's efficient to just log these values from the first run. So do that!
10of10
• • •
Missing some Tweet in this thread? You can try to
force a refresh
I want to highlight some extremely underappreciated @gitcoin grant opportunities, starting with the one I've supported most in round 10, the @TrustGraphic Novel project by @chiefnyamweya.
@chiefnyamweya recently did a great podcast with @Kenyanpoet where they discuss the @netflix show Yasuke; representation in media; his leap from law school into comics/animation/graphic novels; and how Trust explores the future of tech+decentralization
There are plenty of CT accounts we know and love getting support on Gitcoin, but a project like @TrustGraphic genuinely has the power to introduce deep possibilities of decentralized tech to much broader audiences. This grant is criminally underfunded and well worth your .02 #ETH
They claim able to deploy funds within 1-2 weeks. Where details were lacking I checked with an MD I know who has been treating COVID in northern Canada to estimate the impact of various interventions, assuming effective triage and that each item is already a choke point.
3/X
There's an interesting pattern emerging with takes on the #ethereum#beaconchain launch. People who have been following developments closely are starting to get excited about how close the good stuff is. People who haven't are critical that it isn't here yet. And that's fine.
The whole point of a phased deployment is that the leading edge doesn't carry most of the change. People who say the beacon chain isn't impressive are perfectly welcome to keep ignoring it, while the people who are excited about where we're going keep working.
Awesome roll-up tech will keep rolling out. Awesome beacon chain tech will keep rolling out. Usability will keep going up. EVM will get BLS. The roll-ups that you're already using will get better and cheaper. PoW clients will silently switch over to respecting FFG finality.
Here's a thread to explain why millions of dollars of #ETH are being moved into this state of the art gadget, what makes it different from other #PoS systems, and why it was worth the wait!
First things first: even though the #beaconchain is being referred to as an #eth2 or "Ethereum 2.0" technology, it does not exist to replace the current Ethereum Virtual Machine we know and love as "Ethereum 1.0" today. If you're using the EVM, you're fine. It's not going away.
Instead, the beacon chain is a gadget that was planned even from before the launch of "Ethereum 1.0" to be swapped in for the #proofofwork system, called "Ethash", which currently secures that same EVM environment. blog.ethereum.org/2014/10/03/sla…
It is impossible for me to process the level of #facepalm I have just witnessed from @Bell's #business#fiber#internet alone, so you all have to share in this experience.
The fiber optic box for my #SMB internet service has a power supply with a built in UPS. Handy, right?
Internet is a critical service, and the entire device is under 25 watts, so building even a small UPS into the power supply will let it run for a very long time in the event of an outage! Great idea! Laptops and phones work when the power's out, so should the internet!
Wrong. The UPS is there for 911 phone service. So someone has actually gone to the trouble of designing a device that *knows* when the power has gone out, and continues powering the phones, but cuts the ~5 watts internet connection.
@factcheckmypost@liamihorne@ETHGlobal I don't agree with you that anything is being conflated, or that we can't know things beyond simple ranges of possible values here. Formally speaking, every bit (the computer kind) of information in your experience that is more or less likely in worlds where an EF conspiracy 1/n
@factcheckmypost@liamihorne@ETHGlobal exists is evidence that tells you *something* about the real world likelihood of that conspiracy existing in fact. That is, there are parts of your experience that have mutual entropy with the part of reality that is or is not an EF conspiracy, and this means you do in fact 2/n
@factcheckmypost@liamihorne@ETHGlobal know much more than you claim about this topic. Every different way that Vitalik could respond to a tweet, every different public decision that the EF announces, every piece of data in the blockchain, all of these are things that would be impacted by the real world existence 3/n