<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The price of agency]]></title><description><![CDATA[Ethereum, incentives and other things]]></description><link>https://barnabe.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!5Wfq!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbarnabe.substack.com%2Fimg%2Fsubstack.png</url><title>The price of agency</title><link>https://barnabe.substack.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 25 May 2026 21:24:40 GMT</lastBuildDate><atom:link href="https://barnabe.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Barnabé Monnot]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[barnabe@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[barnabe@substack.com]]></itunes:email><itunes:name><![CDATA[Barnabé Monnot]]></itunes:name></itunes:owner><itunes:author><![CDATA[Barnabé Monnot]]></itunes:author><googleplay:owner><![CDATA[barnabe@substack.com]]></googleplay:owner><googleplay:email><![CDATA[barnabe@substack.com]]></googleplay:email><googleplay:author><![CDATA[Barnabé Monnot]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[We're moving! A quick update]]></title><description><![CDATA[Follow "The price of agency" on Mirror for my latest posts]]></description><link>https://barnabe.substack.com/p/were-moving-a-quick-update</link><guid isPermaLink="false">https://barnabe.substack.com/p/were-moving-a-quick-update</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Tue, 07 May 2024 15:15:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I read somewhere that the best way to increase your subscriber count on Substack is to never send a new post. If your older posts are still relevant, they&#8217;ll still accrue new subscribers steadily. Meanwhile, if you send out something new to your existing list of subscribers, you&#8217;ll remind a lot of people of your existence and some of them will press the &#8220;Unsubscribe&#8221; button to confirm that they didn&#8217;t necessarily want to hear from you again.</p><p>Today, I am giving you the chance to push that button, <em>without feeling guilty about it</em>.</p><p>I&#8217;ve moved my operations to a more web3-native platform called <a href="https://mirror.xyz/">Mirror</a>. It&#8217;s very much like Substack, so if you meant to continue following me, you can subscribe with your email address there and it will all be kind of the same (except with added goodies like using your Ethereum wallet for signing in). <strong>Moving forward, I plan to use Mirror for new posts.</strong></p><p><em>&#8220;Is that a rug?? Am I aping into some high-risk subscription for unclear benefits?&#8221;</em></p><p>Well, if you want to hedge your bets and evaluate whether this is a good move for you, I am pleased to report that you can browse through all 5 (five!) of my already available posts over there. All you have to do is head over to <a href="https://mirror.xyz/barnabe.eth">mirror.xyz/barnabe.eth</a> (that&#8217;s my ENS in there! cool right?)</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://mirror.xyz/barnabe.eth&quot;,&quot;text&quot;:&quot;Take me to Web3&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://mirror.xyz/barnabe.eth"><span>Take me to Web3</span></a></p><p>You&#8217;ll find the following:</p><ul><li><p>A series of posts, <strong>&#8220;Semantics of Staking&#8221;</strong>, on constructing liquid staking and re-staking tokens iteratively, from a balance sheet perspective.</p><ul><li><p><a href="https://mirror.xyz/barnabe.eth/v7W2CsSVYW6I_9bbHFDqvqShQ6gTX3weAtwkaVAzAL4">Part 1: Liquefaction</a> (November 2023)</p></li><li><p><a href="https://mirror.xyz/barnabe.eth/96MD_A194uXLLjcOWePW3O2N3P-JG-SHtNxU0b40o50">Part 2: Re-staking</a> (December 2023)</p></li><li><p><a href="https://mirror.xyz/barnabe.eth/62E79gUSqiwS9NEbbfdwTdy7G9Hh098fcV38vWv8VQo">Part 3: Advanced constructions</a> (February 2024)</p></li></ul></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BZW0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BZW0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png 424w, https://substackcdn.com/image/fetch/$s_!BZW0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png 848w, https://substackcdn.com/image/fetch/$s_!BZW0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png 1272w, https://substackcdn.com/image/fetch/$s_!BZW0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BZW0!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png" width="1200" height="267.032967032967" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:324,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:346327,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BZW0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png 424w, https://substackcdn.com/image/fetch/$s_!BZW0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png 848w, https://substackcdn.com/image/fetch/$s_!BZW0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png 1272w, https://substackcdn.com/image/fetch/$s_!BZW0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494e478c-0ef3-45f1-8c37-af4c7434777a_4952x1102.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">From &#8220;<a href="https://mirror.xyz/barnabe.eth/62E79gUSqiwS9NEbbfdwTdy7G9Hh098fcV38vWv8VQo">Part 3: Advanced constructions</a>&#8221;</figcaption></figure></div><ul><li><p>Two posts on <strong>Proposer-Builder Separation (PBS)</strong> and newer things that came up, such as Execution Tickets, Attester-Proposer Separation, preconfirmations, recent enshrined PBS developments, as well as old friends such as Protocol-Enforced Proposer Commitments (PEPC).</p><ul><li><p><a href="https://mirror.xyz/barnabe.eth/LJUb_TpANS0VWi3TOwGx_fgomBvqPaQ39anVj3mnCOg">Reconsidering the market structure of PBS</a> (March 2024)</p></li><li><p><a href="https://mirror.xyz/barnabe.eth/QJ6W0mmyOwjec-2zuH6lZb0iEI2aYFB9gE-LHWIMzjQ">More pictures about proposers and builders</a> (April 2024, honestly read that one if you only check one of these out)</p></li></ul></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eeML!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eeML!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png 424w, https://substackcdn.com/image/fetch/$s_!eeML!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png 848w, https://substackcdn.com/image/fetch/$s_!eeML!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png 1272w, https://substackcdn.com/image/fetch/$s_!eeML!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eeML!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png" width="1200" height="564.5604395604396" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:685,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:932803,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eeML!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png 424w, https://substackcdn.com/image/fetch/$s_!eeML!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png 848w, https://substackcdn.com/image/fetch/$s_!eeML!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png 1272w, https://substackcdn.com/image/fetch/$s_!eeML!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa10da4-a169-4395-9153-8d33fe78c8cb_4152x1952.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">From &#8220;<a href="https://mirror.xyz/barnabe.eth/QJ6W0mmyOwjec-2zuH6lZb0iEI2aYFB9gE-LHWIMzjQ">More pictures about proposers and builders</a>&#8221;</figcaption></figure></div><p>You&#8217;ll notice that my writing has picked up the pace. It&#8217;s just been a few good months. The RIG team is on fire (check out <a href="https://robustincentives.substack.com/">our newsletter on Substack</a>, before we move that too to Mirror &#128512;) and I owe a lot to the energy they bring. We have a new address for all of our work, so make sure to check that out too:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://rig.ethereum.org&quot;,&quot;text&quot;:&quot;rig.ethereum.org&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://rig.ethereum.org"><span>rig.ethereum.org</span></a></p><p>Anyways, I do want you to leave with a nice feeling. The next button may have to do with points. It may not. Who knows? No one does, unless those who pushed that button. Will you be one of them?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.youtube.com/watch?v=dQw4w9WgXcQ&quot;,&quot;text&quot;:&quot;Points! (maybe)&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.youtube.com/watch?v=dQw4w9WgXcQ"><span>Points! (maybe)</span></a></p><p>Love you all &#10084;&#65039; </p>]]></content:encoded></item><item><title><![CDATA[Seeing like a protocol]]></title><description><![CDATA[Where does protocol credibility come from?]]></description><link>https://barnabe.substack.com/p/seeing-like-a-protocol</link><guid isPermaLink="false">https://barnabe.substack.com/p/seeing-like-a-protocol</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Mon, 10 Apr 2023 09:20:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the past months, I&#8217;ve harped on <a href="https://barnabe.substack.com/p/pbs">Proposer-Builder Separation</a>, and the <a href="https://youtu.be/9h_KImfWXn4">Principal-Agent Problem</a> more generally. One reason is the depth of research questions, bringing in the mix considerations from both the consensus layer and the execution layer, plus everything in-between, such as MEV, the <a href="https://efdn.notion.site/ROP-5-Ethereum-Supply-Network-Health-Framework-66b81aa8b486496aa3b95cb5b619137b">transaction supply network</a>, and the growing web of out-of-protocol markets and institutions.</p><p>Ultimately though, the reason why I think PBS is so interesting has more to do with its role as a kind of Rosetta stone for where protocol development is headed. Some of it has to do with the political economy of the protocol versus the layers built on top of it. Should protocol development be purely reactive, and always attempt to run behind the latest ball thrown to it by its upper layers? It&#8217;s a gross simplification that overlooks both the virtuous feedback cycle orienting protocol development, and the ability to set the tempo, for instance the case of re-focusing towards a rollup-centric roadmap.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> But it&#8217;s a working simplification that is often deployed when people talk about PBS, with a view that the protocol is one step behind where every other player has moved on to, and eternally condemned to follow.</p><p>More of it has to do with a fundamental question that I&#8217;ve come to think of as the protocol&#8217;s boundaries, specifically our ability to define them, and our ability to defend them. To explore this boundary, we need to understand what gives a protocol mechanism <em>credibility</em>, and how this credibility is strengthened or eroded by other mechanisms in the protocol&#8217;s environment, beyond its boundaries.</p><h2>Fence-breaking</h2><p>I start here from the view that the validator set is a very expensive Schelling fence, the fence representing the common expectation of the protocol&#8217;s agents behaviour. Staking is an act of costly signalling, embodying the message &#8220;I am willing to lose part or all of this stake, should I act contrary to the protocol&#8217;s aims&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VDQx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VDQx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png 424w, https://substackcdn.com/image/fetch/$s_!VDQx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png 848w, https://substackcdn.com/image/fetch/$s_!VDQx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png 1272w, https://substackcdn.com/image/fetch/$s_!VDQx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VDQx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png" width="1456" height="286" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:286,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111467,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VDQx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png 424w, https://substackcdn.com/image/fetch/$s_!VDQx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png 848w, https://substackcdn.com/image/fetch/$s_!VDQx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png 1272w, https://substackcdn.com/image/fetch/$s_!VDQx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F299e67bf-9780-4b57-ab0e-db6818c00167_1506x296.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">The Ethereum protocol delegates its execution to a network of validators.</figcaption></figure></div><p>The fence comes with fancy gadgets, automating away the burden of rewarding good behaviour and punishing bad. The rewards and punishments are doled out in graduated measures, treading a line between harshness spooking away more security than it guarantees, and softness allowing bad actors&#8217; influence to act upon the system for longer.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rCbr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4750ca82-47ea-47e9-977e-49359665910b_2854x754.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rCbr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4750ca82-47ea-47e9-977e-49359665910b_2854x754.png 424w, https://substackcdn.com/image/fetch/$s_!rCbr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4750ca82-47ea-47e9-977e-49359665910b_2854x754.png 848w, https://substackcdn.com/image/fetch/$s_!rCbr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4750ca82-47ea-47e9-977e-49359665910b_2854x754.png 1272w, https://substackcdn.com/image/fetch/$s_!rCbr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4750ca82-47ea-47e9-977e-49359665910b_2854x754.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rCbr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4750ca82-47ea-47e9-977e-49359665910b_2854x754.png" width="1456" height="385" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4750ca82-47ea-47e9-977e-49359665910b_2854x754.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:385,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:554953,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rCbr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4750ca82-47ea-47e9-977e-49359665910b_2854x754.png 424w, https://substackcdn.com/image/fetch/$s_!rCbr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4750ca82-47ea-47e9-977e-49359665910b_2854x754.png 848w, https://substackcdn.com/image/fetch/$s_!rCbr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4750ca82-47ea-47e9-977e-49359665910b_2854x754.png 1272w, https://substackcdn.com/image/fetch/$s_!rCbr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4750ca82-47ea-47e9-977e-49359665910b_2854x754.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The protocol specifies a set of behaviours which lead to rewards or penalties for agents executing the protocol. These agents ultimately produce a blockchain, which hopefully matches what the protocol attempts to induce, e.g., a re-org-free, censorship-free, maximally welfare-achieving chain of blocks.</figcaption></figure></div><p>Yet &#8220;protocol aims&#8221; extend much further than the gadgets reach. Here is an imperfect way of stating it: <strong>There are things that the protocol does not see, but cares about.</strong> But this formulation is wrong in the absolutist view of the protocol, where the protocol is <em>only and exactly</em> what it sees. What it does not see, but cares about, resides in the <em>expectations</em> of all agents involved in the execution of the protocol, from validators to users and everyone else in-between, what&#8217;s broadly referred to as &#8220;the community&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mT1G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mT1G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png 424w, https://substackcdn.com/image/fetch/$s_!mT1G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png 848w, https://substackcdn.com/image/fetch/$s_!mT1G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png 1272w, https://substackcdn.com/image/fetch/$s_!mT1G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mT1G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1890905,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mT1G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png 424w, https://substackcdn.com/image/fetch/$s_!mT1G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png 848w, https://substackcdn.com/image/fetch/$s_!mT1G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png 1272w, https://substackcdn.com/image/fetch/$s_!mT1G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1eb30b77-93f4-486a-9fde-bfa13fffa933_3898x2192.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The protocol extends widely, but does not see all which validators do.</figcaption></figure></div><h3>Case studies of fence-breaking</h3><p>The community has an oral tradition for what exactly would be seen as breaking the fence (even when the fence itself does not realise it is broken!) and its response in kind. Let&#8217;s review some of them, and in doing so, appreciate <em>how much </em>the protocol does not see.</p><ul><li><p><strong>Producing a safety fault in the finality gadget in an attempt to revert a finalised block</strong><br>Definitely breaking the fence, requires social input in the form of selecting the valid finalised checkpoint among available options. After which point the widespread slashing of the double-finalisers is done in the regular protocol logic, by including evidence of faults.</p></li><li><p><strong>Bribing attesters to mess with the fork choice and re-org blocks (~ &#8220;hard censorship&#8221;)</strong><br>Very likely breaking the fence, fork out members of the bribed committees.</p></li><li><p><em><strong>Intentionally </strong></em><strong>finalising an invalid and </strong><em><strong>malicious</strong></em><strong> state transition</strong><br>Someone is trying to steal something by rewriting the state and hoping it will become canon. Definitely breaking the fence, fork out members of the finalising committee.</p></li><li><p><em><strong>Intentionally</strong></em><strong> finalising an invalid, but </strong><em><strong>honest</strong></em><strong> state transition</strong><br>The DAO was one of these, a rare example of the community overruling the protocol it set up in the first place (&#8220;well actually, we didn&#8217;t mean for you to do <em>that</em>&#8221;). To some, this did not break the fence, i.e., it did not require intervention of the miner set to defend against the invalid transition. To others, it was such a break, which was defended against by forking out non-compliant miners and launching Ethereum Classic.</p></li><li><p><em><strong>Unintentionally </strong></em><strong>finalising an invalid state transition, e.g., as a result of a consensus bug in some majority client</strong><br>Breaking the fence, but either &#8220;reboot&#8221; from the last valid state transition, or go along with it, and pretend like the fence had never been broken to begin with, while the faulty clients are fixed?</p></li><li><p><strong>Untimely performance of validator duties<br></strong>Also known as <a href="https://efdn.notion.site/ROP-0-Timing-games-in-Proof-of-Stake-385f0f6279374a90b52bf380ed76a85b">timing games</a>, validators may have conflicting incentives regarding the timeliness of their duties. They may want to delay proposing a block until the last possible moment to obtain more MEV rewards, or may want to delay voting as attesters to ensure correctness. This <em>silently</em> breaks the fence, as the protocol&#8217;s idea of time is entirely based on the rhythm of validators performing their duties, but the community could likely recognise validators who are untimely with statistical significance and do something about it.</p></li><li><p><strong>DoS-ing validators to prevent them from proposing, losing rewards accumulating to online non-DoS&#8217;d validators</strong><br>Breaking the fence, but identifying culprits is hard, unclear what would happen.</p></li><li><p><strong>Including transactions which were not gossiped over the public Ethereum mempool</strong><br>That fence was probably broken first by miner payments to themselves/their pool (perhaps this was judged to be fine), then by exclusive inclusion agreements offered by mining pools.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p></li><li><p><strong>Ordering block content differently than descending gas price</strong><br>Not clear it was the original fence to begin with, some may judge ordering transactions by anything other than receive-time (assuming some reserve price is met when supply is constrained) is fence-breaking. But along with exclusive transactions, that fence was broken with the appearance of MEV on the scene, and allowed non-protocol actors to determine block ordering out-of-band.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OL-N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OL-N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png 424w, https://substackcdn.com/image/fetch/$s_!OL-N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png 848w, https://substackcdn.com/image/fetch/$s_!OL-N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png 1272w, https://substackcdn.com/image/fetch/$s_!OL-N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OL-N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png" width="1456" height="820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1918346,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OL-N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png 424w, https://substackcdn.com/image/fetch/$s_!OL-N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png 848w, https://substackcdn.com/image/fetch/$s_!OL-N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png 1272w, https://substackcdn.com/image/fetch/$s_!OL-N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94cd8dd3-a5cf-4842-b86d-e0ddf4ed9ce0_3900x2196.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Block ordering escaped from the purview of the protocol, or, depending on where you stand, it was never really there to begin with.</figcaption></figure></div></li><li><p><strong>Outsourcing block production entirely</strong><br>Well that&#8217;s the logical endpoint of the two previous fence-breaking examples. There was likely an implicit expectation that validating and block building were not two different things, but it turns out this too can be modularised.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XFjk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XFjk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png 424w, https://substackcdn.com/image/fetch/$s_!XFjk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png 848w, https://substackcdn.com/image/fetch/$s_!XFjk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png 1272w, https://substackcdn.com/image/fetch/$s_!XFjk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XFjk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1694215,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XFjk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png 424w, https://substackcdn.com/image/fetch/$s_!XFjk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png 848w, https://substackcdn.com/image/fetch/$s_!XFjk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png 1272w, https://substackcdn.com/image/fetch/$s_!XFjk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07f3f092-8e57-410a-8465-f03c52e17395_3900x2190.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Anything not sold is for sale.</figcaption></figure></div></li></ul><ul><li><p><strong>Proposer cartel to bring down the EIP-1559 base fee to ~0, extracting transaction fees for themselves<br></strong>In this attack, a cartel of block producers underfills their blocks to drive the base fee to zero over time, capturing congestion fees via priority fees instead of them being burned. This attack is described in <a href="https://timroughgarden.org/papers/eip1559.pdf">Roughgarden&#8217;s analysis of EIP-1559</a>, section 7. The attack may be combined with artificial supply constraining to extract monopoly rent out of the latent demand for blockspace.</p><ul><li><p><em>With re-orgs/censorship of blocks deviating from the cartel</em><br>Back to the case above dealing with validators performing hard censorship, this is very likely breaking the fence, fork out members of the cartel.</p></li><li><p><em>Without re-orgs/censorship of blocks deviating from the cartel</em><br>At any point during the attack, any cartel member has a myopic, greedy incentive to deviate and grab the fees left on the table by other cartel members who underfill their blocks. This creates instability in the collusion dynamics of the cartel. Members of the cartel who are not deviating probably still do break the fence, and the community may fork out these members, unless the cartel implodes before that.</p></li><li><p><em>With mev-burning activated</em><br>Assuming a competitive builder market, <em>all</em> value extracted is lost to validators anyways, since builders compete to give away as much fees to the protocol, including congestion fees if they are not burned by EIP-1559 in the first place. mev-burning potentially weakens the incentive to run the &#8220;base fee to 0&#8221; attack in the first place.</p><ul><li><p><em>Bribing attesters to defeat mev-burning mechanism and report 0 to the protocol</em><br>But the mev-burning mechanism relies on an honest majority of attesters, who enforce the credibility of the auction on behalf of the protocol. If this honest-but-rational majority was defeated by bribing, the community could decide to fork them out too.</p></li></ul></li></ul></li><li><p><strong>Systematic censorship from identifiable validators</strong><br>Probably breaking the fence, potentially triggering a fork.</p></li></ul><h3>Protocol introspection and protocol agency</h3><p>Reading through this, we sense a general pattern, or recurring themes:</p><h4>Protocol introspection</h4><p>The protocol gains <strong>introspection</strong>, a measure of legibility of its own operations, via <strong>credible signals</strong>. For instance, the FFG consensus mechanism provides introspection for the finality of a chain prefix, based on an accountable consensus gadget. The base fee provides introspection for the <a href="https://barnabe.substack.com/p/congestion-control-and-eip1559">measure of congestion</a> in the system. mev-burning would rely on <a href="https://barnabe.substack.com/i/82304191/recovering-the-true-pbs-value-via-consensus-bids-and-protocol-capture">consensus bids</a>, which reveal a credible signal of block value to the proposer (in excess of what EIP-1559 removes via the burn).</p><p>Based on the signal we receive, when do we know the fence was broken? This signal ranges from unequivocal (the finalisation of two conflicting checkpoints is legible to the protocol) to more ambiguous (a re-org of the available portion of the chain or the base fee being driven to zero may not indicate malicious intent). This knowledge is also viewer-dependent: something unequivocal from the protocol&#8217;s perspective is unequivocal to the community, but the converse does not always hold.</p><h4>Protocol agency</h4><p>When the fault is legible to the protocol, it may also be <strong>actionable</strong>. If two conflicting checkpoints are finalised, protocol users only need to coordinate on which side to use as legitimate continuation of the chain, and the protocol&#8217;s slashing facility takes care of the rest.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a> Not so with the &#8220;base fee driven to zero&#8221; signal: while unlikely that the demand for Ethereum blockspace is below the target supply, it is not entirely out of the question either. If the protocol cannot make up its mind on the presence of a fault, it also cannot do anything about it.</p><p>Agency is enhanced by <strong>accountability</strong>. If we can recognise the fault, can we unambiguously <em>attribute</em> the fault once it is recognised? Here again, sometimes both the protocol and the community recognise guilty parties, sometimes the community alone does, and sometimes even that is not clear (e.g., DoS-ing the next proposer). For non-attributable faults, e.g., an offline validator, the protocol must rely on a noisy signal (missed slots or wrong votes) to attribute penalties.</p><h2>Case studies in upgrading the fence</h2><p>A large number of upgrades found on <a href="https://twitter.com/VitalikButerin/status/1588669782471368704">Vitalik&#8217;s yearly roadmaps</a> aim to achieve the following: Push forward the limits of what the protocol sees, and upgrade its arsenal of automated defence systems.</p><p>We now revisit the case studies and show how these mechanisms increase protocol introspection and agency.</p><ul><li><p><strong>Producing a safety fault in an attempt to &#8220;unfinalise&#8221; a finalised event</strong><br><a href="https://notes.ethereum.org/@adiasg/weak-subjectvity-eth2">Weak subjectivity</a> is the ultimate limit of the protocol, at some point the choice to restart from a &#8220;good&#8221; checkpoint versus a &#8220;malicious&#8221; option lies in a social determination process, unless you believe &#8220;good&#8221; = &#8220;(wall-clock) earliest&#8221; and are willing to trust Babylon chain-like constructions to feed you that signal credibly.</p></li><li><p><strong>Bribing attesters to mess with the fork choice and re-org blocks</strong><br><a href="https://arxiv.org/abs/2302.12745">Single Slot Finality (SSF)</a> pushes most re-org scenarios to the case of a safety fault of the finality gadget, which is assumed to have some measure of automated recovery mechanism, as described in the point above. If not enough validators attest to the finality, the re-org is one of the available chain, for which legibility is not so clear. Yet with SSF, we provide legibility more rapidly than with the <a href="https://barnabe.substack.com/p/pos-ethereum-reorg">current Gasper protocol</a>.</p></li><li><p><em><strong>Intentionally </strong></em><strong>finalising an invalid and </strong><em><strong>malicious</strong></em><strong> state transition</strong><br>Enshrined fault or validity proofs could trigger automated punishments against this, at both consensus and execution layers (e.g., slashing validators who propose invalid blocks).</p></li><li><p><em><strong>Intentionally</strong></em><strong> finalising an invalid, but </strong><em><strong>honest</strong></em><strong> state transition<br></strong>Here is an example where the protocol&#8217;s own introspection of its validity is disabled by the community, an instance of a <em>down</em>grade.</p></li><li><p><em><strong>Unintentionally </strong></em><strong>finalising an invalid state transition, e.g., as a result of a consensus bug</strong><br>Today, the protocol&#8217;s introspection of its validity relies on a majority of validators applying the block validity rules when building the chain. The protocol gains further introspection into the validity of its state transitions with validity proofs, e.g., via a native zkEVM, assuming the circuit of the state transition function (STF) is correctly programmed. Should a validator client produce invalid proofs (e.g., if it has misrepresented the STF), the blocks it produces will be ignored.</p></li><li><p><strong>Untimely performance of validator duties<br></strong>Attesters function as ultimate arbiters of the timeliness, giving weight to forks via their votes, which succinctly express their current view of the chain. Despite this, fork choice upgrades such as <a href="https://github.com/ethereum/consensus-specs/pull/2197">(block, slot)-fork choice</a> intend to provide a finer decision space over the outcomes of the available chain, e.g., was the block received <em>on time</em>, if it was received at all?</p></li><li><p><strong>DoS-ing validators to prevent them from proposing, losing rewards accumulating to online non-DoS&#8217;d validators</strong><br><a href="https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763?u=barnabe">Secret Single Leader Election (SSLE)</a> keeps private the identity of the proposing validator to all but the proposer themselves, until the block is proposed. In this case, the protocol does not see the identity of the next proposers, which prevents some targeted griefing.</p></li><li><p><strong>Including transactions which were not gossiped over the public Ethereum mempool</strong><br>There is no roadmap item for this attack, but should there be one, it would likely rely on some kind of consensus gadget over mempool contents (&#8220;was this transaction seen by most members of the committee?&#8221;), allowing only transactions certified as broadly seen by the validating set to enter any block.</p></li><li><p><strong>Ordering block content differently than descending gas price</strong><br>There are many ways to bind proposers to a specific ordering. Additional block validity conditions could require a certain ordering, e.g., descending gas price. Ordering protocols such as <a href="https://eprint.iacr.org/2021/1465">Themis</a> are basically mempool consensus, with the additional property of surfacing an ordered list in addition to a membership set. Block validity could depend on receiving a certificate from a round of Themis.</p></li><li><p><strong>Outsourcing block production entirely<br></strong>Enshrined PBS attempts to bring back some level of control, regulating the conditions under which block proposers outsource block construction to third-parties. Including consensus bids towards MEV capture and redistribution by the protocol further improves the credibility of the PBS auction signal.</p></li><li><p><strong>Proposer cartel to bring down the EIP-1559 base fee to ~0, extracting transaction fees for themselves<br></strong>The mempool consensus gadget would surface to the protocol the signal that though there is enough demand meeting the reserve price, blocks are kept artificially empty. This signal could be used to ignore blocks which don&#8217;t include all transactions in the mempool consensus set, enabling protocol agency.</p></li><li><p><strong>Systematic censorship from identifiable validators</strong><br><a href="https://barnabe.substack.com/i/82304191/inclusion-lists-fka-crlists">Inclusion lists</a> prepared by honest validators function as censorship signals and defences. A censoring validator always has the option to not propose a block in case they do not wish to respect the inclusion list, or artificially stuff their block to satisfy the inclusion list fallback requirement. In both cases, the censoring validator profit is hurt, even when the cost of stuffing the block is higher than the revenue received by censoring validators from private order flow. Attesters uphold the validity and the satisfaction of an inclusion list, via the fork choice.</p></li></ul><p>Most gadgets above surface a signal by relying on some form of consensus, supported by honest majority arguments, or supermajority in the case of ordering protocols or gadgets relying on BFT-like constructions. Likewise, these signals may be disabled or made non-credible by a concerted cartel, who additionally must censor attempts from members to defect from the cartel.</p><p>In Ethereum Proof-of-Stake, it is relatively easy to summon a committee running any or all of these gadgets. Each slot, a proposer is called upon to make a block, after which a row of attesters, sampled from the larger set of active validators, 1/32nd of the whole set per slot, gets to make a vote embodying their view of the current available chain and finality gadget. Via sampling, committees are assumed to have an honest majority of members with high probability. Various proposals were put forward to overload the attesters with more duties, such as the <a href="https://ethresear.ch/t/shutterized-beacon-chain/12249?u=barnabe">Shutterized Beacon Chain</a>, which adds a threshold commit-reveal scheme for encrypted transactions to the execution payload.</p><h2>The protocol must only see what it is willing to defend</h2><p>We&#8217;re starting this section with a title cutting the argument short, giving away its conclusion, but let&#8217;s see how we might get there.</p><h3>The protocol as commitment device</h3><p>My read on protocol development is that it has been inspired so far by the contrapositive: <strong>the protocol cannot defend what it does not see.</strong> Indeed, without a credible signal actionable upon by the protocol, there is no way for the <em>protocol</em> to do anything about an act of fence-breaking, though its <em>community</em> might be able to do something about it. Naturally, this view drives the protocol towards ever-greater extension of its boundaries.</p><p>I started many recent talks by talking about the &#8220;root&#8221; Principal-Agent problem (PAP), where the Protocol delegates its execution to Validators, who hopefully follow the letter of the Protocol&#8217;s specifications. But as it turns out, this is not even the root PAP, as it is preceded by the Community delegating its will to the Protocol itself. The protocol itself functions as a commitment device, embodying the will of the community. <strong>The act of placing agency at protocol-level, rather than in the hands of the community, is how credibility is created.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YCL1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YCL1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png 424w, https://substackcdn.com/image/fetch/$s_!YCL1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png 848w, https://substackcdn.com/image/fetch/$s_!YCL1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png 1272w, https://substackcdn.com/image/fetch/$s_!YCL1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YCL1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png" width="1456" height="179" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:179,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:165309,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!YCL1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png 424w, https://substackcdn.com/image/fetch/$s_!YCL1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png 848w, https://substackcdn.com/image/fetch/$s_!YCL1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png 1272w, https://substackcdn.com/image/fetch/$s_!YCL1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa874faea-4f8e-416a-b240-ae868972ac2b_2330x286.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">The community uses the Ethereum protocol as a commitment device, but will validators who excute the commitment behave honestly?</figcaption></figure></div><p>This sleight of hand engineers credibility: It is not as if the community was powerless&#8212;it could always step in and hardwire the outcomes it cares about, as it has done with the DAO&#8212;but by setting up an automaton in the shape of a protocol, it stands a step removed from the fray.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a> The automaton is given powers via introspection and agency, so we summarise this construction with the following rule:</p><blockquote><p>Protocol credibility = Protocol introspection + Protocol agency</p></blockquote><p>The trade-off with building in credibility is <strong>prescriptivity</strong>. To adequately defend a particular outcome which is part of the will of the community, the protocol must become opinionated about this specific outcome becoming realised, e.g., transactions being ordered by some receive-time consensus protocol, the base fee being burned, the PBS auction selling the whole block, the built blocks respecting the censorship resistance gadgets etc. This creates risk that the protocol locks in a suboptimal outcome, where welfare is lower, or inadequately distributed. But more importantly, it overloads the validator set, which is two steps removed from the community, with the duty to defend a wider and wider fence.</p><p>Two forces act over time, one positive, one negative. As time goes on, the protocol successfully defending the community&#8217;s will enshrines the outcome further, a kind of Lindy effect, where the outcome (e.g., keep base fee credible) becomes more and more defensible, or incontestable. On the other hand, as Ethereum matures, as its economy complexifies and becomes further embedded in a wide net of dependencies and interactions, the incentives of validators will be more directly shifted. New domains such as <a href="https://writings.flashbots.net/the-future-of-mev-is-suave/">SUAVE</a> or <a href="https://www.eigenlayer.xyz/">Eigenlayer</a> function as out-of-protocol credibility engines, where validator payoffs may be <a href="https://medium.com/@virgilgr/ethereum-is-game-changing-technology-literally-d67e01a01cf8">warped</a> by games over which the protocol has no &#8220;extrospection&#8221;. With shifting payoffs, the gap between <em>honest</em> and <em>rational</em> behaviour of validators with respect to the protocol&#8217;s specifications further widens. This is especially true when suboptimal outcomes are locked in by the protocol, since then the <a href="https://www.santafe.edu/news-center/news/wolpert-aaec-game-mining">game warper can directly bribe validators from the welfare gap</a>: If censorship gadgets destroy revenue, the game warper can use the lost revenue to subsidise deviations from the gadget, by committing to the bribe <em>ex ante</em> but executing it <em>ex post</em><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-6" href="#footnote-6" target="_self">6</a>, once the revenue was captured.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bqY9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bqY9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png 424w, https://substackcdn.com/image/fetch/$s_!bqY9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png 848w, https://substackcdn.com/image/fetch/$s_!bqY9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!bqY9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bqY9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2593535,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bqY9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png 424w, https://substackcdn.com/image/fetch/$s_!bqY9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png 848w, https://substackcdn.com/image/fetch/$s_!bqY9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png 1272w, https://substackcdn.com/image/fetch/$s_!bqY9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25232288-1b08-470c-a6e2-1d7a1df4a2cd_2828x1590.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Validators are the meeting point of the protocol and a web of infrastructure which directly shifts validator incentives by introducting principal-agent problems (PAPs)</figcaption></figure></div><h3>How protocol credibility is built</h3><p>Reassessing the exact locus of power of the protocol has shifted my view with respect to protocol development. I do not believe that we <em>only</em> engineer protocol credibility by building in more upgrades and extending the area of protocol introspection and agency. What I believe to be equally correct is that we <em>also </em>engineer protocol credibility whenever we build in upgrades to realise outcomes we know the community would defend <em>once they were built into the protocol</em>.</p><blockquote><p>Protocol credibility = Protocol introspection + Protocol agency <em>+ Defence of last resort by the community</em></p></blockquote><p>Today the community is not enforcing mev-burning. Without building a credible mechanism in-protocol, burning MEV according to the community&#8217;s will (if it is indeed the will) is hard. A strawman argument explains it. There could be a broad, non-protocolised agreement that validators must set their fee recipient to the null address, and burn all rewards they receive, under the threat of being ignored and re-orged. But only requiring validators to set their fee recipient to the burn address would not be sufficient to &#8220;have mev-burning&#8221;, as validators could simply capture MEV with a different address. This deviation is illegible to the protocol, though potentially legible to the community.</p><p>The legibility and accountability of a fault is increased when validators are required to build their block with the highest bid they have received from some <em>permissionless</em> auction, the permissionless nature guaranteeing competitivity and thus credibility of the bid as representation of the true value of the block. In all current proposals for mev-capture at protocol-level, this requirement is enforced by an honest majority of attesters who turn down blocks committing to a bid lower than their view of the best offer, creating consensus over the value of the best offer. Protocolising mev-capture is then the act of deputising attesters as data availability oracles and timeliness agents, where the data are the bids. It could be done out-of-protocol, without enshrining deputised protocol agents who function as oracles, by relying on a fuzzier oracle such as the community monitoring a public channel for bids and gathering evidence of deviations (&#8220;we&#8217;ve all seen the bid in time, but the proposer didn&#8217;t use it!&#8221;) The former option creates credibility by &#8220;defining clear group boundaries&#8221; and providing &#8220;effective monitoring by monitors who are part of or accountable to the appropriators&#8221;, <a href="https://en.wikipedia.org/wiki/Elinor_Ostrom#Design_principles_for_Common_Pool_Resource_(CPR)_institution">the first and fourth principles in Ostrom&#8217;s set for managing the commons</a>, where &#8220;the group&#8221; is composed of staked parties who commit to enforcing the rules of the protocol, erecting the Schelling fence one Gwei at a time.</p><p>So building in mev-burning with a credible mechanism at protocol-level does not technically enable more than we could do <em>today</em>, but it socially engineers credibility by letting our favourite automaton pretend as if it was responsible for mev-burning taking place. Protocolising is an act of commitment, and the commitment is certainly weaker whenever the mechanism embodying the commitment is non-credible, e.g., if it is clear from game-theoretic analysis that even a somewhat weak collusion of players can defeat the mechanism, as protocol-illegible side contracts/off-chain agreements do in naive designs for EIP-1559 or mev-burning. But eventually, even a credible mechanism may be defeated by the honest majority assumption which underpins most of the protocol&#8217;s mechanisms. Once the mechanism is deployed, it is a shot in the dark whether the mechanism will eventually be defeated, especially when out-of-protocol incentives shift validator behaviour and the community is not willing to step in to defend it.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/0xQuintus/status/1639801807214968832&quot;,&quot;full_text&quot;:&quot;If txn tips are considered MEV, wouldn&#8217;t MEV smoothing lead to collusion being much more appealing around 1559? Gains from breaking collusion are much worse and benefits from maintaining artificially low burn are more reliable?\n\n (h/t <span class=\&quot;tweet-fake-link\&quot;>@benafisch</span> who got me thinking about this)&quot;,&quot;username&quot;:&quot;0xQuintus&quot;,&quot;name&quot;:&quot;Quintus&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Sun Mar 26 01:29:51 +0000 2023&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:0,&quot;like_count&quot;:2,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><h3>The role of protocol development</h3><p>So we have a protocol which is in constant conversation with its environment, between validators who partly escape the protocol&#8217;s purview and a community whose will is imperfectly embodied by the protocol. In this framing, there is no room for a Platonic view of protocol development, where we always move further towards an idealised shape, perhaps what Bitcoin is chasing after. In contrast, protocol development is informed by the political economy of institutions in its environment, where the protocol is one among an ever-expanding web of many other institutions.</p><p>To create credibility here, casting the spell of extending the protocol&#8217;s boundaries with further introspection and agency is not enough, if other institutions work towards eroding credibility by shifting incentives of the protocol&#8217;s agents. <strong>Credibility is fully obtained whenever it is clear that the community is willing to defend the protocol&#8217;s preferred outcomes in the last resort</strong>, forcing the outcomes it cares about even at the cost of forking out part of the validator set. So, rather than the protocol not being able to defend what it cannot see, we may counter that <strong>the protocol must only see what it is absolutely willing to defend</strong>, lest we be mislead into thinking the protocol ultimately represents our will.</p><p>This high bar may be too high. There may be upgrades we build in for which we, as a community, do not entirely gauge how important the outcomes induced by the upgrade are to us. In fact, I would argue that this is probably true of all upgrades done so far, since they are first and foremost researched, implemented and deployed by a fairly small set of people, until they become canon to the rest of the community.</p><p>Yet framing the question in these terms (&#8220;<em>Is this something we will defend beyond the protocol&#8217;s execution if it comes to that?</em>&#8221;) may be a forcing function to examine how far the credibility of our upgrade extends. It is also a helpful guide to understand the privilege of the protocol&#8217;s position in its environment, as meeting place of the will of a community and of the networked interactions of economic agents and infrastructure who ultimately answer to the validator set. In doing so, we hopefully obtain a more accurate view of the balance of power between the protocol and the larger system in which it lives and evolves, informing the development process further.</p><div><hr></div><h3>Going further</h3><p>For more, I recommend watching the entire <em><a href="https://www.youtube.com/live/t3sL0sCJFzk?feature=share">mevconomics.wtf</a></em> replay. Phil discusses protocol development as &#8220;dangling the nuclear option&#8221; to backstop the behaviour of out-of-protocol agents, a view in line with the balance of power argument exposed above. Vitalik points out several questions related to figuring out which upgrades to consider with respect to protocol economics (a cute example: SSLE may be partly defeated by validators choosing to reveal their identity in order to capture economic benefits). Tarun discusses a specific &#8220;welfare gap&#8221; example, for ordering protocols. Sreeram mentions some Eigenlayer applications as well as potential risks. Finally, some of the above-written is discussed in a fireside chat between Davide, Justin, Jon and myself.</p><p><em>Many thanks to Xyn for his work on permissionless credible commitment devices, and to many discussions with teammates and friends on this post.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://barnabe.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The price of agency! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Or was that a reaction to the complexity explosion of sharding?</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Specifically, attributable faults lead to slashing, a significant loss of stake for malicious validators, which gets more significant as the size of the malicious set grows. Meanwhile, non-attributable faults such as validators being offline or voting on wrong, but non-conflicting items, lead to &#8220;inactivity leaks&#8221; and small, possibly recurrent penalties, as long as the fault lasts.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>We use <em>exclusive</em> to refer to transaction flow that is not gossiped publicly before making it into a block, and <em>private</em> to refer to transaction flow made private via e.g., encryption.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>And if &#8220;<a href="https://subconscious.substack.com/p/feedback-is-all-you-need">Feedback is all you need for agency to emerge</a>&#8221;, then our correcting the protocol when it errs means Ethereum is intelligent??</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>An identical sleight of hand is performed whenever a lawyer is contracted to enforce the will of its client, or when a company drafts a policy which both constrains and protects its own members. This phenomenon is well-known to game theorists.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-6" href="#footnote-anchor-6" class="footnote-number" contenteditable="false" target="_self">6</a><div class="footnote-content"><p>I learned that this has to do with smart transactions and MEV-time oracles...</p></div></div>]]></content:encoded></item><item><title><![CDATA[Notes on Proposer-Builder Separation (PBS)]]></title><description><![CDATA[Threading together multiple strands, for a more coherent picture]]></description><link>https://barnabe.substack.com/p/pbs</link><guid isPermaLink="false">https://barnabe.substack.com/p/pbs</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Tue, 08 Nov 2022 17:11:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xAs1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong>Before we get started:</strong> Dear e-mail subscriber, due to the length of this post, it is possibly truncated by your e-mail client! If things end abruptly, take a look at the post online by clicking on the title. Thank you for reading :)</em></p><div><hr></div><p>Proposer-Builder Separation (PBS) is a hotly debated topic, a broad design philosophy emphasising the relationship between protocol and non-protocol actors for the maintenance and operation of a blockchain. While the discussion has now been active for over a year, the Merge first and Devcon second brought much more resources and attention to PBS. In this post, I provide my own take on the state of PBS research, necessarily a partial view but one that I hope helps make sense of where we are and what remains to be done.</p><h2>What is PBS?</h2><p>Beyond a single mechanism specification or implementation, PBS is first and foremost a design philosophy, recognising that protocol actors may invoke services from third-parties in the course of their consensus duties. By &#8220;protocol actor&#8221;, we mean in Ethereum Proof-of-Stake any bonded and active validator, expected to perform duties ranging from proposing a block, producing attestations or participating in the current sync committee.</p><h3>Pre-Merge: bundle searchers and mev-geth</h3><p>To some extent, PBS started previous to the Merge and Ethereum turning to Proof-of-Stake. We consider <a href="https://twitter.com/superphiz/status/1588214856846540801">&#8220;default behaviour&#8221;</a> the block producer behaviour which simply takes a set of transactions from their transaction pool and packs them as efficiently as possible in a block.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> The first deviation from this default behaviour was observed as some miners opened direct, private lines of communication with transaction originators, who would agree off-chain on the conditions for inclusion of the transaction.</p><p>While such contracts were established privately, mev-geth, developed by Flashbots, soon after opened up a marketplace between block producers and transaction originators. The marketplace relied on a trusted relationship between miners (organised in PoW as mining pools) and entities known as searchers. Searchers typically obtain a user transaction from the public transaction pool or some private service they operate. The user transaction is <em>bundled</em> with the searcher&#8217;s own transactions to extract value from the user transaction, e.g., follow a user trade with arbitrage or sandwiching, or follow an oracle update with a liquidation procedure.</p><p>Bundles are communicated in the clear to marketplace participants, along with a promise of payment from the searcher to the block producer should the bundle be included. Yet the marketplace is restricted to known block producers, a whitelist of major mining pools, to prevent <em>bundle theft</em>. A block producer who replicates the searcher&#8217;s strategy, replacing the searcher&#8217;s payment with full payment to themselves, would be detected and subsequently kicked out of the marketplace, losing potentially substantial payments in the future. PBS here is expressed as block producers receiving bundles from searchers for inclusion at the top of their block.</p><h3>Post-merge: block builders and mev-boost</h3><p>After the Merge, and with the introduction of solo validators who are not joining  staking pools, maintaining a whitelist for the marketplace proved infeasible. Solo validators infrequently propose blocks, in expectation once every two months with the current number of validators bonded in the protocol. This changes the nature of the game, from a game of repeated interactions with threats of punishment for deviations to a game with players who are often more &#8220;single shot&#8221;.</p><p>A solution to this constraint is to procure a commitment to a specific block content from a validator, without the validator gaining knowledge of what the content is. The marketplace is now known as <em>mev-boost</em>, and forwards to block <em>proposers</em> headers of blocks created by block <em>builders</em>, along with a bid made by the builder, a promise to pay the proposer some amount for choosing the block they made. At the centre of the marketplace sit <em>relays</em>, who are responsible for checking the validity of the blocks made by builders, i.e., if the block is EVM-valid and indeed pays out the promised amount to the proposer.</p><p>To receive offers from builders participating in the mev-boost marketplace, validators run the mev-boost program alongside their consensus and execution clients. Validators select which relays to connect to, each relay enforcing its own conditions on the blocks they forward to connected validators (more on this later).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xAs1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xAs1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png 424w, https://substackcdn.com/image/fetch/$s_!xAs1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png 848w, https://substackcdn.com/image/fetch/$s_!xAs1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png 1272w, https://substackcdn.com/image/fetch/$s_!xAs1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xAs1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png" width="1456" height="826" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:826,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1100787,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xAs1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png 424w, https://substackcdn.com/image/fetch/$s_!xAs1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png 848w, https://substackcdn.com/image/fetch/$s_!xAs1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png 1272w, https://substackcdn.com/image/fetch/$s_!xAs1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b23164-d593-4c89-bd05-a6acac043986_2794x1586.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Post-Merge block building, from my <a href="https://twitter.com/barnabemonnot/status/1579968884039618560">Devcon presentation</a></figcaption></figure></div><h3>Towards &#8220;in-protocol&#8221; PBS</h3><p>Faced with the prospect of relay failures, such as <a href="https://twitter.com/jon_charb/status/1581396552815632384">validation</a> or <a href="https://twitter.com/eyalmarkov/status/1572616363054612486">liveness failures</a>, as well as the opportunity to remove a new single point of failure from the system (inherently a centralising factor), &#8220;in-protocol&#8221; PBS <a href="https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725?u=barnabe">designs</a> <a href="https://ethresear.ch/t/two-slot-proposer-builder-separation/10980?u=barnabe">were</a> <a href="https://ethresear.ch/t/single-slot-pbs-using-attesters-as-distributed-availability-oracle/11877?u=barnabe">introduced</a> by Vitalik. In these designs, a validator once again blindly commits to use a block provided to them by builders. But instead of a relay brokering the agreement, the <em>protocol itself</em> provides assurances of two kinds:</p><ul><li><p>To the builder, <strong>that a commitment was entered into by the proposer</strong>, and that this commitment may only be reverted by a consensus failure, e.g., a re-org, or a safety fault with single-slot finality;</p></li><li><p>To the proposer, <strong>that</strong> <strong>the builder&#8217;s promise to pay will be honoured</strong> no matter what the builder does, e.g., eventually fail to release the block contents or release an invalid block.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ca9M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ca9M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png 424w, https://substackcdn.com/image/fetch/$s_!Ca9M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png 848w, https://substackcdn.com/image/fetch/$s_!Ca9M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png 1272w, https://substackcdn.com/image/fetch/$s_!Ca9M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ca9M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png" width="1456" height="821" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:821,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1551350,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ca9M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png 424w, https://substackcdn.com/image/fetch/$s_!Ca9M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png 848w, https://substackcdn.com/image/fetch/$s_!Ca9M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png 1272w, https://substackcdn.com/image/fetch/$s_!Ca9M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5665c19a-b0a8-4d17-a5c1-5e26d7e00025_2780x1568.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A possible design for in-protocol PBS, featuring two rounds of protocol: one to make safe the proposer commitment, and one to make safe the builder&#8217;s reveal</figcaption></figure></div><h3>PBS and the principal-agent problem</h3><p>In a <a href="https://www.youtube.com/watch?v=viJqYMi6DMo">recent podcast</a> with AltLayer&#8217;s Yaoqi Jia, I argued that instead of PBS being something we <em>need</em>, PBS appeared as a <em>constraint</em> to which the protocol had to react. The willingness of block producers to source parts of their blocks outside of the protocol, pre- or post-Merge, meant that protocol goals could become subverted.</p><p>Historically, it wouldn&#8217;t be the first time. An important protocol goal is <a href="https://arxiv.org/abs/1909.10645">reward fairness</a>, or the ability for protocol actors to all receive in expectation the same amount of rewards, relative to their size. While this held true in Proof-of-Work, with rewards obtained proportionally to the hashrate brought to the network, the reward variance was high enough to incentivise most if not all miners to join mining pools, which share profits with their members. There is however no guarantee that the block made by the pool will respect the preferences of the pool&#8217;s members, unless the block&#8217;s construction is distributed across members of the pool. Remains the right to exit the pool if the pool acts against its members wishes, another reason why <a href="https://eips.ethereum.org/EIPS/eip-4895">withdrawals</a> are important.</p><p>Anytime protocol actors outsource some of their control over block construction, a new instance of the <a href="https://en.wikipedia.org/wiki/Principal%E2%80%93agent_problem">principal-agent problem</a> appears. In such a framing, the principal requires the agent to perform some action, yet the incentives of the principal and the agent may not be fully aligned. An employer wants their employees to perform their job as well as possible, but an employee wants to minimise their effort, so appropriate compensation structures help re-align incentives. A block proposer wants transactions to be included, but the builder may wish to censor these transactions, so mechanisms enforcing proposer preferences help re-align incentives.</p><h3>Market structure and allocation mechanism</h3><p>In my opinion, it makes sense to think of PBS in a modular fashion, to better appreciate its design space. This approach lets us consider more clearly the structure of the principal-agent problem, and how far the protocol intervenes to resolve the problem.</p><ul><li><p><strong>PBS as a market structure/legal system.</strong> The protocol defines the conditions under which proposers may engage with third-parties during block construction. For instance, the protocol provides enforceability of agreements, e.g.. enforces the promises to pay made by proposers or third-parties. The protocol also provides a facility for third-parties to recognise that a commitment was made by proposers. This facility comes from the protocol&#8217;s consensus mechanism, which <em>makes safe</em> commitments, i.e., prevents the commitment from being reverted.</p></li><li><p><strong>PBS as an allocation mechanism/business logic.</strong> The protocol defines the space of contracts proposers and third-parties may enter into. For instance, the protocol determines that only the whole rights of making the block can be sold, and organises the auction allocating these rights.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oT9C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oT9C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png 424w, https://substackcdn.com/image/fetch/$s_!oT9C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png 848w, https://substackcdn.com/image/fetch/$s_!oT9C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png 1272w, https://substackcdn.com/image/fetch/$s_!oT9C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oT9C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png" width="1456" height="821" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:821,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:974828,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oT9C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png 424w, https://substackcdn.com/image/fetch/$s_!oT9C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png 848w, https://substackcdn.com/image/fetch/$s_!oT9C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png 1272w, https://substackcdn.com/image/fetch/$s_!oT9C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F79c79e49-9318-451f-9796-601b6205bf13_2784x1570.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Under mev-boost, the protocol does not intervene into the principal-agent problem. It does not recognise the role of builders as an entity interfacing with proposers. At best, consensus layer clients provide the ability for stakers to blindly sign a block header, and perhaps additional services such as local profit-switching, yet neither of these are part of the protocol (to convince yourself, the word &#8220;builder&#8221; <a href="https://github.com/ethereum/consensus-specs/search?q=builder">only appears in preliminary &#8220;sharding&#8221; parts of the consensus-specs repo</a>).</p><p>This non-intervention implies that there does not exist trust-minimised, in-protocol ways for proposers to be made whole when the other side of the market does not honour their agreements. Whether this is the responsibility of the protocol or not is entirely debatable. My views on this are plural:</p><ul><li><p>On the one hand, proposers seeking maximum profit may engage in risky behaviour, such as delaying block publication or summoning external entities to help them create the block. The protocol may not care to backstop such activities, and in fact, may wish to prevent <a href="https://en.wikipedia.org/wiki/Moral_hazard">moral hazard</a> as much as possible.</p></li><li><p>On the other hand, the asymmetry between block construction and block verification (discussed in Vitalik&#8217;s <a href="https://vitalik.ca/general/2021/12/06/endgame.html">Endgame post</a>) <em>does</em> open up design possibilities that cannot be realised without an appeal to external entities. If we intend to fully lean in to the PBS design philosophy, for instance requiring powerful builders to produce Danksharding blocks, then the requirement of interfacing with such third-parties will be imposed <em>by the protocol</em> upon proposers. It would be a rough bargain if some proposers weren&#8217;t able to fulfil the duties required of them by the protocol (in particular, proposers in resource-constrained environments), while on top of this these proposers weren&#8217;t compensated when they inevitably invoke third-parties to fulfil the duties on their behalf. At least making an execution block, even one that does not maximise extracted value, is at hand for all proposers. Making a Danksharding megablock is not, however.<br><br>If proposers are made whole in case of builder failure, what about risks to the protocol? If builders are less trusted to deliver on their commitments, we could end up with a protocol realising a much smaller social welfare compared to one where proposers are fully engaged to realise their duties. I am not as worried about this part. First, builders are profit-making entities, even in a competitive market. They care for their blocks to make it into the protocol, especially when the payment is committed and will happen regardless of their performance. Second, while it is a loss to the protocol when a block is missed due to builder failure, if only because of the greater real-world latency, it is always possible to &#8220;make up&#8221; for lost time, e.g., with an <a href="https://eips.ethereum.org/EIPS/eip-4396">accumulative, time-based EIP-1559</a>.</p></li></ul><p>In any case, answering these questions would answer what Ethereum, as a protocol, is or should be. What does it require of its actors? What is its worldview with respect to the economic organisation around protocol duties? What are the boundaries of its concerns?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Na4a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Na4a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png 424w, https://substackcdn.com/image/fetch/$s_!Na4a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png 848w, https://substackcdn.com/image/fetch/$s_!Na4a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png 1272w, https://substackcdn.com/image/fetch/$s_!Na4a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Na4a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png" width="1456" height="821" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:821,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1711193,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Na4a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png 424w, https://substackcdn.com/image/fetch/$s_!Na4a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png 848w, https://substackcdn.com/image/fetch/$s_!Na4a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png 1272w, https://substackcdn.com/image/fetch/$s_!Na4a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9b94e66-8604-425e-853b-296c90a884b3_2780x1568.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the next few sections, I will discuss some of the mechanisms we might consider in our search for Ethereum&#8217;s final form.</p><h2>The space of allocation mechanisms</h2><p>Keeping the market structure constant (e.g., in two-slot PBS world, the proposer commits to a builder bid and the builder reveals their part after seeing a safe commitment), the space of allocation mechanisms (who gets what) offers rich possibilities.</p><h3><strong>Whole vs partial block building</strong></h3><p>The initial goal of PBS, &#8220;proposer naivety&#8221;, drove the design of a whole block auction, where the proposer lets go entirely of their right to make the block. This whole block auction is the model used today under mev-boost. Yet as we&#8217;ve seen, relinquishing entirely the proposer&#8217;s input in block construction can lead to mis-aligned preferences over the contents of the block.</p><p>With the goal of allowing for proposer expression during the construction of the execution payload, we could determine that the proposer makes one part of the block, while the builder makes another part. It is fairly hard to conceive a block construction procedure where proposer- and builder-submitted transactions are intermingled, so we may restrict the design to two options: proposer prefixes and proposer suffixes.</p><p><strong>Proposer prefixes</strong> seem easy enough to work out. The proposer&#8217;s commitment could come with a block prefix, indicating to the builder <strong>a)</strong> how much gas they can still spend as well as <strong>b)</strong> the state root their block must build upon. The downside is that a builder only gets to know these two pieces of information as the proposer makes the commitment, unlike whole block auctions where this data is known as soon as the previous builder reveals their block. This can however be mitigated with the proposer communicating off-band the prefix they intend to make, as deviating from this prefix when making their commitment only hurts the profitability of the builder, who must readjust the block they are building.</p><p><strong>Proposer suffixes</strong> look more complex. If we intend the proposer to build upon the prefix provided to them by the builder, we need an extra protocol round to make safe the proposer suffix, after the builder&#8217;s prefix is revealed. <a href="https://ethresear.ch/t/how-much-can-we-constrain-builders-without-bringing-back-heavy-burdens-to-proposers/13808?u=barnabe">Vitalik suggested a different approach</a>, where the proposer commits first to a list of transactions, which are appended to the end of the block in the order of the list, skipping any transaction already included by the builder and stopping when gas runs out. In his scheme, the proposer commits only to a root of the list, or some KZG commitment, so this may still require an extra step of communication if the proposer is expected to reveal the list eventually. Yet by committing to a list, the proposer has no space to extract MEV based on the builder prefix, so naivety is somewhat preserved.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UrIl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UrIl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png 424w, https://substackcdn.com/image/fetch/$s_!UrIl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png 848w, https://substackcdn.com/image/fetch/$s_!UrIl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png 1272w, https://substackcdn.com/image/fetch/$s_!UrIl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UrIl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png" width="1456" height="821" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:821,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:919457,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UrIl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png 424w, https://substackcdn.com/image/fetch/$s_!UrIl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png 848w, https://substackcdn.com/image/fetch/$s_!UrIl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png 1272w, https://substackcdn.com/image/fetch/$s_!UrIl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8bed87-e5b1-4b30-bc1b-3722479a0442_2780x1568.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Block vs slot auctions</h3><p>This is an orthogonal axis to whole vs partial block building. Here we determine whether the builder must commit to block contents <em>before</em> making their bid, or <em>after</em>.</p><p><strong>Block auctions</strong> mean the builder has an exact view of the contents of their block when placing their bid. They know precisely how much they are extracting, and make the bid based on the extraction amount. This is the current model used by mev-boost, where the builder forwards their whole block to the relay, which forwards the header to the proposer. The header contains a block root, which does not allow for a different block to be revealed once the proposer&#8217;s signature is received.</p><p><strong>Slot auctions</strong> mean the builder is only bidding for the <em>right</em> to make the block, but not for any specific block. The proposer commitment only determines <em>which</em> builder is expected to release the block, but does not commit the builder to a particular block. This scheme may be more flexible, allowing for <a href="https://twitter.com/0x94305/status/1584997637744656384">&#8220;just-in-time&#8221; block building</a> based on the certainty that the right is owned by the builder, facilitating cross-domain MEV extraction. The downside of course is uncertainty over the true value of the block, once the state of the world is revealed, i.e., once the state of other domains is known. A builder may overpay, based on a wrong belief that they can extract more once they build the block. Could a <a href="https://en.wikipedia.org/wiki/Winner's_curse">winner&#8217;s curse</a> scenario take hold? It does not seem possible to continuously have actors in the system operate at a loss, so likely not, but ongoing research on the question is in progress.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FqAa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FqAa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png 424w, https://substackcdn.com/image/fetch/$s_!FqAa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png 848w, https://substackcdn.com/image/fetch/$s_!FqAa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png 1272w, https://substackcdn.com/image/fetch/$s_!FqAa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FqAa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png" width="1456" height="822" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:822,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:944150,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FqAa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png 424w, https://substackcdn.com/image/fetch/$s_!FqAa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png 848w, https://substackcdn.com/image/fetch/$s_!FqAa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png 1272w, https://substackcdn.com/image/fetch/$s_!FqAa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4011055-caf1-452a-91e7-dda2c6d80b61_2778x1568.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Inclusion lists (f.k.a crLists)</h3><p>A simple way to reassert proposer input into the block construction is simply to declare a block invalid unless it contains transactions which the proposer flags previous to the block being made by the builder.</p><p>The &#8220;straw man&#8221; inclusion list design invalidates the whole block if it does not contain all transactions flagged by the proposer. With this mechanism, a proposer could inadvertently reduce the profit obtained through the builder, when their inclusion list prevents the builder from packing more profitable transactions due to lack of space. This reduces the incentive for the proposer to add anything to their inclusion list, as the rational move (with max profit as a motive) is to keep the list empty.</p><p>To go around this, we could instead let a different proposer make the list, for instance the previous proposer makes the list for the current proposer. Let&#8217;s call such lists <strong>forward inclusion lists</strong>. With the straw man inclusion list, this opens the door to griefing, where the previous proposer packs the list and hurts the current proposer&#8217;s profit. But note that packing the list beyond what currently sits in the mempool is costly! The previous proposer cannot add phony, gas-consuming transactions to the list for free. EIP-1559 requires the transaction originator to pay at least the basefee to the protocol. Still, what sits in the mempool may be enough to force the current proposer to include a sub-optimal set of transactions in their block.</p><p>But we can use EIP-1559 to design a more flexible inclusion list mechanism, where, given an inclusion list <em>IL</em>, either</p><ol><li><p>All transactions of <em>IL</em> are included in the block, or</p></li><li><p>The block must be full enough that no extra transaction from <em>IL</em> may be included.</p></li></ol><p>This way, adding a transaction to the inclusion cannot hurt the profit of the proposer: if the transaction participates to the max profit allocation given the gas limit constraint, it is included; if it does not, then the block must be full, since it is always better to include a fee-paying transaction than not.</p><p>The question is whether builders can continually censor a transaction by filling their blocks to capacity. Once again, EIP-1559 prevents it. Blocks filling up increase basefee exponentially, until it becomes no longer possible to find enough transactions willing to pay basefee. In addition, the censoring builders stuffing their blocks incur exponential costs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!itCz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!itCz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png 424w, https://substackcdn.com/image/fetch/$s_!itCz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png 848w, https://substackcdn.com/image/fetch/$s_!itCz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png 1272w, https://substackcdn.com/image/fetch/$s_!itCz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!itCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png" width="1456" height="822" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:822,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:916349,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!itCz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png 424w, https://substackcdn.com/image/fetch/$s_!itCz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png 848w, https://substackcdn.com/image/fetch/$s_!itCz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png 1272w, https://substackcdn.com/image/fetch/$s_!itCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37a7d920-d38a-4794-8da3-53f601bc906c_2776x1568.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>Censoring-best builders and relays</h4><p>If making an inclusion list does not hurt your profit, is there still a reason for using forward inclusion lists rather than letting a proposer make the list for themselves?</p><p>There is one reason. Censoring relays or builders who must respect an inclusion list could decide to forego relaying or building a block entirely. This is fine when censoring builders are not competitive, which, in a market without private order flows/information asymmetries, should be true, since censoring builders leave fee-paying transactions on the table.</p><p>But in the presence of a censoring-best builder, a builder which <em>despite their censorship</em>, builds the highest-paying blocks, this is not fine. In this case, a proposer may not be willing to switch off the censoring-best builder for their block, or to hurt the builder&#8217;s profits (which are forwarded to the proposer) by forcing the builder to fill up their block with garbage so that they satisfy the second validity condition of inclusion lists.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/barnabemonnot/status/1582660856885628928&quot;,&quot;full_text&quot;:&quot;When the best builders censor, few realise we cannot improve upon inclusion guarantees without decreasing the value received by proposers. In other words, the situation today is Pareto-efficient, which is problematic&quot;,&quot;username&quot;:&quot;barnabemonnot&quot;,&quot;name&quot;:&quot;barnabe.eth (Hiring!)&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Wed Oct 19 09:12:07 +0000 2022&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:15,&quot;like_count&quot;:100,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>To see how forward inclusion lists mitigate this issue and spread the cost of censorship across all proposers, not only honest ones who take the hit, we introduce a simple model of player types in the censorship game. We assume that an inclusion list of censored transactions is given for the current proposer/builder pair, at first without specifying who is responsible for making the list. Proposers may be:</p><ul><li><p><em>Censoring:</em> They do not want some transactions to enter their blocks</p></li><li><p><em>Greedy:</em> They will take the max profit block, whether the block censors or not</p></li><li><p><em>Non-censoring:</em> They will require either of the two validity conditions of inclusion lists to be satisfied, given some list for their slot.</p></li></ul><p>While builders may be:</p><ul><li><p><em>Censoring: </em>They do not build blocks with some specific transactions contained in the inclusion list</p></li><li><p><em>Non-censoring:</em> They include any and all transactions</p></li></ul><p>Note that builders are all greedy, but censoring builders add more constraints to their optimisation problem. We assume here that there exist a censoring-best builder realising a greater profit than non-censoring builders.</p><p>From this simple model, we can determine some properties:</p><ul><li><p>It may be rational to build or propose blocks which &#8220;waste space&#8221; by filling up the block, to satisfy the second validity condition of inclusion lists. Indeed, a censoring-best builder could find it worthwhile to pay the basefee for the extra gas necessary to fill up the block, and still win the block auction. Let&#8217;s call such blocks <em>stuffed blocks</em>. While this would likely not be a common occurrence, it has the bad side-effect of raising network costs for everyone.</p></li><li><p>When the inclusion list applies to the proposer who makes the list, only non-censoring proposers make the list. Greedy proposers do not wish to hurt their profit, and so do not make the list. Censoring proposers do not make the list for themselves either.</p></li><li><p>When the inclusion list applies to some other proposer than the one making the list (forward inclusion list), greedy proposers no longer mind making the list. Thus both non-censoring and greedy proposers now bind other greedy or censoring proposers, increasing the &#8220;zone of influence&#8221; of the list. Proposers making the list (either non-censoring or greedy) still cannot force the hand of censoring proposers, who could prefer to not make a block at all, or make a stuffed block instead if it nets them a positive profit. Still, the economics look much better: Non-censoring proposers incur an implicit cost when a censoring-best builder exists, by shirking the option which realises the maximum profit for themselves. Now, this cost is also borne by the rest of the network.</p></li><li><p>When there is no censoring-best builder, only censoring proposers are hurt.</p></li></ul><p>This rough model could be developed further, to provide accurate bounds and dynamics for how revenue is obtained by various players in the game. A work-in-progress is found <a href="https://efdn.notion.site/Inclusion-list-economics-b0d61d0e21a74963a54448e48d9adc8a">here</a>, and generally relates to our <a href="https://efdn.notion.site/ROP-2-Cost-of-censorship-e6c39e6ad1764f8096035e1027b7ea25">ROP-2</a> (RIG open question).</p><h4>Open questions for inclusion lists</h4><p>As argued previously, a forward inclusion list model where a previous proposer selects the list for a future proposer seems better suited to a world where a censoring-best builder reigns supreme. There remains implementation questions. What happens when transactions from a forward inclusion list are included by the current builder? How should we select transactions to feature in the list?</p><p>In the case of mev-boost, all these questions apply, on top of which we must reason about the incentives due to the optionality of the mechanism. mev-boost is a network of builders, organised around the mev-boost builder client. Nothing prevents the introduction of a new builder client, which may prove to be a dominant strategy for (greedy) builders and proposers to switch to, in particular if profit-hurting constraints are applied to the mev-boost network as a whole.</p><p>The <a href="https://hackmd.io/5rrA0KfBTFS7uvIEg41Lag">mev-boost plan today</a> is indeed for the current proposer to make the inclusion list for their own builders, as forward inclusion lists would induce greedy proposers to switch to a different builder client, e.g., &#8220;MEV-boost classic&#8221;, without such lists. We must then recognise that we cannot realise the same outcomes with out-of-protocol solutions, as forward inclusion lists only work if they are not opt-in, and the protocol alone can enforce globally such constraints.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/barnabemonnot/status/1588316108138123266&quot;,&quot;full_text&quot;:&quot;<span class=\&quot;tweet-fake-link\&quot;>@latetot</span> <span class=\&quot;tweet-fake-link\&quot;>@pintail_xyz</span> <span class=\&quot;tweet-fake-link\&quot;>@benjaminion_xyz</span> <span class=\&quot;tweet-fake-link\&quot;>@superphiz</span> <span class=\&quot;tweet-fake-link\&quot;>@ralexstokes</span> It might not be! But one argument is MEV-boost can be replaced, so even if you have inclusion lists in MEV-boost, I could build a new builder client that doesn't have them and mess with your incentives. Protocol rules aren't opt-in though&quot;,&quot;username&quot;:&quot;barnabemonnot&quot;,&quot;name&quot;:&quot;barnabe.eth (Hiring!)&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Thu Nov 03 23:44:04 +0000 2022&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:0,&quot;like_count&quot;:1,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><h2>What does PBS value?</h2><p>After this long exploration of the various ways PBS might be done in- or out-of-protocol, it&#8217;s natural to wonder which version is best suited for our purposes. In my opinion, the answer lies in understanding what is gained and what is lost with each version. We&#8217;ve hinted at this in a few places before, but what we are really interested in, as mechanism designers for the protocol, is maximising the total value realised, or social welfare.</p><p>But what is value? A proper answer to this question requires a lot more work, so we hint here only at some ways the protocol might realise value for its stakeholders:</p><ul><li><p><strong>The value derived from the execution of user transactions:</strong> It is worth $10 to me that I am able to send a payment over Ethereum, and though I may pay a fraction of that, this value is realised once the payment goes through.</p></li><li><p><strong>The value derived from holding ETH:</strong> Perhaps this is a protocol concern too! ETH is used to secure the protocol, so maximising its value benefits the protocol directly, in addition to benefiting ETH holders. There are disagreements over how this is achieved, relating to the nature of ETH as an asset.</p></li><li><p><strong>Other ways?</strong></p></li></ul><p>In this section, we&#8217;ll often use what we know about the EIP-1559 mechanism to understand what PBS values and how it realises this value. For instance, <a href="https://barnabe.substack.com/p/congestion-control-and-eip1559">EIP-1559 elicits the value a marginal user is willing to pay to be included </a><em><a href="https://barnabe.substack.com/p/congestion-control-and-eip1559">right now</a></em>. This marginal user is the &#8220;last one&#8221; that can make it through while the chain preserves both a burst limit (the 30 million gas limit) and long-term targets (15 million gas per block on average). So what does PBS elicit?</p><h3>Does PBS <em>really</em> value the MEV in the block? Off-chain agreements between proposers and builders</h3><p>Here we think of PBS with the whole block auction model. Builders compete over the value they are able to return to the proposer, by making a block satisfying the validity conditions imposed by the protocol. This value really is MEV, the value a proposer would be able to obtain from the special position they hold as temporary leader over the chain&#8217;s contents. Or if not the whole MEV, a fraction of it, e.g., the realisable MEV.</p><p>This is the intent of the PBS bid: returning to the proposer the value they could extract, but which due to their lack of sophistication or knowledge they are unable to. This value may be quantified. But is that intent always realised? Is the winning bid of the PBS auction equal or close to that value?</p><p>Given the assumptions we&#8217;ve made so far, it is not the case. A proposer may receive bids at the protocol auction, and decide to forego any of them in favour of a private agreement with a builder. From the protocol&#8217;s perspective, it&#8217;s equivalent to the proposer accepting a 0 ETH bid and receiving the value somewhere else, for instance via a transaction in the builder&#8217;s block.</p><p>These situations could happen when the proposer and the builder have a special, trusted relationship. Without the builder submitting a binding bid to the protocol, the proposer may forego their assurance that payment will be guaranteed regardless of the builder&#8217;s actions. This could be helpful when the MEV present in the block is very large, and the builder does not have the upfront capital to submit their binding bid to the protocol, but is trusted enough by the proposer. The vertical integration between sophisticated proposers and builders favour such conditions, as Jolene Dunne noted in her Devcon talk <em><a href="https://youtu.be/BFVSRSN5E_A">Evaluating the PBS Experiment: Early insights from MEV-Boost and the Builder Market</a></em>.</p><p>Understanding these types of off-chain agreements was <a href="https://timroughgarden.org/papers/eip1559.pdf">critical in the study of EIP-1559</a>. When is it to the block producer and user&#8217;s advantage to collude, in order to defeat the mechanism&#8217;s constraints? In the case of EIP-1559, the effects are particularly severe. Collusion between users and block producers could make the basefee value completely irrelevant, defeating its use as an objective oracle of the current congestion price. In the case of PBS, it could be argued that an objective oracle for current MEV does not bring about UX improvements as important as objective pricing, but this argument relies perhaps on a lack of imagination of what could be done with such an oracle.</p><h3>Recovering the true PBS value via consensus bids and protocol capture</h3><p>One interpretation of the EIP-1559 oracle is that it &#8220;captures&#8221; the value expended by users to compensate for the congestion they create. Without this mandatory capture, inclusion lists would not work, a <em>really</em> nice side-effect coming from the impossibility of block producers to stuff their blocks for free. When the protocol &#8220;sees&#8221; more, introspection allows for a more resilient system, indeed often as a side-effect.</p><p>So how can we make the PBS bid as truthfully revealing as EIP-1559&#8217;s basefee? In much the same way: the protocol must capture it. For PBS, solutions include coming to consensus over the highest bid received by the proposer. The proposer is then bound to propose a block corresponding to a bid at least equal to the <strong>consensus bid</strong>. This consensus relies on a honest majority assumption from the attesters in the proposer&#8217;s committee, the same committee making safe the proposer&#8217;s commitment to some builder block. The rationale is that if at least half of all attesters in the committee have seen such a bid, the proposer must have, too.</p><p>Given a consensus bid, which the proposer must match, off-chain agreements with builders no longer hold. If the proposer&#8217;s trusted builder makes an off-chain promise to return 10 ETH to the proposer, but a separate builder sends in a 5 ETH bid through the protocol&#8217;s auction, the proposer is bound by the protocol to accept the 5 ETH bid instead. In this case, it would be rational for the trusted builder to make a bid for 5.000001 ETH via the protocol auction, and return 4.999999 ETH to the proposer somehow.</p><p>Clearly, the PBS bid was not able to elicit the full 10 ETH value the proposer is receiving from the trusted builder, but this problem is not specific to consensus bids. Generally, in a model of rational builders, a proposer should expect to receive the second-highest bid value, as the best builder only needs to beat the second-best to win the auction. Competitiveness of the builder market then ensures the delta between the best bid and the second-best remains small, with both bids close to the true value of the block.</p><p>Given a consensus bid, and so an objective value of the block&#8217;s value (assuming again the competitiveness of the builder market), the protocol <em>knows</em> how much value the block returns. What can we do with this value?</p><ul><li><p>Can we return it entirely to the block&#8217;s proposer? If we did so, as happens with EIP-1559, the oracle may no longer objectively report the true block&#8217;s value. A trusted builder could bid an absurdly high value to win the auction, with the proposer and builder profit-sharing privately once the auction is over.</p></li><li><p>Can we smooth it? This case was also studied for EIP-1559, known as <em>l</em>-smoothing in Tim Roughgarden&#8217;s <a href="https://timroughgarden.org/papers/eip1559.pdf">landmark paper</a>. With PBS, this is the suggestion of <a href="https://ethresear.ch/t/committee-driven-mev-smoothing/10408?u=barnabe">committee-driven smoothing</a> by Francesco, known as MEV-smoothing, where the value is not smoothed over time across proposers, but across all attesters participating in the slot.</p></li><li><p>Can we burn it? This is how EIP-1559 functions today. Domothy recently wrote up a mechanism where the value is captured then burned, known as <a href="https://ethresear.ch/t/burning-mev-through-block-proposer-auctions/14029?u=barnabe">MEV-burn</a>. The consensus bid is obtained by making some number of proposers compete over who can burn the most, so that attesters need only attest for the proposer with the highest burn. This is a recent proposal, and it is currently discussed to gain a better understanding of its properties and guarantees.</p></li></ul><p>Note that all of these mechanisms implicitly rely on PBS featuring the whole block auction. It is trivial otherwise to use the proposer&#8217;s partial block as a way of &#8220;hiding&#8221; the value in the proposer&#8217;s part, which the protocol cannot mechanically capture from.</p><h3>Can PBS maximise protocol value?</h3><p>In the previous sections, we assumed the ideal PBS bid represented the whole MEV of the block, and asked whether the bid received in-protocol objectively revealed this value. In this section, we review our initial assumption, and ask whether, even if objectively revealed, the PBS value matches the true MEV of a block.</p><p><strong>Latency. </strong>The first way this might fail is due to latency. Rounds of communication between builders and proposers, even with fast connections, loses precious milliseconds which could be used to integrate new information, such as newly pending transactions, into block construction. Value may simply be lost by a user who would have been included by the proposer, but didn&#8217;t make it in time for inclusion in the builder&#8217;s block. Such losses are likely small, as all parties have the incentive to minimise latency as much as possible. Yet the incentive to waste as little time could induce a timing game, the subject of <a href="https://efdn.notion.site/ROP-0-Timing-games-in-Proof-of-Stake-385f0f6279374a90b52bf380ed76a85b">ROP-0</a>, where proposers or builders delay the fulfilment of their duties for as long as they possibly can. This incentive could also induce builder colocation, to minimise round-trips.</p><p><strong>Private order flow and value elicitation. </strong>The second way it might fail comes from the format of the mechanism. Whatever way the builder block is constructed, a single bid must arrive for the PBS whole block auction. This single bid must be emitted from some entity able to aggregate the value of the separate bundles and transactions it receives from searchers and users. What if the entity is not trusted with the separate order flows it receives? In the example given by Quintus, <a href="https://github.com/flashbots/mev-boost/issues/144">in this mev-boost repo issue</a>, a monolithic block builder is able to make a bid for 10 ETH. Meanwhile, the dynamics of an auction between searchers mean that a block merging the searchers&#8217; bundles realises a total value greater than 10 ETH, yet the bid expressed is lower than 10 ETH.</p><p>This situation clearly points to a failure of market competition at surfacing the true, current value of the block. Efforts towards making order flow non-exclusive would likely recover such value, as would <a href="https://joncharbonneau.substack.com/p/decentralizing-the-builder-role">efforts towards distributed builders</a> who could aggregate various order flows towards maximising the value returned.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><p><strong>Blockspace futures. </strong>Another type of economic value which may not be realised is the value unlocked by trust-minimised blockspace futures. The discussion relates to arguments made in the <a href="https://barnabe.substack.com/i/82304191/block-vs-slot-auctions">block vs slot auctions section</a>. In the slot auction model, the builder essentially obtains a &#8220;one-slot&#8221; blockspace future from the proposer, the guaranteed right to build any block for the next slot. No proposer is able to offer such futures for more than one slot ahead, at least trustlessly:</p><ul><li><p>With &#8220;vanilla&#8221; in-protocol PBS, the proposer could always renege on their commitment to let the builder make their block at the last minute (though they could stake some money on whether they honour the commitment or not&#8230;)</p></li><li><p>With PBS featuring &#8220;consensus bids&#8221;, the proposer might not have the choice over which builder to select, so it is definitely not possible for them to make such commitments in advance.</p></li></ul><p>The question is whether there is much value in obtaining five-slot or ten-slot blockspace futures, vs the one-slot future. Are there economic activities which cannot be conducted without a guarantee over what happens 10 slots in the future? I&#8217;m not sure about this one. See also <a href="https://mirror.xyz/0x03c29504CEcCa30B93FF5774183a1358D41fbeB1/WKa3GFC03uY34d2MufTyD0c595xVRUEZi9RNG-dHNKs">a post</a> from our RIG researcher Julian Ma on blockspace derivatives!</p><p><strong>Combinatorial preferences. </strong>And finally, we may find ourselves in a situation where a builder cares for either owning the right to make the next two blocks, or none at all. We&#8217;re talking here about multi-block MEV, where value is realised by performing operations in two separate blocks. In the single-slot, whole-block PBS auction, a builder may win auction for slot 1, but not know whether they can also win the auction for slot 2. Again there is a distinction between the vanilla PBS and the consensus bids PBS, in that a proposer controlling two slots in a row could make an off-chain promise to a builder for the control of both blocks under vanilla PBS, but clearly cannot honour that promise in PBS with consensus bids.</p><p>So in case the auction is truly combinatorial, and builders have preferences over bundles of blocks rather than single-blocks, some value may be lost from not allowing builders to express these preferences via the PBS auction mechanism. Multi-block MEV appears greatly centralising, and combinatorial bids may then be a Pandora&#8217;s box we&#8217;re not willing to open, yet social welfare (the total value realised) is lower if we are not able to realise this value. Could combinatorial bids for <em>partial</em> blocks be feasible? i.e., mev-geth with bundles spanning two blocks? Would this reduce centralisation risks? IMO some fascinating open questions here!</p><h2>PEPC: Market structure guarantees for flexible proposer commitments</h2><p>PEPC (pronounced &#8220;pepsi&#8221;), stands for <em><a href="https://ethresear.ch/t/unbundling-pbs-towards-protocol-enforced-proposer-commitments-pepc/13879?u=barnabe">Protocol-Enforced Proposer Commitments</a></em>, a recent post I wrote on ethresear.ch<em>. </em>PEPC is a direct application of the modular framework for PBS splitting it between the market structure and the allocation mechanism. PEPC attempts to provide the market structure without enforcing any kind of allocation mechanism, leaving it up to the proposer to make their own out-of-protocol commitments should they wish to do so. The protocol will only be there to secure these commitments, i.e., ensure the proposer cannot walk back their commitments after observing the builder deliver, letting the proposer to steal from the builder.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BM56!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BM56!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png 424w, https://substackcdn.com/image/fetch/$s_!BM56!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png 848w, https://substackcdn.com/image/fetch/$s_!BM56!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!BM56!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BM56!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png" width="1456" height="822" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:822,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1562017,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BM56!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png 424w, https://substackcdn.com/image/fetch/$s_!BM56!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png 848w, https://substackcdn.com/image/fetch/$s_!BM56!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png 1272w, https://substackcdn.com/image/fetch/$s_!BM56!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2749bb7b-c114-48cd-8c94-7a24b2e2562f_2784x1572.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The main thrust behind PEPC is to generalise the market structure to more commitments than simply the execution payload. In the near future, some builders will be summoned to produce Danksharding blocks. Later on, we may find it useful to have state providers support block construction and witness computation for stateless proposers. We may also require validity proofs based on a canonical zkEVM to be attached to an execution payload. All such pieces of data will have to come from third-party entities running specialised hardware, potentially inaccessible to the average proposer.</p><p>To ensure long-term sustainability of protocol development, figuring out a flexible form of commitment provisioning could help with avoiding to build from scratch a new facility each time a new item is added to the block construction checklist. In its most radical incarnation, PEPC could allow the proposer to control precisely how their block is being made. Parallel execution-builders could be summoned, limited by gas use and a list of state accesses, to ensure compatibility of transaction flows. Block building rights could be auctioned off ahead of time, up to the proposer&#8217;s choice (as long as it is known when they are expected to propose, up to 2 epochs in advance).</p><p>The way PEPC works is by allowing a proposer to include additional validity conditions to their block, e.g., &#8220;the execution payload must be signed by builder <em>x</em>&#8221; or &#8220;the execution payload starts with prefix <em>abc </em>and is then filled by builder <em>y</em>&#8221; or &#8220;the block witness is signed by state provider <em>z</em>&#8221;. I am hoping we can make use of EVM powers to provide a language to express such commitments, with many questions currently un-answered:</p><ul><li><p>In the benchmark case of reproducing the PBS whole block auction via PEPC, how should builder promises of payment be represented? Would an EVM &#8220;context-aware&#8221; transaction allow for conditional payment, based on the existence of a proposer commitment? Can the proposer always be made whole? What does the process look like end-to-end? (see also <a href="https://efdn.notion.site/ROP-4-Rewrite-vanilla-IP-PBS-in-PEPC-framework-69c5885d56f84cd19da56e515e773c24">ROP-4</a>!)</p></li><li><p>How far can we go with the commitments? Can we succinctly represent complex commitments such as &#8220;transaction 1 is given by builder <em>x</em>, transaction 2 is given by builder <em>y</em>, etc&#8221;? Is there a limit to commitment complexity, such as &#8220;commitment gas&#8221;? Can the fork choice handle discriminating between all partial deliveries of some subset of commitments?</p></li><li><p>How does PEPC mesh with protocol-captured value? Can the value received by the proposer be &#8220;smoothed&#8221;? Should it be anyways?</p></li></ul><h2>So what now?</h2><p>Research continues into the exciting world of PBS. As our lens widens, we also find more focus on the various mechanisms at our disposal, hopefully providing us with the theory we need to evaluate what should be the final form of PBS in Ethereum. In most of what was discussed here, the protocol-side of PBS was emphasised, but distributed building, user-side privacy, smart transactions and other constructions are sure to yield fascinating ways to make the most out of our favourite coordination engine. In the meantime, a strong focus is placed on censorship resistance, to augment the current out-of-protocol market with ways for the proposer to have more control over the block built for them.</p><p>Thank you for reading this long post and make sure to check out our <a href="https://efdn.notion.site/ROPs-RIG-Open-Problems-c11382c213f949a4b89927ef4e962adf">Open Problems</a>, reach out if you&#8217;re interested to join this collective research effort!</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/barnabemonnot/status/1581349056462598144&quot;,&quot;full_text&quot;:&quot;<span class=\&quot;tweet-fake-link\&quot;>@fiiiu_</span> <span class=\&quot;tweet-fake-link\&quot;>@VladZamfir</span> Proposer-whatever Separation&quot;,&quot;username&quot;:&quot;barnabemonnot&quot;,&quot;name&quot;:&quot;barnabe.eth (Hiring!)&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Sat Oct 15 18:19:29 +0000 2022&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:0,&quot;like_count&quot;:5,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p><em>Many thanks to Francesco d&#8217;Amato and Julian Ma for comments on the post, and of course to the many people working on and thinking about this topic too!</em></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Note that this default behaviour is <em>not</em> a protocol specification, but a rational move by block producers in the absence of other order flows.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>But a protocol without forward inclusion lists could presumably attract away validators from the Ethereum protocol, in a meta-game! Protocols are sovereign over their domain, yet remain in competition with one another, h/t to Nikete for this line of thinking.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Such builders can likely do more, such as returning value to the users themselves. Note that this discussion is somewhat orthogonal to the topic at hand, PBS intervening only to capture the value that <em>wasn&#8217;t</em> returned or otherwise captured. Mitigation remains a cardinal direction for all parties concerned.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Visualising the 7-block reorg on the Ethereum beacon chain]]></title><description><![CDATA[Yes, re-orgs are bad. No, this situation is not what PoS Ethereum is.]]></description><link>https://barnabe.substack.com/p/pos-ethereum-reorg</link><guid isPermaLink="false">https://barnabe.substack.com/p/pos-ethereum-reorg</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Sun, 29 May 2022 10:45:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>On <a href="https://beaconcha.in/epoch/121471">May 25th 2022, at 08:55 UTC</a>, a 7 block re-org occurred on the beacon chain. We aim here to provide a visual guide to understand the Ethereum Proof-of-Stake protocol and why the re-org happened.</p><p>In a nutshell, <strong>the re-org is </strong><em><strong>not</strong></em><strong> expected behaviour of the beacon chain.</strong> It occurred due to an unhappy combination of three distinct causes:</p><ul><li><p>A late block proposal split views of validators due to a recent fork choice update called <em>proposer boost</em>.</p></li><li><p>The proposer boost update was released as a soft fork, seen as a local change only that could be rolled out over the network at its own pace. This created a situation where some validators were using proposer boost, and some weren&#8217;t, splitting the views.</p></li><li><p>A known, incorrect implementation of <em>when</em> the fork choice is expected to be run prevailed in some clients, leading to the persistence of the fault.</p></li></ul><p>Importantly,<strong> the re-org did not result in loss of finality. Finality was not even delayed. </strong>So we need to be more precise when we talk about what exactly re-orged here.</p><p>In the following, we recap&#8217; the basics of Proof-of-Stake Ethereum and look into how the re-org eventually happened.</p><h2>Proof-of-Stake in Ethereum 101</h2><p>Proof-of-Stake Ethereum features <a href="https://blog.ethereum.org/2020/02/12/validated-staking-on-eth2-2-two-ghosts-in-a-trench-coat/">two consensus mechanisms</a> running in parallel:</p><ul><li><p>The first, FFG Casper, is responsible for providing <em>economic finality</em> to the chain. Every epoch, &#8220;source&#8221; and &#8220;target&#8221; votes from <em>attesters</em> are tallied up. When a checkpoint block (the start of an epoch) accumulates enough target votes, it becomes <em>justified</em>. When a recently justified source is used to justify a target checkpoint, the target checkpoint is justified and the source becomes <em>finalised</em>. The gist is that <em>no conflicting checkpoint block can be also finalised</em> <em>without at least 1/3 of the active stake getting slashed</em>. So <strong>there can be no re-org of the finalised chain without a massive loss of ETH by some party</strong>. But the present re-org has nothing to do with this part of the consensus.</p></li><li><p>The second component, LMD GHOST, aims to provide a <em>dynamically available</em> ledger, i.e., grow the chain while finalisation runs its course. Blocks on that chain accumulate <em>weight</em> bestowed upon them by the &#8220;head&#8221; vote from attesters. This weight is used to figure out, in the event of a fork, which branch should the validator follow. Because weight is expected to accumulate quickly after a block is released, forks are expected to be rare, and a block that is timely shouldn&#8217;t expect to be re-orged.</p></li></ul><p>In PoS Ethereum, time is divided in slots, each slot 12 seconds in length. Each slot, a proposer is chosen, who builds their block on top of what they believe to be the head chain according to the LMD-GHOST fork choice rule (hereafter only referenced as <em>the fork choice</em>). Proposers are expected to release their block at the beginning of the slot, while <em>attesters</em> are expected to release their source/target/head vote 4 seconds into the slot or upon receiving the block from their slot, leaving plenty of time for the proposer to make their block seen by attesters of their own slot.</p><p>Despite the buffer, it was <a href="https://arxiv.org/abs/2110.10086">recently discovered</a> that a late proposer could maliciously &#8220;ex ante&#8221; re-org the proposer in the next slot. Meanwhile, <em><a href="https://github.com/ethereum/consensus-specs/pull/2730">proposer boost</a> </em>was suggested to resolve the possibility of split views with balancing attacks, and applied to ex ante re-orgs as well. Using proposer boost, attesters give a weight boost to the proposer <em>of the current slot they are attesting in</em>, in essence preferring timely proposals. We&#8217;ll see how this works out in practice in the following.</p><h2>So how did it fork?</h2><p>Let&#8217;s see how the fork happened first, before we break it down step-by-step. We represent blocks as rectangles while the attestations (votes) are represented as circles, the larger the circle, the more attestations voting for a specific block. You can see the voting weight accumulate over time as blocks receive more and more attestations.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2HyC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2HyC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif 424w, https://substackcdn.com/image/fetch/$s_!2HyC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif 848w, https://substackcdn.com/image/fetch/$s_!2HyC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif 1272w, https://substackcdn.com/image/fetch/$s_!2HyC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2HyC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2922872,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2HyC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif 424w, https://substackcdn.com/image/fetch/$s_!2HyC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif 848w, https://substackcdn.com/image/fetch/$s_!2HyC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif 1272w, https://substackcdn.com/image/fetch/$s_!2HyC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc46d8423-1993-440a-a8a5-63bc1ee5062a_2400x1600.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Roughly, blocks 74 and 75 appeared at the same time, creating a fork. A string of proposers made blocks building on 75, while the fork of block 74 was accumulating more weight than the competing branch. Eventually, proposer 82 built on 74, ending the fork at the cost of re-orging blocks 75 to 81. Each step is now carefully analysed to see how this happened.</p><h2>The fork step-by-step</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fxyc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fxyc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!fxyc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!fxyc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!fxyc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fxyc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:91344,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fxyc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!fxyc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!fxyc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!fxyc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6c07bbe7-6123-4264-927b-2292f80110a6_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At slot 73, attesters of slot 73 vote for block 73, which arrived on time. So far, so good.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Umoy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Umoy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!Umoy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!Umoy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!Umoy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Umoy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:91738,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Umoy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!Umoy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!Umoy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!Umoy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2fba6e8-65fb-46c9-a7e0-312da78f0fc1_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At slot 74, no block showed up, so attesters of slot 74 are voting for the block at slot 73 instead, increasing its weight.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vLo7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vLo7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!vLo7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!vLo7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!vLo7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vLo7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118030,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vLo7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!vLo7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!vLo7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!vLo7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f835df0-51b2-462a-a217-955d4988f817_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Blocks 74 and 75 both show up around the same time, at the start of slot 75, as block 74 is late. Proposer boost is designed to give more weight to 75, so that attesters at slot 75 prefer block 75 rather than block 74, since block 75 is timely in their view. However, not all attesters were using proposer boost, so the votes are split almost 50-50.</p><ul><li><p>Attesters running a client without proposer boost activated prefer block 74.</p></li><li><p>Attesters running a client with proposer boost activated prefer block 75.</p></li></ul><p>We can see the split clearly as votes accumulate for both sides of the fork, with non-boosted attesters preferring slot 74 and boosted attesters preferring slot 75. It turns out that slightly more attesters <em>didn&#8217;t</em> have proposer boost activated, so the upper fork has slightly more weight than the lower fork.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O1Ar!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O1Ar!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!O1Ar!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!O1Ar!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!O1Ar!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O1Ar!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/fd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123101,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!O1Ar!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!O1Ar!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!O1Ar!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!O1Ar!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd0ed141-050f-48b7-8bca-02c0a878cf09_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Now the question is: given that block 74 had more weight than block 75, why did proposer 76 build their block on top of 75?</p><p>The reason is subtle and has to do with <a href="https://github.com/ethereum/consensus-specs/pull/2878">a client behaviour</a> that is updated at the moment. Proposers are expected to run the fork choice before proposing, <em>set</em> <em>at the time of their slot</em>. However, the proposer at 76 was using the fork choice computation they ran <em>set at the time of the <strong>previous</strong> slot</em>. Proposer boost applies to the proposer of the <em><strong>current</strong></em> <em>fork choice</em> <em>slot</em>. Hence, proposer 76 was incorrectly boosting proposer 75 in their view of the current head, and selected block 75 as the parent of their block. From the point of view of proposer 76: </p><blockquote><p><code>Attesters on 75 + Proposer boost on 75 &gt; Attesters on 74</code></p></blockquote><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!39_z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!39_z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!39_z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!39_z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!39_z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!39_z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123631,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!39_z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!39_z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!39_z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!39_z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c83168c-e516-4b73-b1be-19e5a2531869_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Meanwhile, attesters at slot 76 keep splitting their votes between the heaviest chain <em>without the boost</em> (with head block 74) and the heaviest chain <em>with the boost </em>(with head block 76).</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Qs8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Qs8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!_Qs8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!_Qs8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!_Qs8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Qs8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:144343,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_Qs8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!_Qs8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!_Qs8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!_Qs8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F86285d98-9cbf-4b4c-baa6-7aadfb7fe8f5_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The scenario repeats until slot 81. Notice that all attesters from slots 75 to 81 <em>who are not using the proposer boost</em> keep voting for block 74, increasing its weight.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WLse!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WLse!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!WLse!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!WLse!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!WLse!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WLse!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:146878,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WLse!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!WLse!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!WLse!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!WLse!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29df9b5-ce5e-4292-87ea-af59bd509f30_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Finally, a proposer comes in who <em>does not</em> apply the proposer boost <em>on the previous slot</em> to decide where to build their own block. Proposer 82 sees block 74 as heavier than block 81. While <strong>block 81 inherits the weight of all blocks behind it</strong>, remember that there is always slightly more attesting weight voting for 74 than for any of the blocks 75 to 81&#8230;</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BV-P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BV-P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!BV-P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!BV-P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!BV-P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BV-P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/dad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:151093,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BV-P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!BV-P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!BV-P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!BV-P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdad00024-f9aa-492e-98dc-02492f63c0f7_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There is no confusion for attesters at slot 82 here:</p><ul><li><p>Those who do not use proposer boost clearly see 82 as winning, for the same reason why block 82 built on block 74: block 74 is heavier than block 81.</p></li><li><p>Those who use proposer boost <em>even more so</em> see block 82 as winning. The votes are no longer split.</p></li></ul><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wxxr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wxxr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!Wxxr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!Wxxr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!Wxxr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wxxr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:152520,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wxxr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!Wxxr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!Wxxr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!Wxxr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F766163ba-93e3-44b5-9c78-28b6880c0008_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Finally, the chain resumes its course, with proposer 83 building on block 82. By this point it is clear that blocks 75 to 81 have been effectively re-orged.</p><h2>Takeaways</h2><p>The re-org highlights a failure case of the dynamically available chain, one that is in the realm of the theoretically possible but practically unthinkable, much like long re-orgs in Proof-of-Work are possible but rarely seen in practice (barring adversarial behaviour). So it is important to recognise that contributing factors to the present re-org are purely accidental:</p><ul><li><p>A late block can always happen, there is no way around that. The dynamically available chain is in principle designed to deal with this eventuality fairly, so that more timely proposers see their blocks accepted in the canonical chain.</p></li><li><p>But it is clear that even changes which appear to be &#8220;local only&#8221; (as the fork choice computation is) need to be considered in the larger picture of the consensus. Ethereum protocol researchers have become familiar with the idea of &#8220;split views&#8221; between validators, where one set of validators sees something locally and another set sees something else, and how these split views can contribute to delaying liveness. It should have been recognised that an uneven rollout of proposer boost had the potential to create such a split view. It was made even worse by a known implementation fault.</p></li><li><p>The issue would not have happened were all validators running the same configuration! In particular, <strong>it would</strong> <strong>not have happened post-Merge</strong>, as all validators must hard-fork to the Merge updates previous to the Merge, or be entirely kicked out of the consensus.</p></li></ul><p>PoS Ethereum is a <a href="https://www.youtube.com/watch?v=2nMS-TK_tMw">hybrid consensus</a>, designed for robustness in adversarial environments. A recent thread by Sreeram Kannan highlights well the challenges that come with it:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/sreeramkannan/status/1530474715990478848&quot;,&quot;full_text&quot;:&quot;This is a post in appreciation of the Ethereum PoS protocol, in the context of recently raised questions. <span class=\&quot;tweet-fake-link\&quot;>@VitalikButerin</span> <span class=\&quot;tweet-fake-link\&quot;>@dannyryan</span>  <span class=\&quot;tweet-fake-link\&quot;>@drakefjustin</span> <span class=\&quot;tweet-fake-link\&quot;>@dankrad</span> <span class=\&quot;tweet-fake-link\&quot;>@casparschwa</span> <span class=\&quot;tweet-fake-link\&quot;>@zmanian</span> <span class=\&quot;tweet-fake-link\&quot;>@barnabemonnot</span> &quot;,&quot;username&quot;:&quot;sreeramkannan&quot;,&quot;name&quot;:&quot;Sreeram Kannan&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Sat May 28 09:03:01 +0000 2022&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{&quot;full_text&quot;:&quot;I don't think people appreciate how big of an innovation Ethereum's chain-based PoS is&quot;,&quot;username&quot;:&quot;gakonst&quot;,&quot;name&quot;:&quot;Georgios Konstantopoulos&quot;},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:30,&quot;like_count&quot;:117,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>Known limits of the consensus, also mentioned in the research Sreeram links in his thread, are driving protocol changes. While it is deeply unsatisfactory when such failures occur, they do not (in my own opinion) invalidate the approach that Ethereum is taking. But they do ask us to tread carefully, and create a protocol that is not only robust in theory but also in practice.</p><div><hr></div><p><em>Many thanks to all the researchers and developers who helped make sense of this issue. Specifically, Paul Hauner detected the re-org within minutes, then triaged and diagnosed the cause of the issue over the next hour in a group chat with other consensus client developers. Thanks to Martin K&#246;ppelmann for publicly raising the issue, Jacek Sieka for providing me with data supporting the present analysis, Potuz for his own analysis, <a href="https://twitter.com/terencechain/status/1529566839033933824">Terence Tsao</a> for his thread that quickly gave insights to the community, Michael Sproul for additional data, and Caspar and Francesco for their whiteboarding skills on a late Wednesday evening.</em></p><div><hr></div><p><em>Diagram plotting code available <a href="https://gist.github.com/barnabemonnot/871aa56e7d28622b701bf0471603c86e">here</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[Understanding rollup economics from first principles]]></title><description><![CDATA[Pricing resources in an L1-dependent economy]]></description><link>https://barnabe.substack.com/p/understanding-rollup-economics-from</link><guid isPermaLink="false">https://barnabe.substack.com/p/understanding-rollup-economics-from</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Thu, 24 Feb 2022 10:17:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Rollups are a fascinating primitive. They are <a href="https://barnabe.substack.com/p/eth2">set to become Ethereum&#8217;s preferred way of scaling moving forward</a> and offer a wide design space for their operations. On all counts, rollups <strong>extend</strong> the protocol they build on, preserving most of its properties. All that matters is to guarantee <em>correctness</em> of the off-chain execution, as well as <em>availability</em> of the data behind the execution. How to achieve either is up to the designer.</p><p>Lately I&#8217;ve become interested in understanding rollups from an economic perspective. This is not just a theoretical concern. Fees on the base layer (L1) are high and we should aggressively work on providing spaces where users can transact at an affordable rate. Better economics means <a href="https://pintail.xyz/posts/gas-market-analysis/">better pricing</a> means <a href="https://arxiv.org/abs/2201.05574">happier users</a>.</p><p>So how should we think about <em>rollup</em> economics specifically? We&#8217;ll first identify the parties interacting in the rollup system, their roles and responsibilities. Once done, we tease out various costs, revenues and fees irrigating the rollup system, offering us clues on how to navigate this wide design space.</p><div><hr></div><p><em>Since writing this piece, I presented more about Rollup Economics at EthCC in 2022. Find the video here!</em></p><div id="youtube2-BmQnb7TN3Ho" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;BmQnb7TN3Ho&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/BmQnb7TN3Ho?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><em>And now, back to the piece&#8230;</em></p><div><hr></div><h2>Players in the rollup game</h2><p>For simplicity, we&#8217;ll idealise three distinct roles:</p><ul><li><p><em>The users: </em>Users send their transactions on the L2 network as they would on L1. They own assets on L2 and interact with contracts deployed on the rollup.</p></li><li><p><em>The rollup operator:</em> This role subsumes many others. The rollup operator represents all the infrastructure necessary to process transactions received on the L2 network. We have in reality sequencers publishing transaction batches, executors posting assertions, challengers reporting fraud proofs, provers computing validity proofs (<a href="https://eprint.iacr.org/2021/1589.pdf">see also here for details</a>)&#8230;</p></li><li><p><em>The base layer: </em>A protocol securing the data published by rollups. It is enough to consider a protocol that guarantees data availability with reduced functionality for settlement (e.g., &#8220;template&#8221; bridge contracts deployed on their execution layer) but you can also think of a general purpose settlement engine, like Ethereum&#8217;s.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!82w5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!82w5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg 424w, https://substackcdn.com/image/fetch/$s_!82w5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg 848w, https://substackcdn.com/image/fetch/$s_!82w5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!82w5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!82w5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg" width="1456" height="799" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:799,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:256662,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!82w5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg 424w, https://substackcdn.com/image/fetch/$s_!82w5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg 848w, https://substackcdn.com/image/fetch/$s_!82w5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!82w5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36e25242-55aa-42a7-aa67-ce440e94c5e7_1624x891.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Three roles in our story: Users transact on L2, operators interface between them and the base layer, where data is eventually published</figcaption></figure></div><h2>Rollup costs</h2><p>In this post we adopt a &#8220;systems&#8221; view of the rollup, focusing on <em>costs, revenues</em>, and <em>fees</em>. Running a system induces <em>costs</em>, which are &#8220;energy sinks&#8221;, value flowing from inside the system to outside. The system might also receive <em>revenues</em>, which are the opposite, &#8220;energy sources&#8221;, value flowing from outside the system to inside. <em>Fees </em>bridge sources to sinks, transfer value throughout the system components so that each performs its function appropriately.</p><p>For instance, in a <a href="https://barnabe.substack.com/p/understanding-fees-in-eip1559?utm_source=url">previous piece on EIP-1559</a>, I explained how to decompose the transaction fee paid by the user:</p><ul><li><p>Some of the fee goes to the operator including the transaction: in the Proof-of-Work base layer case, the miner fee compensates miners for the increased uncle risk. This fee makes whole the operator for the cost of publishing the block. This is the 1 or 2 Gwei you default to when sending a transaction today.</p></li><li><p>The rest of the fee pays for the right to be included before others, pricing congestion. This fee makes whole the network and its users who suffer from your extra bit of congestion. This is what the L1 basefee aims to be, under normal conditions.</p></li></ul><p>The good news is we will use some of the same thinking to understand costs on rollups. EIP-1559 costs involved only two parties: the <em>user</em> and the <em>base layer</em>. With a different architecture and the operator sitting between the user and the base layer, we must disassociate costs specific to the operator from costs specific to the base layer, which we do in the following sections.</p><h3>L2 operator costs</h3><p>Rollups must find operators willing to expend the <strong>computational resources</strong> to process the rollup data, i.e., maintain a transaction pool, sequence batches, compute state roots/state diffs/validity proofs, etc. This is a tangible cost, quantifying the dollars and cents necessary to run the infrastructure behind operators.</p><h3>L1 data publication costs</h3><p>It&#8217;s worth spending time on the <strong>data publication cost</strong> as this is truly the new cost in the rollup economy. Once an operator has assembled a large enough set of transactions, they are expected to post a compressed summary of the set to the base layer. Today, it is not done in a particularly elegant way: data is published by simply posting it as &#8220;CALLDATA&#8221;, a transaction attribute which allows the sender to add an arbitrary sequence of bytes.</p><p>Typically CALLDATA holds the reference to the smart contract method called by the transaction, with the inputs to that method. It may be helpful to think of rollup operators as calling some &#8220;registerCompressedData&#8221; method of the L1 &#8220;rollup chain&#8221; smart contract, with the blob of bytes representing the compressed transactions as its argument. Here is <a href="https://etherscan.io/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591">an example</a> from Optimism&#8217;s &#8220;Canonical Transaction Chain&#8221; contract.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FfeG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FfeG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FfeG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FfeG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FfeG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FfeG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg" width="1456" height="508" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:508,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:189190,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FfeG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FfeG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FfeG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FfeG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fee1352ed-95e5-45ab-ad87-f24ef4f02acb_1489x520.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Users send regular transactions, which the operator compresses and publishes to the base layer&#8217;s rollup chain smart contract</figcaption></figure></div><p>The cost of publishing data is incurred by the base layer. To publish data on Ethereum, the current market price of data is governed by EIP-1559, where each non-zero byte of CALLDATA consumes 16 gas, while each zero byte consumes 4 gas. With multi-dimensional EIP-1559, e.g., as instantiated in Vitalik&#8217;s simple <a href="https://notes.ethereum.org/@vbuterin/blob_transactions">Sharding-format blob-carrying transactions</a>, the price of CALLDATA could be found on its own EIP-1559 market, pricing the data market <a href="https://www.reddit.com/r/ethereum/comments/rwojtk/comment/hrmqvkx/?utm_source=share&amp;utm_medium=web2x&amp;context=3">separately</a> from the traditional execution market.</p><blockquote><p>In this <a href="https://dune.xyz/barnabe/Rollup-statistics">Dune analytics dashboard</a>, I tried collating the data published by a few major rollups. It&#8217;s not clear to me that I am capturing all of it, especially for zk-rollups. If you notice discrepancies, please let me know! :)</p><p>See also Aditi&#8217;s recent post <a href="https://forum.celestia.org/t/ethereum-rollup-call-data-pricing-analysis/141">Ethereum Rollup Call Data Pricing Analysis</a> and <a href="https://l2fees.info/l1-fees">L2fees.info</a></p></blockquote><h3>L2 congestion costs</h3><p>There is a third, more intangible cost. Whenever the supply of rollup blockspace cannot address existing demand, scarce resources must be allocated. Included users are included to the detriment of users who are not. In a spherical cow world of time-insensitive users, users simply queue and wait for their turn. There is no loss of value from a congested system. But when users incur costs for waiting, they will attempt to minimise their delay as much as possible. For users at the back of the queue, their welfare decrease is a cost on the rollup system as a whole.</p><p>It is typical (at least in the Ethereum world) to rely on fee markets to operate this allocation, <a href="https://barnabe.substack.com/p/congestion-control-and-eip1559?utm_source=url">making this cost explicit</a>.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> Without a fee market or some form of congestion pricing, users either &#8220;pay in time&#8221; (are included later), bribe block proposers off-chain for inclusion or repeatedly resend their transaction to guarantee one of them will be picked up from the mempool. In all these instances, users express their loss of utility from congestion by expending resources to prevent this loss.</p><h2>Rollup revenues</h2><p>Now that we are clear about the costs of a rollup, we&#8217;ll try and reason about system revenues. Here we distinguish two main sources: <em>transaction value</em> and <em>issuance</em>.</p><h3>Transaction value</h3><p>Users obtain some <strong>value</strong> from transacting on a rollup rather than elsewhere, and are thus prepared to expend fees for the services they obtain. Value here refers to the <em>utility</em> a user obtains from having their transaction included on the rollup. If I have $50 utility for inclusion, I am willing to pay up to that amount so that my transaction is included. If I end up paying $2, my surplus is worth $48. The revenue of whoever receives the fee is $2, but from the rollup <em>system</em> perspective, the initial inflow is $50 worth of value.</p><p>Second, whenever the transaction contains positive <strong>MEV</strong>, e.g., the transaction is a sandwich-able swap on some DEX, this quantity is added to our notion of transaction value. It does not matter at this point who receives this value, whether it&#8217;s the sequencer extracting the value, a user sandwiching the transaction or something else. The only thing that matters here is that our initial transaction brought more value to the system as a whole than the original user would receive from it. This gives us:</p><blockquote><p><em>Transaction value = User value + MEV</em></p></blockquote><h3>Issuance</h3><p>A second source of revenue is <strong>issuance</strong>. On the base layer, block producers receive revenue in the form of newly-minted coins, issuance of the cryptoasset native to the network they help maintain. This revenue offsets their infrastructure costs, with more block producers joining as long as it is profitable for them to do so.</p><p>Assume a rollup is able to mint their own token, and this token has non-zero value. The rollup may pay for some of its operations by issuing new tokens to cover its obligations. Here the model is fuzzier, with various ways of spending that revenue source on the rollup costs. For now, let&#8217;s only consider that it is possible to issue valuable tokens, and by this act bring more value into the system.</p><h2>Pass the buck: rollup edition</h2><p>Summarising, a rollup system includes three parties: the users, the rollup operators and the base layer. Running the system incurs three types of costs: running cost of operations, data publication costs on the base layer and congestion costs. The system receives revenue in two forms: transaction value and issuance.</p><p>Now it is simply a game of matching who pays for what, and when. Some pairs are easy to dispatch. The operator <em>must</em> pay the L1 data publication fee to the base layer. They must pay for it exactly when they publish the data, and at the rate quoted by the base layer.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><p>When fees are dynamic, priced in a fee market, L2 congestion costs are also immediate. Users observe the current demand for rollup blockspace and adjust their fees given the available supply. For instance, rollups may want to deploy an EIP-1559-style market mechanism on top of their network to govern inclusion of L2 transactions. An L2 basefee is then available to enable easy estimation of current L2 congestion costs by the users.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sFCa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sFCa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sFCa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sFCa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sFCa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sFCa!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg" width="1200" height="676.6483516483516" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:821,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:336892,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sFCa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sFCa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sFCa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sFCa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2cc59ed2-81de-45a8-a4c8-f18a8edb270d_1620x913.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A full view of the system, with inflows representing revenue (transaction value + issuance) and outflows representing costs (L2 operator costs, L1 data publication costs, congestion costs). Fees transfer value between parties.</figcaption></figure></div><h3>Budget balance: a limit to passing the buck</h3><p>Let&#8217;s add a new constraint to our system, <em>operator</em> <em>budget balance</em>. We assume that the rollup operator cannot operate at a loss, i.e., they must at least receive a revenue equal to or greater than their costs. This assumption may not always hold, yet it appears critical to me if we care about a sufficiently decentralised and open set of operators in a future where operators are decentralised. Operators who operate at a loss may price out less well-capitalised players and restrict the set of operators.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> A smaller set of operators decrease censorship-resistance guarantees, where in the worst case a user must force include their transaction via the base layer, incurring high fees.</p><p>Issuance comes in handy as a slack variable to ensure budget balance. Whenever operators are &#8220;too unprofitable&#8221;, they leave the system, increasing the share of issuance received by remaining operators until balance is achieved again. Similarly when operators are &#8220;too profitable&#8221;, new entrants compete to eat a share of the profits until operators are once again budget-balanced.</p><h3>Maintaining operator budget balance with delayed payments</h3><p>With the budget balance rule, we must consider how operators maintain a non-negative balance. Their principal outflows, L1 data publication fees, are variable, and charged separately from their principal inflow, transaction fees. We make the assumption that operators have perfect knowledge of their L2 operator costs, and quote an exact price for it to the user at transaction time (akin to <a href="https://notes.ethereum.org/@barnabe/rk5ue1WF_">their knowledge of uncle rates and the corresponding miner fee compensating them</a>). But how should they quote users for the eventual L1 data publication cost, realised later in time?</p><p>Today, rollups apply heuristics to hedge themselves against L1 data publication cost variability. In one instance, the rollup observes the current L1 basefee (thanks, <a href="https://eips.ethereum.org/EIPS/eip-3198">EIP-3198</a>!) and pad the rate with an extra buffer, overcharging the user early in case operators must pay more later to publish the data. In another, users are charged a function of the L1 basefee&#8217;s running average, to even out fluctuations over the long term.</p><p>In my view, the natural solution is to invoke derivatives, e.g., <a href="https://oiler.network">simple L1 basefee future contracts</a>. At transaction time, the user is charged a fee defraying the cost of locking in a future price for the publication of data on the base layer. By reducing pessimistic overpayment, savings are passed on to the users. Investigating the optimal design of such derivatives remains an open question.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DoSn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DoSn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DoSn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DoSn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DoSn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DoSn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg" width="1398" height="483" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:483,&quot;width&quot;:1398,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103958,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DoSn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DoSn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DoSn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DoSn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff01a4f5d-7541-4bb1-9b5b-1739158a2632_1398x483.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Users pay the operator at the time they transact, yet operators must pay for the data publication at the rate quoted by the base layer, which is variable</figcaption></figure></div><h3>What to do with congestion fees?</h3><p>Assuming the rollup perfectly prices the cost of congestion when users transact, there is now revenue available in the form of congestion fees. Today, on the Ethereum base layer, these fees are burned. The first reason for doing so is incentive-compatibility: should congestion fees return to the block producer, the protocol-quoted basefee would no longer be binding, destroying the purpose of EIP-1559. But <a href="https://twitter.com/barnabemonnot/status/1423144246949814275">burning is not the only option preserving incentive-compatibility</a>.</p><p>It has been proposed to direct all &#8220;rollup exhaust&#8221;, fees arising from economic externalities, e.g., congestion or MEV, towards public goods funding.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a> This is not a bad solution. Congestion pricing in cities is typically ear-marked for improvements of the public transportation system, i.e., it is money spent on compensating for the negative externalities which, when priced accordingly, provide this revenue.</p><p>Notice that I slipped MEV in there&#8230; why should we think about it the same way we think about congestion fees? First, because like congestion, MEV is an externality. The simple act of emitting an MEV-carrying transaction creates a positive externality to those who can capture it.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a> Externalities are &#8220;unmatched value&#8221;, i.e., they arise from some original economic activity that balanced useful work with payment for that work (e.g., users pay for the L2 operator costs; operators pay for the L1 publication costs), but they produce or destroy some extra bit of value in process.</p><p>This is most clearly articulated in the concept of <a href="https://ethresear.ch/t/mev-auction-auctioning-transaction-ordering-rights-as-a-solution-to-miner-extractable-value/6788">MEV auctions</a>. In this design, operators compete for the right to make a block based on how much value they can extract from it. Implicit in this notion of value are congestion costs, which users express by bidding against one another. More explicit is the MEV itself, which would-be operators compete on. Once again, assuming no operator is allowed to operate at loss, their bids must reflect their true capacity of extracting value from the block, i.e., an operator would bid the sum of user fees in their batch <em>plus</em> the MEV they extract from the batch. Meanwhile, assuming all operators must pay an equal amount in L2 operator costs and L1 data publication costs are charged precisely to the user, we obtain:</p><ul><li><p><strong>User fee</strong> = L1 data publication fee + L2 operator fee + L2 congestion fee</p></li><li><p><strong>Operator cost</strong> = L2 operator cost + L1 data publication cost</p></li><li><p><strong>Operator revenue = </strong>User fees + MEV</p></li><li><p><strong>Operator profit = Operator revenue - Operator cost</strong> = L2 congestion fee + MEV</p></li></ul><p>In a world where operators compete in an efficient market to win the right to propose a block, the operators must bid away the entirety of their profits, i.e., exactly the congestion fees and the MEV available in their batch.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-6" href="#footnote-6" target="_self">6</a> This is value that &#8220;slipped&#8221; into the system: the first from users protecting against losses due to congestion, the second from ripple effects caused by the initial transaction. This value was never anyone&#8217;s to begin with, so why shouldn&#8217;t it be captured and redistributed somehow?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MfsT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MfsT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MfsT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MfsT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MfsT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MfsT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg" width="1456" height="739" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:739,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:359551,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MfsT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MfsT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MfsT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MfsT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0c514d4-4654-438b-82eb-37d9d2417618_1574x799.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Users are willing to pay up to their value for inclusion in transaction fees. Externalities are denoted by dashed rectangles.</figcaption></figure></div><h2>Unboxing</h2><p>Many assumptions were made in the piece. For instance, I have assumed &#8220;operator budget balance&#8221;, as I believe the community should consider rollups who operate at a loss with a critical eye, potentially less decentralisation-ready. Issuance helps to re-establish budget balance, though it relies on an exogenous price signal (the token value) to harmonise operator incentives. In this view, it remains preferable for operators to price as precisely as possible what they can price, e.g., their L2 operator costs and L1 data publication costs. This avoids future revenue mismatches, where an operator expected a higher token price to cover their operations.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-7" href="#footnote-7" target="_self">7</a></p><p>But this is not a call to advocate for a specific form of rollup economics. The design space remains wide open. Unboxing L2 operator costs reveals more complexity that we haven&#8217;t explored here, e.g., the market institutions supporting a <a href="https://www.youtube.com/watch?v=G7UllXTcjm4">decentralised infrastructure to generate validity proofs for zk-rollups</a>. Focusing on specific types of users on the rollup, e.g., fast withdrawal services from L2 to L1 or cross-L2 bridges, would also reveal different facets of user demand. With clear ideas about costs, revenues and fees, it is now hopefully easier to reason about the outcomes and business objectives a rollup should achieve, and the means to achieve them.</p><div><hr></div><h4>Other resources</h4><ul><li><p>John Adler&#8217;s <a href="https://docs.google.com/presentation/d/1lW7HSWtb5iPg0BLpBoKNraykAC7KVFK4HOoWqzsWP_g/edit">Wait, it&#8217;s all resource pricing?</a> (slides, video <a href="https://www.youtube.com/watch?v=YoWMLoeQGeI">here</a>) gives more context to the L2 operator costs and the separability of execution and data availability costs.</p></li><li><p>Patrick McCorry, Chris Buckland, Bennet Yee, Dawn Song, <a href="https://eprint.iacr.org/2021/1589.pdf">SoK: Validating Bridges as a Scaling Solution for Blockchains</a></p></li></ul><div><hr></div><p><em>Many thanks to Anders Elowsson, Vitalik Buterin, Fred Lacs and Alex Obadia for many useful comments, and Michael Silberling for his insights and discussion.</em></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Vitalik also suggested that this cost is an<em> opportunity cost</em> to the blockspace supplier. In this reading, if you are included, you ought to pay the supplier at least what they could have won from including <em>someone else</em> instead.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>This means we can unbox our model further. The data publication cost is quoted by evaluating congestion on the base layer and making whole base layer operators, i.e., block producers!</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Centralisation of the rollup operator set may not be quite as bad as centralisation of the base layer block producer set, but evaluating decentralisation trade-offs to the rollup network is left for a future piece.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>At the time of writing, even mismatched fees such as those received from users to hedge against data publication costs are directed to some public goods funding in the case of Optimism&#8217;s retroPGF initiative.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>Interestingly, with gas price auctions, the fight to capture this positive externality creates negative externalities to the network as a whole, who must deal with greater congestion!</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-6" href="#footnote-anchor-6" class="footnote-number" contenteditable="false" target="_self">6</a><div class="footnote-content"><p>Note that market efficiency is no longer a fair assumption in a world where some operators obtain private transaction order flow, or some are engaged in <a href="https://arxiv.org/abs/2112.01472v2">cross-domain MEV</a> (h/t Alex Obadia!) In the latter case, market efficiency among cross-domain extractors could re-establish market efficiency in single-domain builder auctions.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-7" href="#footnote-anchor-7" class="footnote-number" contenteditable="false" target="_self">7</a><div class="footnote-content"><p>This model is not so terrible by the way! This is mostly the model under which miners have operated all this while. Yet we must bear in mind that any additional risk taken on by the operator is a fresh pressure to centralise, barring the availability of risk management primitives, e.g., derivatives. Even in the presence of such options to hedge against risk, the know-how necessary to conduct good business may be high, deterring less sophisticated operators.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[A data-driven view of the beacon chain incident]]></title><description><![CDATA[Prysm clients stopped proposing blocks last weekend, incurring limited delays and penalties but no loss of finalisation]]></description><link>https://barnabe.substack.com/p/a-data-driven-view-of-the-beacon</link><guid isPermaLink="false">https://barnabe.substack.com/p/a-data-driven-view-of-the-beacon</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Fri, 30 Apr 2021 11:21:35 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>On Friday, April 23rd, at epoch 32302 of the beacon chain, a bug affecting eth1 deposits took down the block producing abilities of most Prysm validator clients. The issue disappeared on its own during epoch 32320, before reappearing again the next day.</p><p>The short hiccups are worth dissecting to understand better how the beacon chain, a complex system driven by thousands of separate entities around the planet, behaves under and recovers from momentary lapses of reason. We'll see that even though its heart rate dropped significantly, the system was able to pump enough blood around to keep itself conscious throughout.</p><p>The efforts to find the bug are well-detailed in the <a href="https://medium.com/prysmatic-labs/eth2-mainnet-incident-retrospective-f0338814340c">Prysmatic Labs team post-mortem report</a>, a recommended read for the full picture. To provide more background, this is the &#8220;Root cause&#8221; section of the report:</p><blockquote><p>Eth2 is loosely coupled to the ETH1 chain, depending on it only for validator deposit verification. That is, the Eth2 proof-of-stake chain can continue even if validators are voting on junk data. The only thing that will fail is the onboarding of new validator deposits until the chain votes on the correct ETH1 data once again. This &#8220;voting&#8221; is done in &#8220;voting periods&#8221;, which are set to periods of<a href="https://github.com/ethereum/eth2.0-specs/blob/2628721f96dacf6e24f44ca64222e6f96ffce557/configs/mainnet/phase0.yaml#L92">&nbsp;64 epochs</a>&nbsp;on mainnet today (approximately 6.8 hours).</p><p>The way voting works is a simple majority rule, and the Eth2 specification for validators&nbsp;<a href="https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/validator.md#eth1-data">explains</a>&nbsp;how this should work. Unfortunately, Prysm&#8217;s implementation of &#8220;voting with the majority&#8221; was missing some validation. What happened in the incident was a bug within Prysm led a block proposer to create a completely invalid ETH1 deposit tree root, and other Prysm nodes were the first to see it. Then, they would vote on it as Prysm was following a simple &#8220;voting with the majority&#8221; rule without explicit validation.</p><p>The effect of all Prysm nodes then &#8220;snowballing&#8221; into voting on the invalid information led to block proposers unable to include blocks with deposits in the chain, as the proposal would fail due to the deposits not verifying with respect to those nodes&#8217; idea of the ETH1 deposit tree root. The incident resolved itself after the end of a voting period, but would continue to happen once more if left unanswered.</p><p>The actual root cause of the &#8220;corrupted&#8221; ETH1 data deposit tree root was due to a bug in the cache initialization for deposits affecting only a subset of beacon nodes using Prysm. This led those nodes to produce&nbsp;<strong>bad deposit tree roots</strong>, which then other Prysm nodes voted on, causing the incident.</p></blockquote><p>In this post, I&#8217;ll look at three charts plotting the course and consequences of the client incident, drawing lessons on the behaviour of the protocol.</p><h2>Prysm clients stop proposing</h2><p>With a simple analysis on the graffiti included with beacon chain blocks, we can get a rough idea of the client software used by validators to build their blocks. By default, Lighthouse, Nimbus and Teku all include a graffiti string with their name and version. Prysm simply defaults to the empty string. We can also look up <a href="https://beaconcha.in/poap">POAPs</a> in case some validators still use those. This gives us the following picture:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b1tT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b1tT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg 424w, https://substackcdn.com/image/fetch/$s_!b1tT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg 848w, https://substackcdn.com/image/fetch/$s_!b1tT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!b1tT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b1tT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg" width="853" height="570" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:853,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:40901,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!b1tT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg 424w, https://substackcdn.com/image/fetch/$s_!b1tT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg 848w, https://substackcdn.com/image/fetch/$s_!b1tT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!b1tT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2aca8316-b368-4829-bc02-982e5360c040_853x570.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Blocks produced per client per epoch</figcaption></figure></div><p>The column height indicates how many blocks each client proposed each epoch. Prysm is very much the dominant client on the network today, and it&#8217;s easy to observe the difference in blocks starting from epoch 32302, even among blocks that were tagged &#8220;undecided&#8221;. On <a href="https://beaconcha.in/epoch/32303">beaconcha.in</a> too we see blocks missing from this epoch onwards.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BTdN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BTdN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png 424w, https://substackcdn.com/image/fetch/$s_!BTdN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png 848w, https://substackcdn.com/image/fetch/$s_!BTdN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png 1272w, https://substackcdn.com/image/fetch/$s_!BTdN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BTdN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png" width="1018" height="358" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:358,&quot;width&quot;:1018,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:63772,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BTdN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png 424w, https://substackcdn.com/image/fetch/$s_!BTdN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png 848w, https://substackcdn.com/image/fetch/$s_!BTdN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png 1272w, https://substackcdn.com/image/fetch/$s_!BTdN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a7698df-90f7-48f3-a74b-026cd845d9b3_1018x358.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Delayed inclusion</h2><p>On the beacon chain, validators are expected to produce votes indicating their view of the network, including the FFG source and target checkpoints as well as the current head of the chain, returned by the LMD-GHOST fork choice. Each validator is assigned one attestation slot per epoch, for which they are expected to produce an attestation. Once the attestation is broadcasted, it can be included at least one slot after the attestation slot, and at most 32 slots after.</p><p>In the figure below we plot the average inclusion delay of validators in red. This average tends to hover around 1: most blocks are proposed, so validators are included as soon as possible.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MTj8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MTj8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MTj8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MTj8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MTj8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MTj8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg" width="702" height="567" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:567,&quot;width&quot;:702,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19796,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MTj8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MTj8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MTj8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MTj8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0d48ffac-d867-4c52-98ed-6490562ae61a_702x567.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Average inclusion delay (red) and average <em>minimal</em> inclusion delay (green)</figcaption></figure></div><p>Past epoch 32302, the inclusion delay clearly increases, with validators needing to wait a longer amount of time for their attestations to be included.</p><p>One might ask: &#8220;Validators had to wait because blocks were unavailable, but once blocks were produced, were they included?&#8221; In green we plot the average <em>minimal </em>inclusion delay, where we count how long an attestation had to wait <em>after</em> a block was proposed. In general, this number is 0, since attestations are included as soon as a new block is available. After epoch 32302 though, this number significantly increased.</p><p>This is noteworthy since it could be the case that stranded attesting validators would get on the first available lifeboat (block) once that boat is ready to ship, but it&#8217;s not what happened. Instead, some validators had to wait several lifeboats before boarding and being included on-chain.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IjbT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IjbT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png 424w, https://substackcdn.com/image/fetch/$s_!IjbT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png 848w, https://substackcdn.com/image/fetch/$s_!IjbT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png 1272w, https://substackcdn.com/image/fetch/$s_!IjbT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IjbT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png" width="796" height="218" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:218,&quot;width&quot;:796,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:34564,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IjbT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png 424w, https://substackcdn.com/image/fetch/$s_!IjbT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png 848w, https://substackcdn.com/image/fetch/$s_!IjbT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png 1272w, https://substackcdn.com/image/fetch/$s_!IjbT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2163c1e4-a3f7-4650-8133-9889a4ddef53_796x218.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><a href="https://beaconcha.in/block/1033693">The block at slot 1033704</a> is one of the first blocks proposed during the incidents, coming after a series of 10 missed blocks in the slots prior. The block contains 128 aggregate <strong>attestations</strong>, the maximum a block can include. Each aggregate synthesises the votes of a slot <em>committee</em>, among which validators attesting for a slot are partitioned. There are now around 30 committees per attesting slot, so a block appearing after 3 missed blocks can barely include all aggregate attestations the 3 missed blocks were supposed to include (3 times 30, one per slot committee), plus its own (30 more). A block appearing after 10 missed slots has a lot of catching up to do.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> As a consequence, some validators reported missed attestations, having been unable to board before 32 slots went by.</p><h2>Lost profits</h2><p>As seen in the previous section, the chain was stressed, lifeboats were full, yet finalisation never stopped (the chain typically finalises as long as 2/3rds of the stake is online and included). This is <strong>excellent</strong>, and strong evidence for the robustness of the protocol. Yet block proposers who were affected by the incident lost block proposing rewards, which are a significant, if infrequent, share of validator rewards. Online validators who could not get on a lifeboat in time also lost a small share of rewards.</p><p>We can get a better idea of the loss incurred by looking at the net difference in balances between each epoch during the incident. We only chart it for the first occurrence here.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s6NK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s6NK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg 424w, https://substackcdn.com/image/fetch/$s_!s6NK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg 848w, https://substackcdn.com/image/fetch/$s_!s6NK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!s6NK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s6NK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg" width="700" height="569" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:569,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:27052,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!s6NK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg 424w, https://substackcdn.com/image/fetch/$s_!s6NK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg 848w, https://substackcdn.com/image/fetch/$s_!s6NK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!s6NK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9737600a-5527-4ef6-b510-7c33cbb4bb87_700x569.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The height of the column indicates the net profit earned by all validators at the end of each epoch. The protocol either mints rewards for validators who performed their duties and were included, or decreases the balance of validators who failed at either. Adding up these rewards and losses we obtain the chart above.</p><p>The white area between epoch 32302 and 32320 gives us a rough idea of the profit loss by validators. It is hard to get a fully precise number: we ought to know which validators were online and validating but were unsuccessful at being included to write down the loss as caused by the incident. So taking the few epochs net profit prior to epoch 32302 yields a baseline of around 3.93 ETH per epoch. Summing up the differences between this baseline and the realised net profit between epochs 32302 and 32320, we get a good estimation of the loss, which adds up to around 15.9 ETH, or around $40,000 at $2,500 ETH/USD.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><h2>Closing thoughts</h2><p>Major credits go towards the work of the Prysmatic Labs team and researchers who tracked down the issue and fixed it in a timely manner. Fortunately, finalisation continuing despite the reduced number of produced blocks prevented the quadratic inactivity leak, which incurs more severe penalties on validators failing to be included.</p><p>Yet it&#8217;s also important to recognise limits of the protocol. As we&#8217;ve seen, each slot provides the opportunity for 128 aggregate attestations to be included, and we have 32 slots per epoch, so 4096 opportunities to include aggregates per epoch. If a fraction <em>f </em>of blocks is missing, we are reduced to 4096 * (1-<em>f </em>) opportunities. Since each slot committee targets a membership of 128 validators, for <em>N</em> currently active validators we have ~<em>N</em>/128 committees per epoch, who must fit within 4096 * (1-<em>f </em>) opportunities. With the current numbers, we are running out of opportunities as soon as over <em>f</em> = 75% of blocks are missing. With Prysm&#8217;s dominance among validator clients, we got close to this number during the incidents, and sometimes even above, so some attestations were left behind.</p><p>At the risk of repeating an oft-heard refrain, client diversity matters. All of the four major eth2 clients have produced excellent infrastructure, and it&#8217;s worth giving a shot to another one of them if you haven&#8217;t yet.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> Check out for instance Michael Sproul&#8217;s guide to setting up <a href="https://lighthouse.sigmaprime.io/switch-to-lighthouse.html">Lighthouse</a>, read about <a href="https://twitter.com/jcksie/status/1384154639596101632">Nimbus's latest optimisations</a> from Jacek Sieka or Teku&#8217;s Ben Edgington&#8217;s <a href="https://hackmd.io/@benjaminion/eth2_news/https%3A%2F%2Fhackmd.io%2F%40benjaminion%2Fwnie2_210424">own take on client diversity</a>. Their respective Discords and the folks at <a href="https://twitter.com/ethStaker">EthStaker</a> are also here to help!</p><div><hr></div><p><em>Many thanks to Danny Ryan for comments. All code used to obtain the data and plots available <a href="https://github.com/ethereum/rig/blob/master/eth2data/scripts/20210424_plots.R">here</a>.</em></p><p><em>Subscribe to this (infrequent) newsletter to read more about Ethereum, incentives and in-depth analysis</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://barnabe.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://barnabe.substack.com/subscribe?"><span>Subscribe now</span></a></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>See also my previous piece on <a href="https://ethereum.github.io/rig/eth2data/notebooks/mainnet_explore.html">Exploring the first 1000 epochs of eth2</a> for more details on aggregation</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>I have not tallied up the loss for the second incident, but the post-mortem mentions a smaller figure for it (~$0.22 per validator)</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>I&#8217;ve tested all four clients during initial and later testnets, if that&#8217;s worth anything. This beacon can fit so many clients!</p></div></div>]]></content:encoded></item><item><title><![CDATA[The road to Ethereum]]></title><description><![CDATA[Visualising a merged, data-sharded, rollup-centric future]]></description><link>https://barnabe.substack.com/p/eth2</link><guid isPermaLink="false">https://barnabe.substack.com/p/eth2</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Tue, 20 Apr 2021 14:26:42 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>The following is adapted from a talk given on Friday, April 9th</em></p><p>This is the road to Ethereum. Ethereum <em>today</em> is what eth2 developers are calling &#8220;eth1&#8221;, the current Proof-of-Work (PoW) chain that we all know and love. Ethereum <em>tomorrow</em> isn&#8217;t eth1, nor eth2, it&#8217;s just&#8230; Ethereum: a synthesis of eth2 efforts at deploying Proof-of-Stake (PoS) and sharding on top of today&#8217;s execution layer.</p><p>Word soup. Let&#8217;s backtrack. This is today.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2FyB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2FyB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png 424w, https://substackcdn.com/image/fetch/$s_!2FyB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png 848w, https://substackcdn.com/image/fetch/$s_!2FyB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png 1272w, https://substackcdn.com/image/fetch/$s_!2FyB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2FyB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png" width="815" height="785" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:785,&quot;width&quot;:815,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79406,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2FyB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png 424w, https://substackcdn.com/image/fetch/$s_!2FyB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png 848w, https://substackcdn.com/image/fetch/$s_!2FyB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png 1272w, https://substackcdn.com/image/fetch/$s_!2FyB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ef50b5b-0852-4db9-9ba6-35d834942706_815x785.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Users want to do things (&#8220;transactions&#8221;), so they send their transactions to miners, who package them nicely into blocks and add their blocks into an ever-growing chain. Miners run the PoW consensus mechanism<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> to decide who&#8217;s next to add a block, and also execute transactions contained in the block to make sure they are valid.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Cp8W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Cp8W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png 424w, https://substackcdn.com/image/fetch/$s_!Cp8W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png 848w, https://substackcdn.com/image/fetch/$s_!Cp8W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png 1272w, https://substackcdn.com/image/fetch/$s_!Cp8W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Cp8W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png" width="745" height="553" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:553,&quot;width&quot;:745,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:211061,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Cp8W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png 424w, https://substackcdn.com/image/fetch/$s_!Cp8W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png 848w, https://substackcdn.com/image/fetch/$s_!Cp8W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png 1272w, https://substackcdn.com/image/fetch/$s_!Cp8W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a069185-527d-49f3-bee8-4dbeaecb41e5_745x553.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">It&#8217;s not all bad but I needed a catchy title.</figcaption></figure></div><p>PoW requires a large mass of hardware running intensive computation, incurring exorbitant energy consumption. We&#8217;re not going to talk about waste in the sense that most cryptocurrency critics intend (&#8220;why would we need a payment system that uses &lt;country&gt;&#8217;s energy??&#8221;) but really waste in the sense that if we can do something with a strictly smaller absolute number of kWh, we should.</p><div><hr></div><p>So enter Proof-of-Stake, replacing large swathes of mining rigs with one smol server, and replacing miners with validators.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Evoe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdace4364-aabf-4f60-8063-23c4248e81fc_713x347.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Evoe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdace4364-aabf-4f60-8063-23c4248e81fc_713x347.png 424w, https://substackcdn.com/image/fetch/$s_!Evoe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdace4364-aabf-4f60-8063-23c4248e81fc_713x347.png 848w, https://substackcdn.com/image/fetch/$s_!Evoe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdace4364-aabf-4f60-8063-23c4248e81fc_713x347.png 1272w, https://substackcdn.com/image/fetch/$s_!Evoe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdace4364-aabf-4f60-8063-23c4248e81fc_713x347.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Evoe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdace4364-aabf-4f60-8063-23c4248e81fc_713x347.png" width="713" height="347" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/dace4364-aabf-4f60-8063-23c4248e81fc_713x347.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:347,&quot;width&quot;:713,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:28552,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Evoe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdace4364-aabf-4f60-8063-23c4248e81fc_713x347.png 424w, https://substackcdn.com/image/fetch/$s_!Evoe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdace4364-aabf-4f60-8063-23c4248e81fc_713x347.png 848w, https://substackcdn.com/image/fetch/$s_!Evoe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdace4364-aabf-4f60-8063-23c4248e81fc_713x347.png 1272w, https://substackcdn.com/image/fetch/$s_!Evoe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdace4364-aabf-4f60-8063-23c4248e81fc_713x347.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Also they lose coins if they don&#8217;t do 2. properly</figcaption></figure></div><p>So what is 2.? What are validators validating exactly?</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xsh6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xsh6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xsh6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xsh6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xsh6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xsh6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg" width="1456" height="772" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:772,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:480646,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xsh6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xsh6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xsh6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xsh6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1bdd701-47d8-479c-be09-4962683cece0_1619x858.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Consensus layer ensures everyone agrees on the correct data. Execution layer actually interprets this data, makes it meaningful. &#8220;Data&#8221; is any kind of interaction with the blockchain, e.g., deploying a contract, doing trades on an exchange, sending a payment etc&#8230;</p><p>The heartbeat of a blockchain is the introduction of a new block in the chain. When that happens, there is a <em>state transition</em> between the state before the new block and the state after. The <em>state</em> summarises the whole bunch of data that came previous, between blocks 0 and N.</p><p>For instance, if the state keeps a ledger with Alice and Bob&#8217;s balances, and the new block contains a payment from Bob to Alice for 10 coins, the state after the block will have the new balances. The dashed blob on the right of the &#8220;State after block N+1&#8221; bubble shows that a new block might either modify existing state (e.g., Alice and Bob&#8217;s balances) or create new state (deploy a new contract, or adding Carol to the ledger&#8230;)</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9oOp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9oOp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png 424w, https://substackcdn.com/image/fetch/$s_!9oOp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png 848w, https://substackcdn.com/image/fetch/$s_!9oOp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png 1272w, https://substackcdn.com/image/fetch/$s_!9oOp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9oOp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png" width="777" height="309" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:309,&quot;width&quot;:777,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:54941,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9oOp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png 424w, https://substackcdn.com/image/fetch/$s_!9oOp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png 848w, https://substackcdn.com/image/fetch/$s_!9oOp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png 1272w, https://substackcdn.com/image/fetch/$s_!9oOp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9cbdc3a3-02b7-4e6a-8e97-129b5a47b703_777x309.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The general gist of rollups and eth2 efforts tackle point 1. of our plan, decorrelating consensus and execution. So how&#8217;s that going?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eDid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eDid!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png 424w, https://substackcdn.com/image/fetch/$s_!eDid!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png 848w, https://substackcdn.com/image/fetch/$s_!eDid!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png 1272w, https://substackcdn.com/image/fetch/$s_!eDid!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eDid!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png" width="819" height="254" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:254,&quot;width&quot;:819,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:58623,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eDid!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png 424w, https://substackcdn.com/image/fetch/$s_!eDid!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png 848w, https://substackcdn.com/image/fetch/$s_!eDid!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png 1272w, https://substackcdn.com/image/fetch/$s_!eDid!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8784c55-06ee-4dde-b10c-bf6b1a92f8f6_819x254.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Since December 2020, we have two chains running in parallel:</p><ul><li><p>At the top, the PoS-consensus chain (a.k.a., beacon chain)</p></li><li><p>At the bottom, our ol&#8217; reliable PoW-consensus+execution chain (a.k.a., &#8220;eth1&#8221;).</p></li></ul><p>They run parallel, but they talk to each other. Well, it&#8217;s pretty one-sided at the moment&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ENoT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F562fd371-f77d-4946-82de-cc73947eb565_808x492.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ENoT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F562fd371-f77d-4946-82de-cc73947eb565_808x492.png 424w, https://substackcdn.com/image/fetch/$s_!ENoT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F562fd371-f77d-4946-82de-cc73947eb565_808x492.png 848w, https://substackcdn.com/image/fetch/$s_!ENoT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F562fd371-f77d-4946-82de-cc73947eb565_808x492.png 1272w, https://substackcdn.com/image/fetch/$s_!ENoT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F562fd371-f77d-4946-82de-cc73947eb565_808x492.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ENoT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F562fd371-f77d-4946-82de-cc73947eb565_808x492.png" width="808" height="492" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/562fd371-f77d-4946-82de-cc73947eb565_808x492.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:492,&quot;width&quot;:808,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69222,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ENoT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F562fd371-f77d-4946-82de-cc73947eb565_808x492.png 424w, https://substackcdn.com/image/fetch/$s_!ENoT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F562fd371-f77d-4946-82de-cc73947eb565_808x492.png 848w, https://substackcdn.com/image/fetch/$s_!ENoT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F562fd371-f77d-4946-82de-cc73947eb565_808x492.png 1272w, https://substackcdn.com/image/fetch/$s_!ENoT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F562fd371-f77d-4946-82de-cc73947eb565_808x492.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To become a validator on the PoS-consensus chain, a user on the PoW-consensus+execution chain locks up 32 ETH in the deposit contract, which is automagically transposed to the PoS-consensus chain. Once the validator is activated, they can start validating and receiving rewards.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Yz2H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98532879-c382-4089-8736-59ce22423433_836x427.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Yz2H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98532879-c382-4089-8736-59ce22423433_836x427.png 424w, https://substackcdn.com/image/fetch/$s_!Yz2H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98532879-c382-4089-8736-59ce22423433_836x427.png 848w, https://substackcdn.com/image/fetch/$s_!Yz2H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98532879-c382-4089-8736-59ce22423433_836x427.png 1272w, https://substackcdn.com/image/fetch/$s_!Yz2H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98532879-c382-4089-8736-59ce22423433_836x427.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Yz2H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98532879-c382-4089-8736-59ce22423433_836x427.png" width="836" height="427" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/98532879-c382-4089-8736-59ce22423433_836x427.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:427,&quot;width&quot;:836,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75434,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Yz2H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98532879-c382-4089-8736-59ce22423433_836x427.png 424w, https://substackcdn.com/image/fetch/$s_!Yz2H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98532879-c382-4089-8736-59ce22423433_836x427.png 848w, https://substackcdn.com/image/fetch/$s_!Yz2H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98532879-c382-4089-8736-59ce22423433_836x427.png 1272w, https://substackcdn.com/image/fetch/$s_!Yz2H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98532879-c382-4089-8736-59ce22423433_836x427.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This one-sided conversation hopefully won&#8217;t last long. The Merge bridges the gap between the PoS-consensus chain and the PoW-consensus+execution chain permanently, allowing validators to produce blocks for the execution layer. After the merge, we therefore have two chains:</p><ul><li><p>The same PoS-consensus chain</p></li><li><p>A PoS-backed-execution chain (f.k.a, &#8220;eth1&#8221;)</p></li></ul><p>When this happens, validators of the PoS-consensus chain will finally be able to redeem and withdraw their earnings and deposits, sending them back onto the PoS-backed-execution chain.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><div><hr></div><p>All that in itself gives us the move from a PoW environment to a fully fledged PoS environment. But notice that it doesn&#8217;t quite increase the <em>bandwidth</em> of the chain&#8212;how much execution a block is packing&#8212;, which is the goal of <em>sharding</em>. Before we get to that, let&#8217;s talk about other ways to scale execution if we only have one execution chain.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I2Sc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I2Sc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png 424w, https://substackcdn.com/image/fetch/$s_!I2Sc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png 848w, https://substackcdn.com/image/fetch/$s_!I2Sc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png 1272w, https://substackcdn.com/image/fetch/$s_!I2Sc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I2Sc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png" width="775" height="479" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:479,&quot;width&quot;:775,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:62987,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I2Sc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png 424w, https://substackcdn.com/image/fetch/$s_!I2Sc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png 848w, https://substackcdn.com/image/fetch/$s_!I2Sc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png 1272w, https://substackcdn.com/image/fetch/$s_!I2Sc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d7be592-9c26-4fa8-9ba9-c6a256c5f516_775x479.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Colour summary: consensus = purple, execution = green, data = yellow</figcaption></figure></div><p>Enter rollups, one of the myriad scaling solutions available, but perhaps the one offering the most optimal trade-offs from a protocol design perspective. The idea is simple: synthesise state transitions by committing <em>on-chain</em> to data necessary to <em>recreate</em> the execution of the state transition, and push execution off-chain. If anyone has a problem with the execution result, or if someone forgets to execute in the first place, the data is there for all to process. Permissionless!</p><p>To be more precise, the data necessary for execution (transaction inputs) is separated from its containers (transactions) and &#8220;bundled&#8221; in a space-saving manner. Meanwhile, rollups run besides the execution chain, committing to the data and executing it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ryhD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ryhD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png 424w, https://substackcdn.com/image/fetch/$s_!ryhD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png 848w, https://substackcdn.com/image/fetch/$s_!ryhD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png 1272w, https://substackcdn.com/image/fetch/$s_!ryhD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ryhD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png" width="832" height="388" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:388,&quot;width&quot;:832,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79974,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ryhD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png 424w, https://substackcdn.com/image/fetch/$s_!ryhD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png 848w, https://substackcdn.com/image/fetch/$s_!ryhD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png 1272w, https://substackcdn.com/image/fetch/$s_!ryhD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fac633f26-fc57-44e3-9bcc-5a2e3f014167_832x388.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To &#8220;get on a rollup&#8221;, users deposit assets in the rollup&#8217;s contract on the execution chain (&#8220;eth1&#8221;), then they do stuff on the rollup, such as trade them with other assets also on the rollup. Once they are done, users withdraw assets back from the rollup onto the execution chain. <em>Voil&#224;</em>.</p><p>What is the alternative to rollups? Well, what if instead of having these perpendicular yellow chains, we had a bunch of parallel red chains? As in, what if the eth1 chain was &#8220;duplicated&#8221; and several instances were running side-by-side?</p><p>The issue here is how we deal with several execution chains running in parallel. <a href="https://ethresear.ch/t/cross-shard-defi-composability/6268?u=barnabe">What if something happens on a chain that another needs to know about?</a> This is pretty much the thorny problem of <em>sharding</em>, or dividing execution between multiple chains.</p><p>&#8220;Rollups aren&#8217;t so different!&#8221; you will say, and in essence it&#8217;s true. When you want to do something on another rollup from one rollup, the same thorny questions arise. The point however is that several rollup designs exist and the space of solutions is wide and mostly unexplored. So why not let rollups bootstrap experimentation before enshrining one approach at protocol-level?</p><p>This leads us to&#8230;&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ce2n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ce2n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png 424w, https://substackcdn.com/image/fetch/$s_!ce2n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png 848w, https://substackcdn.com/image/fetch/$s_!ce2n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png 1272w, https://substackcdn.com/image/fetch/$s_!ce2n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ce2n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png" width="811" height="509" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:509,&quot;width&quot;:811,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134713,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ce2n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png 424w, https://substackcdn.com/image/fetch/$s_!ce2n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png 848w, https://substackcdn.com/image/fetch/$s_!ce2n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png 1272w, https://substackcdn.com/image/fetch/$s_!ce2n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd385f189-4e6b-4000-b0c8-5f0fc014e804_811x509.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So you heard about block space scarcity did you? Rollups do need to publish their data, and eth1 block space is rare! Plus as we discussed, cross-shard stuff is hard. So to make lemonade with our lemons, why not use the shards to hold the data that rollups critically need to publish? With 64 shards, that&#8217;s 64 times the bandwidth available now, and possibly more as one shard block would likely hold a much higher amount of data than the eth1 chain blocks currently can.</p><p>It should be emphasised that this doesn&#8217;t mean execution at the shard level is forever excluded. The <a href="https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698">rollup-centric Ethereum</a> is a short-to-mid-term way forward, until (for instance) better cryptographic primitives are found to guarantee correct execution sharded across multiple chains. It&#8217;s all very fascinating and should keep a lot of people busy for a long amount of time. In the meantime, rollups are the way.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qgu-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qgu-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png 424w, https://substackcdn.com/image/fetch/$s_!qgu-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png 848w, https://substackcdn.com/image/fetch/$s_!qgu-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png 1272w, https://substackcdn.com/image/fetch/$s_!qgu-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qgu-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png" width="659" height="447" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:447,&quot;width&quot;:659,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:57060,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qgu-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png 424w, https://substackcdn.com/image/fetch/$s_!qgu-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png 848w, https://substackcdn.com/image/fetch/$s_!qgu-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png 1272w, https://substackcdn.com/image/fetch/$s_!qgu-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F18c01cbc-18ea-4d7f-bcb1-2ca889217868_659x447.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There&#8217;s plenty more work on that side! First let&#8217;s not forget the Merge and data shards are extremely complex endeavours with multiple teams working on either or both at the moment. But even on the rollup side, there are still some extremely juicy questions that are left to explore, and these are but just a few.</p><ul><li><p><a href="https://ethresear.ch/t/mass-migration-to-prevent-user-lockin-in-rollup/7701">Mass migration of users to and from rollups is a very cool concept.</a> Why should you take your own car to go between Layer 1 (eth1) and Layer 2 (rollups) if you have frequent enough public transport shuttling you to and from? What are the economics of this?</p></li><li><p>What if you&#8217;d like to do something on a neighbouring rollup, because they have something cool that yours doesn&#8217;t have? Should you necessarily move from your rollup to L1, and then from L1 to the neighbouring rollup? This seems rather wasteful.</p></li><li><p>Rollups <em>are</em> a massive improvement in bandwidth for current operations, there is no question about this, yet rollups aren&#8217;t the infinite highways users seem to expect. There is still a lot of people wanting to do a lot of stuff, sometimes at the same instant! So rollups will naturally have to deal with congestion, but contrary to the L1 protocol enshrining a particular congestion market (soon, <a href="https://barnabe.substack.com/p/congestion-control-and-eip1559">eip1559</a>), rollups have a much larger design space to explore.</p></li><li><p>Speaking of congestion, and this is more protocol-specific, but we&#8217;ll also see <a href="https://github.com/ethereum/eth2.0-specs/issues/1280">eip1559 playing traffic cop</a> to regulate how much data is published on every data shard, ensuring validators can cope up with the amount. If you thought one eip1559 mechanism was cool, wait until there are 64 running. So where <em>should</em> rollups publish their data? On one shard only to make it accessible without shard-hopping for whoever is listening to it? On multiple shards to take advantage of the planned <a href="https://ethresear.ch/t/simple-approach-to-incentivizing-shard-staggering/9149">shard staggering</a>, where shards publish a new block in turn, such that you are never more than a couple hundreds of milliseconds away from a new block to publish your data, ideal for quick-finality applications?</p></li></ul><div><hr></div><p><em>Many thanks to Danny Ryan and Sacha Saint-Leger for their suggestions.</em></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I hear that PoW is not a consensus <em>algorithm</em>, but I think it&#8217;s fine to describe it as a consensus <em>mechanism</em> if we overload its definition a bit.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://twitter.com/ph_igo">PhiGo</a> noted on <a href="https://twitter.com/ph_igo/status/1384543184655683586">Twitter</a> that deposits won&#8217;t necessarily be withdrawable <em>right</em> after the Merge (when PoW is turned off). It&#8217;s true that the current Merge plans focus more exclusively on the turning off part, with withdrawals a separate but related issue.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Better bidding with eip1559]]></title><description><![CDATA[eip1559 bids take a variable reference price, helping you stay afloat]]></description><link>https://barnabe.substack.com/p/better-bidding-with-eip1559</link><guid isPermaLink="false">https://barnabe.substack.com/p/better-bidding-with-eip1559</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Fri, 05 Mar 2021 09:03:38 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There's been a healthy discussion on the benefits of <a href="https://eips.ethereum.org/EIPS/eip-1559">eip1559</a>, with proponents arguing eip1559 makes gas prices <em>predictable</em>. Yet this term is ill-defined, and thus misunderstood. We&#8217;ll dive into various interpretations here, leading us to observe how the eip1559 bidding grammar improves on the current paradigm.</p><h2>Crystal ball predictability</h2><p>Before we start, let's immediately rule out predictability as the ability to estimate what the fee will be 1 block, 5 blocks, 10 blocks, 1,000 blocks from now. Such predictions are more &#8220;macroeconomic&#8221; in nature, as they rely on analysing the demand for transacting on the Ethereum network and future changes affecting the supply of gas (e.g., eth2, rollups etc.)</p><p>To some extent, eip1559 gives us bounds on how much the basefee varies over some number of blocks. At an update rate of 12.5% maximum, the basefee doubles every 6 blocks assuming these 6 blocks are full. This is a guarantee that the basefee will not increase past a certain value in a given amount of time, but it still does not tell us what the entry price will be.</p><h2>Inclusion predictability</h2><p>Let's try this definition: we care more about predicting <em>inclusion given some bid made by the user</em>. What does this mean in the current system?</p><p>A user bids some gas price with their transaction. Given the (changing) environment of the fee market, the gas price is a parameter to some random variable denoting inclusion delay. So given the gas price bid, the user should expect to be included after some number of blocks. The delay is zero when the user is included in the next block. The game is to predict how long the delay will be given the gas price offered.</p><p>What can we tell about the inclusion delay? It turns out, not much. One thing that seems natural is that a higher gas price should never harm your chances of being included, so if Alice bids less than Bob, Alice should never be included before Bob. A gas price of zero should give you infinite delay. A gas price of infinity should give you zero delay.</p><p>These are all nice mathematical facts, not so useful in reality, but pretty much the only things we can tell for sure. Let's be more concrete.</p><p>At any point in time, we have a collection of pending bids, ordered from highest to lowest. This is the observable <em>demand curve</em>. The top bids up until 12.5M gas will be included in the next block.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> Maybe your bid places high enough in that list to be included. Maybe more bids come in the meantime and you are pushed out of the top of the list, and not included, but once these top bids are included, you are at the top again and you are included one block later, etc etc.</p><p>In other words, there is some <em>distribution</em> over the possible outcomes: included now, included a block later, included two blocks later... We can sort of guess this distribution by looking at the current bids and perhaps how bids have evolved in the recent past. This is what most oracles do.</p><p>eip1559 improves on this paradigm by quoting the correct cut-off price. <a href="https://barnabe.substack.com/p/understanding-fees-in-eip1559">We spent some time</a> looking at how eip1559, and the basefee in particular, achieve pricing the variable congestion observed on-chain. This study led us to break down eip1559 into three different cases.</p><blockquote><p>We'll call&nbsp;<strong>effective demand</strong>&nbsp;the amount of gas demand by users who are willing to pay&nbsp;<em>at least</em>&nbsp;the basefee plus the miner fee. There are three cases worth taking a closer look at:</p><ol><li><p><strong>Undertarget:&nbsp;</strong>The effective demand is lower than the gas target.</p></li><li><p><strong>Overtarget:&nbsp;</strong>The effective demand is higher than the gas target, and lower than the gas limit.</p></li><li><p><strong>Overfull:&nbsp;</strong>The effective demand is higher than both the target and the limit.</p></li></ol></blockquote><p>At most points in time, when blocks are under- or overtarget, we are guaranteed to be included in the next block by following the simple bidding strategy of paying the fixed 1 Gwei miner fee on top of the basefee. Case closed. Overfull blocks is the bad case: there are too many users who could potentially be included in the next block, in spite of the current basefee level. Scarcity!</p><p>So with 1559, we&#8217;ve reduced the space of salient outcomes to pretty much two:</p><ul><li><p>Either we are included at the quoted basefee + miner fee,</p></li><li><p>Or there is enough effective demand to push us into the overfull case.</p></li></ul><h2>The bizarro fee market</h2><p>What are the bad things that happen in the overfull case with eip1559 activated? It turns out, bad things in the overfull case still seem less bad than they are in the current paradigm. We&#8217;ll do a thought experiment where we imagine the demand, the users and everything are the same in two parallel worlds, except one world uses the current fee market while the other has activated eip1559.</p><p>First, note that because blocks can double in size, <strong>there are situations where we are </strong><em><strong>priced out</strong></em><strong> of the current fee market, which don&#8217;t happen under eip1559</strong>, since the block slack allows for our inclusion. So there isn't a strict equivalence between being priced out <em>currently</em> and blocks being overfull in eip1559. In other words, in the eip1559 world the block is over<em>target</em>, but not <em>overfull</em>, so we are next-block included, no scarcity, everything worked out; yet in the parallel, current fee market world the inclusion delay is greater than 0. <strong>That&#8217;s a net win.</strong></p><p>Let's look at a worse case, one where we are both <em>priced out</em> in the current fee market, and we might <em>not be next-block included</em> in eip1559 world (equivalently, we are not next-block included in the current fee market world and we are in the overfull case in the eip1559 world).</p><p>In the current fee market world, let's assume an all-knowing oracle quotes me the exact cut-off price <em>at the time of my transaction</em>, i.e., the gas price in the ordered list where transactions bidding above that gas price are exactly enough to fill a block. All I have to do to get in at that exact instant is bid above the cut-off. Let&#8217;s say that cut-off is  100 Gwei, so I bid&nbsp;100 Gwei.</p><p>Bad luck: a bunch of users are doing the same, right after I place my bid. They are bidding randomly, sometimes above my bid, sometimes below, meanwhile the all-knowing oracle picks this pattern up and starts quoting a higher cut-off price, higher than my bid is (110, 120, 130, ...), because the list gets longer and the bids at the top get more competitive. For a string of blocks there is enough sustained demand of users outbidding me, while I wait.</p><p>But maybe I didn't mean to bid so low! Rather, if I knew I wouldn't be included with my initial bid, I might have wanted to revisit it slightly higher than I sent it, maybe to 150 Gwei instead. I can still do that, of course (replace-by-fee), but it means I am sitting in front of Etherscan or Metamask and monitoring my transaction all this while.</p><h2>Overfull blocks in eip1559</h2><p>How does eip1559 improve upon this pattern? Transactions sent in eip1559 world have two parameters:</p><ul><li><p>The <em>maximum fee</em>: the most I am willing to pay.</p></li><li><p>The <em>inclusion fee</em>: meant to carry the <em>miner fee</em>, with or without the <em><a href="https://barnabe.substack.com/p/understanding-fees-in-eip1559">strategic fee</a></em>.</p></li></ul><p>The <em>maximum fee </em>parameter allows me to set the highest value I am willing to pay, which including both the basefee and the inclusion fee. I don't believe wallets even need to ask the user to set that parameter themselves. Of course wallets should always give the option to do so, but a wallet could simply set fee cap to whatever basefee is, times 2. As we&#8217;ve seen, it takes 6 full blocks (at 2x capacity) for basefee to double. This is pretty safe.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><p>In the parallel world of the current fee market, the all-knowing oracle had direct access to the demand to quote its price. In eip1559 world, the all-knowing oracle is the basefee, in the sense that the correct cut-off price is the basefee plus the fixed, 1 Gwei, miner fee.</p><p>We&#8217;ll repeat the scenario seen in the current fee market world. I send my transaction in, following the basefee + 1 Gwei inclusion fee strategy, and setting my maximum fee to 2x the current basefee.</p><p>The herd joins in the fun, there are too many of us to include, even with the slack: in this world, blocks are overfull. The basefee increases as a result. Some in the herd are bidding <em>strategically</em>, deviating from the 1 Gwei default and adding 2, 3, 4 Gweis to ensure they are included quickly. As long as these strategic users are enough to fill a block, I am at the back of the queue. If there aren&#8217;t so many of them, maybe I am included in the next block after I sent in my transaction.</p><p>If I am not included, maybe I&#8217;ll be in the next block. The herd would need to push basefee high enough, beyond twice its initial quote, to overtake my maximum fee and price me out entirely. <strong>The point is that my bid remains </strong><em><strong>competitive</strong></em>, unlike my previously fixed 100 Gwei bid. I might get in by the fourth block after I sent my transaction. Basefee is at most 160 Gwei now. If the demand from the herd only pushed the basefee to 150 Gwei, that's what I end up paying. <strong>Another win: I always pay the lowest amount </strong><em><strong>at the time I am included</strong></em><strong>.</strong></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vZYW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vZYW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vZYW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vZYW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vZYW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vZYW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg" width="1308" height="1063" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1063,&quot;width&quot;:1308,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:678837,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vZYW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vZYW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vZYW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vZYW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9dc9f83-305c-4591-aa50-9df1fd1c9bb9_1308x1063.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">eip1559 introduces &#8220;duck float&#8221; bidding, keeping you above the waters!</figcaption></figure></div><h2>Surfing on sine waves</h2><p>To summarise our thought experiment, we get two major wins with eip1559. First, the block slack means that the inclusion delay induced by sudden and short demand bursts is dampened. Second, the bidding grammar of eip1559, taking as reference a <em>variable</em> fee (basefee) and <em>adding</em> on to it means that we are not constrained to a fixed bid and instead follow the market where it leads us.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> This paradigm ensures we also pay the lowest amount when we are included and need not nurse our bid throughout to ensure we remain competitive.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/danfinlay/status/1364910054499962886&quot;,&quot;full_text&quot;:&quot;<span class=\&quot;tweet-fake-link\&quot;>@barnabemonnot</span> Yeah, I agree the upside is that even if the tip estimation is poor, if the basefee floats properly, it won&#8217;t matter as much.&quot;,&quot;username&quot;:&quot;danfinlay&quot;,&quot;name&quot;:&quot;Dan Finlay&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Thu Feb 25 12:08:10 +0000 2021&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:0,&quot;like_count&quot;:1,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/barnabemonnot/status/1364911377056485376&quot;,&quot;full_text&quot;:&quot;<span class=\&quot;tweet-fake-link\&quot;>@danfinlay</span> That&#8217;s a key upside imo, and the reason why i am optimistic wallets can be simplified. But i would still rely on mempool tests for detecting shifts&quot;,&quot;username&quot;:&quot;barnabemonnot&quot;,&quot;name&quot;:&quot;Barnab&#233; Monnot&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Thu Feb 25 12:13:25 +0000 2021&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:0,&quot;like_count&quot;:2,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>This opens the door for wallet simplification too. Most of the time, a wallet can hide all parameters away from the user, simply quoting the current basefee with a binary &#8220;Send transaction / Don&#8217;t send&#8221; interface. As stated in my tweet above, a smart wallet should still rely on transaction pool monitoring to detect shifts in demand that would push the market into the overfull case. If a shift is observed, the wallet could let the user know that the market is heating up and suggest either:</p><ul><li><p>Raising the <em>maximum fee</em> parameter if the user has low time preference and simply wants to be eventually included in a reasonable amount of time.</p></li><li><p>Raising the <em>inclusion fee</em> parameter if the user needs fast inclusion, skipping ahead of the queue.</p></li><li><p>Setting a notification to be sent when basefee comes back down to a preferred level, at which point the user sends the transaction themselves.</p></li></ul><p>Note that in hot markets as in relatively stable ones, the user can also always set their <em>maximum fee</em> to somewhere lower than basefee. If the current basefee is 100 Gwei but the user never wants to pay more than 50, they set the maximum to 50.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a></p><p>Otherwise&#8230;<em> Let the duck carry you.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XlGC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XlGC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XlGC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XlGC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XlGC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XlGC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg" width="1200" height="674" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:674,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:469647,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XlGC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XlGC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XlGC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XlGC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ca0c23-0d7a-4d67-a19d-7f787745d999_1200x674.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Picture by <a href="https://flickr.com/photos/myphotoalbum/8912684105/in/photolist-ezzQtk-EuDYNQ-eMG4me-eMTvbL-9vBrJU-6m16gs-8p9UGN-eh68d3-eG3oeZ-fpuJcQ-aNzcic-8p9UJG-eAKAKD-eAKx1v-eih1ri-egZoqc-eANHdw-eipwRt-bjCXWB-einJ5U-91F2P7-aCgXSz-ekqwyd-ezCZt3-egZo7r-eF65wR-aCgXJt-93k4x2-eh68Q5-egZor6-ezDfW9-egZok8-E5Roow-mQXLW-ehBR2S-dpChJd-e5pKi-cwBjt3-7Fce7V-eh68Gy-eh68M3-egZnYx-egZnRe-ezDdKA-eh68td-5JExhW-eejAc7-eG3vcP-eh68Ud-JD1Pn1">Belinda</a></figcaption></figure></div><div><hr></div><p><em>Many thanks to Sacha Saint-Leger for edits and comments, and Tim Beiko for useful comments on this draft (and the previous one).</em></p><div><hr></div><h4>Also check this out</h4><ul><li><p>Micah Zoltu wrote a great post in November 2020, <em><a href="https://medium.com/coinmonks/a-tale-of-two-pricing-schemes-dc9c8717906">A Tale of Two Pricing Schemes</a></em>, going even deeper in the weeds of how transactions fail and how 1559 improves the pattern.</p></li><li><p>Last Friday the much-anticipated <a href="https://www.youtube.com/watch?v=EdXhL6VR0mU">1559 community call happened</a>. In my view there was more consensus than expected, with MEV (Maximum / Miner Extractable Value) coming out as a clear direction for future revenue. We&#8217;ll talk about this more in a future post, but in the meantime you can also check out <a href="https://www.youtube.com/watch?v=tiXALhTgAfc">Micah talking about MEV with Michael Carter</a> (a.k.a., BitsBeTrippin&#8217;) or the excellent post by <a href="https://twitter.com/hasufl">Hasu</a> and <a href="https://twitter.com/gakonst">Georgios Konstantopoulos</a> estimating bounds on MEV under 1559.</p></li></ul><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/hasufl/status/1365302904853311492&quot;,&quot;full_text&quot;:&quot;.<span class=\&quot;tweet-fake-link\&quot;>@gakonst</span> and I establish lower and upper bounds for how much fees would be burned post EIP-1559. We do this by leveraging data from Flashbot's MEV-Explore. We find that the share of MEV in miner revenue has been greatly underestimated.\n&quot;,&quot;username&quot;:&quot;hasufl&quot;,&quot;name&quot;:&quot;Hasu&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Fri Feb 26 14:09:13 +0000 2021&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:46,&quot;like_count&quot;:152,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{&quot;url&quot;:&quot;https://insights.deribit.com/market-research/establishing-bounds-for-miner-revenue-in-eip-1559/&quot;,&quot;image&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/44987794-f614-48da-84fc-a9e17003545f_1086x462.jpeg&quot;,&quot;title&quot;:&quot;Establishing Bounds for Miner Revenue in EIP-1559 - Deribit Insights&quot;,&quot;description&quot;:&quot;We believe that the impact of EIP-1559 on both miner revenue and ETH holders has not been well explored. The main reason this analysis has been difficult before is that miner-extractable value has started to make up a large share of miner revenue due to constant arbitrage opportunities in Defi.&quot;,&quot;domain&quot;:&quot;insights.deribit.com&quot;},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Barring block shenanigans such as a pool mining an empty block because it&#8217;s more profitable to do so, which apparently happens whenever a block is found so quickly that the transactions meant to be included in it don&#8217;t even get the time to be processed.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>We could go behavioural economics on this and instead of having a fixed multiplier, have the multiplier follow a decreasing function of the basefee. If basefee is 1 Gwei, perhaps I don&#8217;t mind paying up to 10 Gwei, so 10x. If basefee is 100 Gwei, I probably am not willing to pay 1,000 Gwei, but 200 Gwei might be fine, so 2x.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Sure, it&#8217;s better to pay less, but if we could pay less and be included, we&#8217;d not be in one of these knotty cases in the first place, and eip1559 would still help us place the correct bid.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>Assuming transaction pools are graciously willing to keep the 50 Gwei transaction in mind until basefee comes down to that level, which is not a given, hence the notification idea.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Understanding fees in eip1559]]></title><description><![CDATA[eip1559 naturally prices congestion most of the time.]]></description><link>https://barnabe.substack.com/p/understanding-fees-in-eip1559</link><guid isPermaLink="false">https://barnabe.substack.com/p/understanding-fees-in-eip1559</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Fri, 26 Feb 2021 03:48:04 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In our <a href="https://barnabe.substack.com/p/congestion-control-and-eip1559">previous post</a>, this is how we introduced eip1559, a proposal to reform the way users price their inclusion:</p><blockquote><p>In the current system, users attach a bid to their transactions (the&nbsp;<em>gas price</em>), hoping to outcompete other users and entice the next miner enough to include them. However, this first-price auction-style of bidding induces overpayment, UX issues and generally provides few guarantees for inclusion.</p><p>With eip1559, a&nbsp;<em>basefee</em>&nbsp;is introduced to price dynamically the&nbsp;<em>congestion</em>&nbsp;endured by the system, setting a minimum entry fee for each block, which in most cases is also the &#8220;correct&#8221; fee (modulo a small premium). This allows us, as&nbsp;<a href="http://timroughgarden.org/papers/eip1559.pdf">Tim Roughgarden puts it</a>, to move away from difficult-to-gauge transactions looking like buying a house in a dynamic market, towards an Amazon-style, posted price, take-it-or-leave-it paradigm.</p></blockquote><p>To see how the posted-price paradigm is achieved, it&#8217;s useful to go in the weeds of how eip1559 determines its quote. It&#8217;s in fact possible, even more so than in the current system, to decompose the price quoted under 1559 as the sum of various parts, each arising from specific demand and supply constraints.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kVwj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kVwj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kVwj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kVwj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kVwj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kVwj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg" width="1024" height="1365" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1365,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:408312,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kVwj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kVwj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kVwj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kVwj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae94f430-cc2f-42b1-b0fa-bd610e064be6_1024x1365.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Users waiting for inclusion (Barabbas, CC BY 3.0, via Wikimedia Commons)</figcaption></figure></div><h2>The miner fee</h2><p>In all my writing so far, I&#8217;ve emphasised the role of the fee market as a congestion control mechanism to surface the best bids at any given moment. While congestion is responsible for the price variance, there is another cost the transaction fee is paying for. Since this cost is fixed at the timescale of a block, we&#8217;ll address it first.</p><p>From the perspective of the fee market, miners incur a cost proportional to how much gas they supply: the risk of their block becoming stale. Any extra transaction included in a block slows its <em>propagation </em>and its <em>execution</em>, opening the possibility for the block to not be received or processed in time, before another competing block is.</p><p>Ethereum provides rewards for stale blocks if their headers are included on-chain. The stale block miner receives an <em>uncle reward</em> but does not receive any of the transaction fees it included. There are two outcomes for a miner then:</p><ol><li><p>The block is included in the canonical chain and the miner receives the block reward plus the fees attached to included transactions.</p></li><li><p>The block is &#8220;uncled&#8221; and the miner receives an uncle reward, smaller than the block reward.</p></li></ol><p>It is estimated that the risk of being uncled is roughly linear in the amount of gas provided: a block twice as large has twice as much chances of not making it into the canonical chain. The miner ought to be compensated for the extra risk they incur by filling a marginal amount of gas in their block. At the limit, we can estimate the cost for a miner to provide one extra unit of gas. Let&#8217;s call this marginal cost the <em><strong>miner fee</strong></em>.</p><p>It is quite easy to estimate the miner fee. <a href="https://blog.ethereum.org/2016/10/31/uncle-rate-transaction-fee-analysis/">Vitalik has done it some time ago</a>, or more recently you can find <a href="https://www.reddit.com/r/ethereum/comments/lk1rjp/this_is_why_eip_1559_is_good_and_why_vitalik/">this estimation</a> by u/c-i-s-c-o:</p><blockquote><p>The tip level that compensates for uncle risk has been calculated to be about 0.8 gwei (uncle blocks get on average a 1.67 ETH reward instead of the 2 ETH base, so that's a ~0.33 ETH = 330m gwei loss, 10 million gas blocks add ~0.025 to the uncle rate [compared] to empty blocks, so the expected cost of 1 gas is = 330m / 10m * 0.025 = 0.825 gwei) and miners do actually set about this value when the chain is empty.</p></blockquote><p>In a nutshell, it is appropriate to think of the miner fee as compensation for this increased risk of becoming an uncle, and to think of the miner fee as fixed to some nominal value. At this time, the meme appears to be 1 Gwei, based on the estimation above.</p><h2>The congestion fee</h2><p>The miner fee embodies the <em>cost of use</em> of the service, borne by the provider. The rest of the fee strictly arises from the <em>cost of congestion</em>, the desire of other users to join the system at the same time. While both costs are somewhat hidden in the fees paid in the current system, eip1559 gives us a much clearer distinction, between the fixed miner fee received as <em>tip</em> and the variable <em>basefee</em> measuring the congestion, in a very precise sense.</p><p>Let&#8217;s go back to the second-price auction example <a href="https://barnabe.substack.com/p/congestion-control-and-eip1559">we introduced in the previous post</a>, where three drivers, A, B and C, were bidding to access a road with limited capacity, fitting only one of the three.</p><blockquote><p>Before driving, we'll have A, B and C write a bid on a piece of paper. There are two rules:</p><ol><li><p>The driver with the highest bid wins the right to use the road.</p></li><li><p>The winning driver pays the price of the second-highest bid.</p></li></ol><p>Assume all bidders know these rules, but none knows the benefits other drivers obtain from using the road.</p><p>The proof is left to you, but it is the case that rational bidders A, B and C ought to bid exactly how much they value the road.</p></blockquote><p>We are looking for a fee that prices out exactly enough users to reach capacity. We saw that charging included users the bid of the <em>first</em> user <em>not</em> accessing the road gave us the efficient solution: users who receive the highest benefits also fill the system to capacity.</p><p>eip1559 is kind of a <strong>perpetual second-price auction</strong>. The basefee floats to price out <em>exactly</em> enough users such that the remaining ones fill the block to capacity. Sometimes it increases (as in <a href="https://en.wikipedia.org/wiki/English_auction">English auctions</a>), when the demand is higher than the supply, and sometimes it decreases (as in <a href="https://en.wikipedia.org/wiki/Dutch_auction">Dutch auctions</a>), when the demand is lower than the supply.</p><p>By the way, what do we mean by demand?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Yu9b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Yu9b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png 424w, https://substackcdn.com/image/fetch/$s_!Yu9b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png 848w, https://substackcdn.com/image/fetch/$s_!Yu9b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!Yu9b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Yu9b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:196324,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Yu9b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png 424w, https://substackcdn.com/image/fetch/$s_!Yu9b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png 848w, https://substackcdn.com/image/fetch/$s_!Yu9b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!Yu9b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6c8e8c-43d9-4828-b8dc-6c02459d5d82_2400x1800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">At an entry price (basefee + miner fee) of 50 Gwei, exactly as much gas is demanded as the block target size</figcaption></figure></div><p>The blue curve represents the demand, the price users are willing to pay for their gas. We order users in decreasing order of willingness. Of course the true demand curve would look a lot more like steps, because a user has a demand for a fixed amount of gas, not just one unit, but you can take this plot as a smooth approximation.</p><p>We show one important point: the gas price for which the demand is exactly equal to the block target size of eip1559, 12.5M units of gas. In this example the &#8220;equilibrium&#8221; price is 50 Gwei: only 12.5M gas worth of users are willing to pay above this price. If basefee was set to 49 Gwei and the miner fee to 1 Gwei, we&#8217;d have exactly as much gas in the block as we are targeting.</p><p>This is all fine, but since the whole demand curve is way above the miner fee, why couldn&#8217;t miners include everyone up to the block limit, set to twice the block target?</p><h2>Effective demand in eip1559</h2><p>The reason is that the basefee is <strong>binding</strong>. Users who do not pay at least the basefee <em>cannot</em> be included. Additionally, users who do not pay the miner at least the miner fee <em>wouldn&#8217;t </em>be included.</p><p>We'll call <strong>effective demand</strong> the amount of gas demand by users who are willing to pay <em>at least</em> the basefee plus the miner fee. There are three cases worth taking a closer look at:</p><ol><li><p><strong>Undertarget: </strong>The effective demand is lower than the gas target.</p></li><li><p><strong>Overtarget: </strong>The effective demand is higher than the gas target, and lower than the gas limit.</p></li><li><p><strong>Overfull: </strong>The effective demand is higher than both the target and the limit.</p></li></ol><p>Each case maps neatly on the previous plot. If the effective demand is somewhere between 0 and 12.5M gas, we are undertarget. If it is between 12.5M and 25M, we are overtarget. If it is above 25M, we are overfull.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c3Y1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c3Y1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png 424w, https://substackcdn.com/image/fetch/$s_!c3Y1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png 848w, https://substackcdn.com/image/fetch/$s_!c3Y1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!c3Y1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c3Y1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/af506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:231602,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!c3Y1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png 424w, https://substackcdn.com/image/fetch/$s_!c3Y1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png 848w, https://substackcdn.com/image/fetch/$s_!c3Y1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!c3Y1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf506a74-fc37-4f58-b4d2-43bf0eabe464_2400x1800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Obviously we&#8217;re still aiming for the sweet spot between the under- and overtarget areas, but this is a small window to aim for. So let&#8217;s see what happens in each case, starting with the overtarget case.</p><h4>Overtarget: Effective demand higher than target and lower than limit</h4><p>In this case, more users <em>can</em> and <em>would </em>be included than the target, meaning that the basefee is too low given the current effective demand. Fortunately, eip1559 allows us a bit of slack in case we haven't exactly figured out the basefee that makes effective demand <em>exactly</em> equal to the gas target.</p><p>This slack means users need not overbid. The next block has enough room for all users part of the effective demand. Users are expected to pay exactly the basefee plus the 1 Gwei miner fee.</p><h4>Overfull: Effective demand higher than target and limit</h4><p>This case is trickier. The next block cannot accommodate all the effective demand, which is higher than 25M gas. In Roughgarden&#8217;s terminology, the basefee is <em>excessively low</em>. In this scenario, it is rational for users to include higher tips with their transactions, to secure their inclusion faster.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></p><p>In this case, we decompose the transaction fee in three parts:</p><ol><li><p>The miner fee (1 Gwei).</p></li><li><p>The basefee, which is not matching the true congestion fee.</p></li><li><p>The <em>strategic fee</em>, making up for the mismatch.</p></li></ol><p>Although the miner receives parts 1. and 3., the <em>true congestion fee</em> is actually the basefee plus the strategic fee.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><h4>Undertarget: Effective demand is lower than target</h4><p>In this case, the basefee is higher than it needs to be, pricing out too many users. In the previous case, the <em>true congestion fee</em> was under-estimated by basefee. Now, it is over-estimated, by a quantity we&#8217;ll call the <em>mismatch fee</em>. It is still rational for users to bid the basefee + 1 Gwei miner fee strategy.</p><h2>Fee decomposition in eip1559</h2><p>As we&#8217;ve seen, eip1559 is easily matched to three disjoint cases, each giving rise to specific fee conditions. We summarise them here.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MSHV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MSHV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png 424w, https://substackcdn.com/image/fetch/$s_!MSHV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png 848w, https://substackcdn.com/image/fetch/$s_!MSHV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!MSHV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MSHV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132548,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MSHV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png 424w, https://substackcdn.com/image/fetch/$s_!MSHV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png 848w, https://substackcdn.com/image/fetch/$s_!MSHV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!MSHV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1da85576-90b2-49c2-8d8b-89c6b36295d1_2401x1800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Overall, the user pays the height of each column in the previous plot. The miner receives both the miner fee and the strategic fee, when the latter exists. When blocks are undertarget, the mismatch fee is implicitly contained in the basefee, which hasn&#8217;t adjusted downwards yet to meet the decreasing demand.</p><p>How often are we in either of these cases? <strong>Being under- or overtarget is clearly more desirable than being overfull, since users are simply expected to bid basefee + 1 Gwei miner fee, yielding the elusive UX improvements eip1559 touts.</strong> All else equal, effective demand conditions closer to target size are also preferable, since they entail basefee is pricing accurately the congestion, with users paying a fair rate.</p><p>There is hope that blocks aren&#8217;t usually overfull and that the only tips above basefee + miner fee will come from <a href="https://ethresear.ch/t/flashbots-frontrunning-the-mev-crisis/8251">MEV-extracting transactions</a>. On-chain data after eip1559 is deployed will tell us if we are correct, but in the meantime we can draw more general conclusions on the tension between the basefee update rate and the demand to understand when this fails in theory. In our recent paper, <em><a href="https://arxiv.org/abs/2102.10567">Dynamical Analysis of the EIP-1559 Ethereum Fee Market</a></em>,<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> we go further and prove that chaotic behaviour is observed in the block occupancy rate whenever demand concentrates, producing strong oscillatory behaviour.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/barnabemonnot/status/1364096212517855236&quot;,&quot;full_text&quot;:&quot;We have a new paper on <span class=\&quot;tweet-fake-link\&quot;>#eip1559</span>, written with <span class=\&quot;tweet-fake-link\&quot;>@StefLeonardos</span>, Dani&#235;l Reijsbergen, Stratis Skoulakis and Georgios Piliouras!\n\n\&quot;Dynamical Analysis of the EIP-1559 Ethereum Fee Market\&quot; is available on arXiv: <a class=\&quot;tweet-url\&quot; href=\&quot;https://arxiv.org/abs/2102.10567\&quot;>arxiv.org/abs/2102.10567</a> &quot;,&quot;username&quot;:&quot;barnabemonnot&quot;,&quot;name&quot;:&quot;Barnab&#233; Monnot&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Tue Feb 23 06:14:15 +0000 2021&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/Eu4qHDuVoAADuCE.png&quot;,&quot;link_url&quot;:&quot;https://t.co/j1JFwTW1zP&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:25,&quot;like_count&quot;:100,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>We&#8217;ll dive into these results in a future entry of this newsletter, subscribe here to be sure not to miss it!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://barnabe.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://barnabe.substack.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h4>In other 1559 news</h4><ul><li><p><a href="https://github.com/ethereum/pm/issues/254">1559 is proposed for the London upgrade</a> (probably ~July)</p></li><li><p><a href="https://www.youtube.com/watch?v=EdXhL6VR0mU">Upcoming 1559 community call</a> (Feb. 26th)</p></li></ul><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://mobile.twitter.com/poojaranjan19/status/1365119488505618434&quot;,&quot;full_text&quot;:&quot;Tune in to <span class=\&quot;tweet-fake-link\&quot;>@EthCatHerders</span>&nbsp;#1559 community meeting in ~12hrs. Moderated by <span class=\&quot;tweet-fake-link\&quot;>@hudsonjameson</span> this meeting invites all the <span class=\&quot;tweet-fake-link\&quot;>@ethereum</span> stakeholders.\n(Feb 26 at 1400 UTC)\nLivestream - &quot;,&quot;username&quot;:&quot;poojaranjan19&quot;,&quot;name&quot;:&quot;Pooja Ranjan | ranjan.eth&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Fri Feb 26 02:00:23 +0000 2021&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:0,&quot;like_count&quot;:1,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{&quot;url&quot;:&quot;https://www.youtube.com/watch?v=EdXhL6VR0mU&amp;feature=youtu.be&quot;,&quot;image&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4730739c-bf4e-4f03-ad42-0fca8b8b77d5_1280x720.jpeg&quot;,&quot;title&quot;:&quot;Ethereum 1559 community call&quot;,&quot;description&quot;:&quot;Announcement blog - https://medium.com/ethereum-cat-herders/ethereum-1559-community-call-d43d5f0bf909&quot;,&quot;domain&quot;:&quot;youtube.com&quot;},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div><hr></div><p><em>Many thanks to Sacha Saint-Leger for useful comments on this draft.</em></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>However, it is not strictly necessary if their time preferences are low, as we&#8217;ll see in a future post.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Consider the &#8220;tipless&#8221; mechanism introduced by <a href="http://timroughgarden.org/papers/eip1559.pdf">Tim Roughgarden</a> (section 8.5). This is always incentive-compatible for the user <em>from the point of view of 1559 </em>(it does not allow for <em>in-protocol </em>strategic overbidding), but now incentivises the user to give the tip to the miner off-chain instead.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Leonardos, S., Monnot, B., Reijsbergen, D., Skoulakis, S., &amp; Piliouras, G. (2021). Dynamical Analysis of the EIP-1559 Ethereum Fee Market.&nbsp;<em>ArXiv, abs/2102.10567</em>.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Congestion control and eip1559]]></title><description><![CDATA[Drawing a more explicit link between congestion games and eip1559 helps frame how fees arise &#8212; and where they should go.]]></description><link>https://barnabe.substack.com/p/congestion-control-and-eip1559</link><guid isPermaLink="false">https://barnabe.substack.com/p/congestion-control-and-eip1559</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Wed, 17 Feb 2021 07:38:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vtVr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://eips.ethereum.org/EIPS/eip-1559">eip1559</a> is a planned upgrade to the Ethereum fee market protocol. In the current system, users attach a bid to their transactions (the <em>gas price</em>), hoping to outcompete other users and entice the next miner enough to include them. However, this first-price auction-style of bidding induces overpayment, UX issues and generally provides few guarantees for inclusion.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></p><p>With eip1559, a <em>basefee</em> is introduced to price dynamically the <em>congestion</em> endured by the system, setting a minimum entry fee for each block, which in most cases is also the &#8220;correct&#8221; fee (modulo a small premium). This allows us, as <a href="http://timroughgarden.org/papers/eip1559.pdf">Tim Roughgarden puts it</a>, to move away from difficult-to-gauge transactions looking like buying a house in a dynamic market, towards an Amazon-style, posted price, take-it-or-leave-it paradigm. In its standard version, eip1559 &#8220;burns&#8221; the basefee by effectively redistributing it to no one.</p><p><em>Congestion</em> is central to the existence of the fee market and the design of eip1559, and we&#8217;ll spend some time defining properly what it means and how we measure it. We&#8217;ll see how congestion pricing arises as a fairly natural solution and discuss whether any of its principles help us decide what to do with the fees.</p><h2>A primer on congestion games</h2><p>Think of a road with one lane that takes 1 minute to cross if you are alone on the road. Assume that each additional driver on the road increases the travel time by 1 minute. The "latency function" of the road is <em>x</em>, where <em>x</em> is the number of users on the road (so if you are the only driver, the latency is 1 minute).<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> <strong>How much </strong><em><strong>total</strong></em><strong> travel time does one extra road user bring?</strong></p><ul><li><p>When there is one user A on the road, the total travel time is 1 minute.</p></li><li><p>When there is one more user B, A now takes 2 minutes to cross the road, and so does B. The total travel time of everyone is 4 minutes.</p></li><li><p>When there is one more user C, users A, B and C all take 3 minutes to cross the road, so the total travel time is 9 minutes.</p></li></ul><p>In other words, <strong>each additional driver adds one extra minute of travel time </strong><em><strong>to all</strong></em><strong> other drivers.</strong> If there are 10 drivers on the road and an eleventh driver shows up, the <em>total</em> travel time of these 10 drivers is up 10 minutes (1 minute each). If each driver imposes costs on <em>everyone</em> else, at which point does the overall society lose out?</p><h2>In search of lost optimality</h2><p>In <a href="https://theory.stanford.edu/~tim/papers/cacm.pdf">algorithmic game theory</a>, we often look for mechanisms that produce the best social outcome given some social dynamics. We&#8217;ll start with elaborating what <em>best social outcome</em> means in the context of our drivers, before moving on to the <em>mechanisms</em> that achieve optimality.</p><p>We assume the drivers trade-off time and money equally, e.g., spending one extra minute of time on the road is equally as bad as losing a dollar. While all drivers trade-off money and time equally, they receive different <em>benefits</em> from crossing the road. Some drivers want to go to a market they like, but could also choose a different one. Others really need to go see family or attend an important event. For each driver, we associate a number that expresses in dollar terms the benefit they obtain from crossing the road.</p><p>Let's take a simple example. We have three road users, A, B and C, with respective benefits $10, $7 and $4 (we&#8217;ll drop the $ in the following). If all three users take the road, the travel time for each is 3 minutes. So overall,</p><ul><li><p>A benefits 10 but &#8220;pays&#8221; 3 minutes of their time on the road, so the profit is 7.</p></li><li><p>B benefits 7, pays 3, profits 4.</p></li><li><p>C benefits 4, pays 3, profits 1.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ypHB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1594d3-4888-460f-8085-4559beec3896_295x189.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ypHB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1594d3-4888-460f-8085-4559beec3896_295x189.png 424w, https://substackcdn.com/image/fetch/$s_!ypHB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1594d3-4888-460f-8085-4559beec3896_295x189.png 848w, https://substackcdn.com/image/fetch/$s_!ypHB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1594d3-4888-460f-8085-4559beec3896_295x189.png 1272w, https://substackcdn.com/image/fetch/$s_!ypHB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1594d3-4888-460f-8085-4559beec3896_295x189.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ypHB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1594d3-4888-460f-8085-4559beec3896_295x189.png" width="295" height="189" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/7e1594d3-4888-460f-8085-4559beec3896_295x189.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:189,&quot;width&quot;:295,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:13623,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ypHB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1594d3-4888-460f-8085-4559beec3896_295x189.png 424w, https://substackcdn.com/image/fetch/$s_!ypHB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1594d3-4888-460f-8085-4559beec3896_295x189.png 848w, https://substackcdn.com/image/fetch/$s_!ypHB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1594d3-4888-460f-8085-4559beec3896_295x189.png 1272w, https://substackcdn.com/image/fetch/$s_!ypHB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1594d3-4888-460f-8085-4559beec3896_295x189.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Situation A: All users join at equilibrium</figcaption></figure></div><p>The last number in <strong>bold</strong> represents the <strong>social welfare</strong>: how much everybody benefits minus how much everyone pays. Our goal is to make the social welfare as high as possible. Is this the most we can get out of the situation? What if we prevent C from entering at all?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LmQL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LmQL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png 424w, https://substackcdn.com/image/fetch/$s_!LmQL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png 848w, https://substackcdn.com/image/fetch/$s_!LmQL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png 1272w, https://substackcdn.com/image/fetch/$s_!LmQL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LmQL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png" width="294" height="188" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/b429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:188,&quot;width&quot;:294,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:13352,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LmQL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png 424w, https://substackcdn.com/image/fetch/$s_!LmQL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png 848w, https://substackcdn.com/image/fetch/$s_!LmQL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png 1272w, https://substackcdn.com/image/fetch/$s_!LmQL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb429a6b9-f2cd-4ffb-b5ae-41b83a32d0e6_294x188.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Situation B: Two highest value users join at social optimum</figcaption></figure></div><p>When we prevent C from using the road, we increase the social welfare! Why is this true? The key reason:<strong> the extra cost brought on by C to A and B is not compensated by the extra benefit obtained by C.</strong> In other words, the <strong>private benefit is smaller than the public cost</strong>.</p><p>We are faced with a clear paradox: <strong>there is no reason for C </strong><em><strong>not </strong></em><strong>to enter</strong>. Given the information that both A and B plan to use the road, a rational user C would still want to join as well, since they receive one unit of profit, leading to a decrease of the social welfare.</p><h2>Inducing social optimality: Adding a toll</h2><p>To obtain the best social outcome, we'd like to operationalise the following idea: <strong>any user on the road should pay for the harm it causes other users</strong>.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> By internalising the public harm into the private profit evaluation of each user, incentives are aligned. We  do so by adding a toll to the road.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vtVr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vtVr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vtVr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vtVr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vtVr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vtVr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg" width="1024" height="768" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:271245,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vtVr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vtVr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vtVr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vtVr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8ed44872-0ebe-4c82-8555-40d488f6c7b4_1024x768.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Dynamic tolls in Singapore, by VK35 at English Wikipedia, CC BY-SA 3.0, via Wikimedia Commons</figcaption></figure></div><p>How much should the toll charge? We've seen that adding one user to the road when <em>x</em> users are already driving causes <em>x </em>additional cost (1 extra minute per driver). So we should set the toll to <em>x</em>, where <em>x</em> is the number of users already on the road.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a> We call this a <em>marginal cost toll</em>, as any incoming user raises the toll to the cost the user imposes on everyone else.</p><p>Assume that all users pay <em>x</em> when they are on the road and <em>x</em> users are using it. Suppose A, B and C all enter.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4v8L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4v8L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png 424w, https://substackcdn.com/image/fetch/$s_!4v8L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png 848w, https://substackcdn.com/image/fetch/$s_!4v8L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png 1272w, https://substackcdn.com/image/fetch/$s_!4v8L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4v8L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png" width="426" height="188" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:188,&quot;width&quot;:426,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:18891,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4v8L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png 424w, https://substackcdn.com/image/fetch/$s_!4v8L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png 848w, https://substackcdn.com/image/fetch/$s_!4v8L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png 1272w, https://substackcdn.com/image/fetch/$s_!4v8L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4866fc9c-0a0e-412e-8fbd-de11c839002c_426x188.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Situation C: All users join, marginal cost toll implemented, not an equilibrium</figcaption></figure></div><p>Now C makes a negative profit. They realise it&#8217;s just not worth taking the road, so they drop out and we obtain:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uyXH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uyXH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png 424w, https://substackcdn.com/image/fetch/$s_!uyXH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png 848w, https://substackcdn.com/image/fetch/$s_!uyXH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png 1272w, https://substackcdn.com/image/fetch/$s_!uyXH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uyXH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png" width="426" height="189" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:189,&quot;width&quot;:426,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:17798,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uyXH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png 424w, https://substackcdn.com/image/fetch/$s_!uyXH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png 848w, https://substackcdn.com/image/fetch/$s_!uyXH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png 1272w, https://substackcdn.com/image/fetch/$s_!uyXH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a2d007d-1b39-46e3-b7f7-9c2acac25acc_426x189.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Situation D: Two highest value users join, marginal cost toll implemented, socially optimal outcome and equilibrium</figcaption></figure></div><p>Is there some sleight of hand here? We thought the toll would help us reach our socially optimal situation, yet the social welfare is now 9, but it was 13 before! Where did the 4 units go?</p><p>In a sense, we have reached the socially optimal <em>outcome</em> (A and B use the road, C doesn't), if not the socially optimal <em>payout</em> (the total profit is 13). The reason is quite simple: 4 units have disappeared into the toll, as both A and B pay 2 units to the toll. We'll discuss this point soon, after making the link with eip1559 clearer.</p><h2>Constraining the road: Auctions appear</h2><p>As is probably evident by now, the road is a metaphor for the transaction fee market. Yet our metaphor doesn't really describe the true situation of transactions and blocks. Blocks are limited in size, so they do not allow for unbounded &#8220;congestion&#8221; the way our model of the road does.</p><p>Let's assume that the road only fits one out of our three drivers. Depending on who arrives first, we might have suboptimal situations. For instance, if user C arrives first, the situation is:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!po4E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!po4E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png 424w, https://substackcdn.com/image/fetch/$s_!po4E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png 848w, https://substackcdn.com/image/fetch/$s_!po4E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png 1272w, https://substackcdn.com/image/fetch/$s_!po4E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!po4E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png" width="294" height="188" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:188,&quot;width&quot;:294,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12414,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!po4E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png 424w, https://substackcdn.com/image/fetch/$s_!po4E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png 848w, https://substackcdn.com/image/fetch/$s_!po4E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png 1272w, https://substackcdn.com/image/fetch/$s_!po4E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8119f882-b6e3-4ecc-bd8c-e316b5dcbc29_294x188.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Situation E: Road is constrained, C joins, this is an equilibrium (A and B cannot enter) but it is not a socially optimal one</figcaption></figure></div><p>Would a toll work? Well, what if we wanted to target exactly the road capacity, i.e., what if we wanted to <em>induce</em> exactly as many users on the road as the capacity allows for? There is no reason why the socially optimal number of users that the toll returns should be equal to the road capacity. If the toll induces less drivers than the road capacity, arguably we have reached social optimality, so it&#8217;s not a problem. But if the socially optimal number of users on the road is above the constraint, the marginal cost toll will not work in general. We&#8217;ve seen it already: both A and B were still using the road, which exceeds the capacity we set.</p><p>There is a more &#8220;essential&#8221; reason why a toll cannot in general induce the optimal allocation with capacity constraints. The toll priced the extra latency that a new user imposes on everyone else. With a capacity constraint, a new user doesn&#8217;t simply slow down everyone, <em>they totally prevent access to the resource</em>. If we wanted to internalise the public harm via some mechanism, we&#8217;d have to price how much this access <em>restriction</em> is worth, beyond the <em>degradation</em> of the service due to congestion.</p><p>Fortunately, there is a different mechanism which does just that. We need to think about auctions, specifically, second-price auctions. How should we decide who among A, B and C should access the road?</p><p>Before driving, we'll have A, B and C write a bid on a piece of paper. There are two rules:</p><ol><li><p>The driver with the highest bid wins the right to use the road.</p></li><li><p>The winning driver pays the price of the second-highest bid.</p></li></ol><p>Assume all bidders know these rules, but none knows the benefits other drivers obtain from using the road.</p><p>The proof is left to you, but it is the case that rational bidders A, B and C ought to bid exactly how much they value the road. For now, we&#8217;ll forget that crossing the road itself is costly for the winning user, and focus on the bids only.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FAWw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FAWw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png 424w, https://substackcdn.com/image/fetch/$s_!FAWw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png 848w, https://substackcdn.com/image/fetch/$s_!FAWw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png 1272w, https://substackcdn.com/image/fetch/$s_!FAWw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FAWw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png" width="391" height="188" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/fde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:188,&quot;width&quot;:391,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15653,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FAWw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png 424w, https://substackcdn.com/image/fetch/$s_!FAWw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png 848w, https://substackcdn.com/image/fetch/$s_!FAWw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png 1272w, https://substackcdn.com/image/fetch/$s_!FAWw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffde75258-bef0-4c14-83cf-1303dd7ee49f_391x188.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Situation F: Road access is up for bidding in a second-price auction. Drivers bid rationally, A wins access and pays B's bid</figcaption></figure></div><p>Another sleight of hand! Where did the 7 dollars A bid go? The answer: in the auctioneer's pocket. But who is the auctioneer? Is the auctioneer the road provider?</p><h2>&#128293;&#128293;&#128293;</h2><p>We follow our intuitive definition of internalising public costs: <strong>we make users pay for the harm they cause others</strong>. If A wasn't there, B should be the driver on the road (to maximise public benefit), while B would harm C by taking the road from them. Congestion thus affects users who were keen to access some resource, but couldn&#8217;t, or could at a degraded level of service. Shouldn&#8217;t these users be compensated for their loss?</p><p>In a monetary economy, there is one way to compensate for the harm caused by congestion that retains <em>efficiency</em>, in the game-theoretic sense of &#8220;users with the highest benefits obtain the right to access&#8221;: not redistributing the fee to <em>anyone</em>.</p><p>This isn't a silver bullet, and it isn't exactly equivalent to redistributing equally the collected fees among <em>everyone</em>, because the mechanics of a monetary economy are a bit more subtle than this. But the intuition is:</p><ol><li><p>Users-as-transaction-senders bear the costs of congestion, since it deprives them of access to the transaction market.</p></li><li><p>Thus users-as-transaction-senders ought to be compensated for the costs induced by congestion.</p></li></ol><p><strong>The two points above are perhaps the most straightforward microeconomic argument for burning-as-congestion-compensation.</strong> Yet, arguing for burning as a necessarily fair microeconomic consequence is difficult for at least two reasons.</p><p>Suppose we do believe that burning is an exact redistribution of the amount burned over all participants. In a large economy, this <em>direct</em> redistributive effect is extremely diluted over individual recipients, approaching zero as the number of participants increases (assuming a fixed amount of fees throughout).</p><p>Let&#8217;s say we are fine with the dilution: an epsilon amount of cash is better than zero after all. We can level a second critique to the microeconomic argument. We've not differentiated, among our population of Ethereum users, between <em>transaction senders</em> and <em>holders</em>. While transaction senders are the ones inconvenienced by the congestion, holders aren't (by definition, they don't send any transactions). But how should a mechanism determine who has been harmed by the congestion or not? Likely, it is impossible, as we&#8217;d need to know who <em>would have</em> sent a transaction but <em>didn&#8217;t</em> because of the congestion. Is rewarding everyone who holds ETH with the burn a good enough approximation of a mechanism that compensates those affected by the fee market congestion?</p><p><a href="https://www.reddit.com/r/EtherMining/comments/l374dk/the_math_on_eip1559s_holder_and_miner_impacts/">I&#8217;ve often seen this argument mentioned by miners</a> as a reason why it is delusory to expect that burning achieves redistribution, because of the dilution, and I tend to agree. If this direct, &#8220;micro&#8221; effect is unsatisfying, perhaps we can think of a more indirect, &#8220;macro&#8221; effect of the burn that we feel stronger about.</p><p>So we decompose the <em>total</em> effect of the burn between a more direct &#8220;redistribution effect&#8221; of burning part of the supply (with the caveats seen above that this redistribution is both <em>diluted</em> and <em>approximative</em>) and a more <em>indirect</em> effect based on the more intangible nature of ETH as an asset fit to secure the Ethereum network.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-6" href="#footnote-6" target="_self">6</a></p><p>This second, indirect effect tends to be more popular among pro-eip1559 people, and is probably what they mean by &#8220;eip1559 will solidify ETH as an asset&#8221;, i.e., not something that is measured by comparing inflation pre- and post-eip1559 and scaling the price of ETH by the difference. With the burn proportional to the demand for the network, a link is created between ETH the asset and the network value of Ethereum. In turn, a better ETH increases the <a href="https://medium.com/pov-crypto/ether-a-new-model-for-money-17365b5535ba">bandwidth</a> to use the asset as, e.g., collateral for generating more DAI, in addition to increasing the general level of security of eth2 for instance.</p><p>There are other, <em>very</em> good reasons for burning, including weaning off an economy of a highly volatile revenue source which, at the limit, <a href="https://www.cs.princeton.edu/~arvindn/publications/mining_CCS.pdf">induces instability</a> and complicates miner revenue estimations; recentring the block reward as the mechanism via which security is paid for; or preparing the ground for the transition from Proof-of-Work to Proof-of-Stake.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-7" href="#footnote-7" target="_self">7</a> Whether any of these ought to apply as soon as eip1559 is turned on versus in months or a year after seems to have indeed become the stage for the argument.</p><div><hr></div><h2>In the next <em>Price of agency</em></h2><p>Since we&#8217;ve gone to the trouble of defining what we mean by congestion and how to price it, we&#8217;ll drop the road metaphors and see how eip1559 brings us closer to that price by inspecting its dynamics. Subscribe to receive it as soon as it is out.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://barnabe.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://barnabe.substack.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p><em>Many thanks to Vitalik Buterin, Sacha Saint-Leger and Tim Beiko for comments and edits. Errors, opinions and erroneous opinions remain mine.</em></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>See the introduction of <a href="https://barnabemonnot.com/abm1559/notebooks/eip1559.html">this notebook</a> for the distinction between first-price auctions and eip1559, and <a href="https://barnabemonnot.com/abm1559/notebooks/transition1559.html">this notebook</a> for a comparison between the price induced in the current system and eip1559. And see a whole bunch of other things in Tim Beiko&#8217;s <a href="https://hackmd.io/@timbeiko/1559-updates/https%3A%2F%2Fhackmd.io%2F%40timbeiko%2F1559-resources">resource list</a>.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>This type of game is called <em>atomic congestion game</em>: users are &#8220;atoms&#8221;, or discrete units of mass 1, unlike <em>nonatomic</em> congestion games which feature continuous flows of users, or <em>weighted</em> congestion games where discrete users have different masses. The <em>latency </em>function <em>x</em> is linear.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>This is known as a <em>Pigovian tax</em>, named after the economist Arthur C. Pigou.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>What would the marginal cost toll be if the latency function was 2<em>x</em> instead of <em>x </em>? Would B choose to take the road?</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>To be precise, we should offset the expected cost of using the road from the users&#8217; benefits. Because of the capacity constraint, users should expect to incur a cost of 1 if they are granted access. So A&#8217;s <em>true value</em> is their benefit 10 minus 1, in which case they would bid 9 and B would bid 6. In the transaction fee market, the &#8220;cost of crossing the road&#8221; is 0, so the total costs incurred by the included user are exactly equal to the &#8220;bid&#8221;.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-6" href="#footnote-anchor-6" class="footnote-number" contenteditable="false" target="_self">6</a><div class="footnote-content"><p>Both of these statements can be true at the same time: <em>the direct effect isn&#8217;t so important</em> and <em>the indirect effect is</em>. This is perhaps one reason why it feels like the two factions sometimes talk past each other.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-7" href="#footnote-anchor-7" class="footnote-number" contenteditable="false" target="_self">7</a><div class="footnote-content"><p>On this last point, see also the wonderful paper by <a href="https://arxiv.org/abs/2007.12877">Leonardos et al. (2020)</a>, which &#8220;raises the temperature&#8221; on the technology to deprecate, until agents make the switch.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Ethereum, incentives and other things]]></title><description><![CDATA[Welcome to &#8220;The price of agency&#8221;.]]></description><link>https://barnabe.substack.com/p/coming-soon</link><guid isPermaLink="false">https://barnabe.substack.com/p/coming-soon</guid><dc:creator><![CDATA[Barnabé Monnot]]></dc:creator><pubDate>Mon, 15 Feb 2021 03:47:01 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/afb8846d-5d47-42c9-95ae-baf9dc01130d_5000x2500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to &#8220;The price of agency&#8221;. We are not sure what the title means yet, but we intend to find out.</p><p>Sign up to receive new posts as they are released.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://barnabe.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://barnabe.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>In the meantime, <a href="https://barnabe.substack.com/p/coming-soon?utm_source=substack&utm_medium=email&utm_content=share&action=share">tell your friends</a>!</p>]]></content:encoded></item></channel></rss>