-
-
Published
Linked with GitHub
<style>
p.small {
line-height: 0.7;
}
</style>
# Issuance Issues — Subsequent Soliloquy<br><p class="small"><small>*^ real ones will know that Soliloquy is probably the best green run at [Copper Mountain](https://www.coppercolorado.com/the-mountain/trail-area-maps/winter-trail-map) :)*</small></p>
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_0d3e95e1aaf6a4293dace1b5551dfef8.png width=85%>
<sub>***^ p.s. how it feels to stare at these curves for too long...***</sub>
<sub>***^ p.p.s. did anyone else notice how much this ghost looks like [Pearl](https://pixar.fandom.com/wiki/Pearl) from Finding Nemo?!***</sub>
<sub>***^ p.p.p.s. i just realized that [Casper](https://arxiv.org/pdf/1710.09437) was probably named so b/c it was paired with [GHOST](https://www.avivz.net/pubs/15/btc_ghost_full.pdf)?!*** 🤯🧐</sub>
$\cdot$
*by [mike](https://twitter.com/mikeneuder) – saturday, may 11, 2024.*
<sub>*^ happy bday [Sabrina](https://en.wikipedia.org/wiki/Sabrina_Carpenter) – hope you didn't take [deja vu](https://en.wikipedia.org/wiki/Deja_Vu_(Olivia_Rodrigo_song)) too personally (despite it being abjectly personal).*</sub>
$\cdot$
**tl;dr;**
*Hello & welcome to the second installment of the <u>Issuance Issues</u>.® As the [previous iteration](https://notes.ethereum.org/@mikeneuder/iiii) was [so](https://twitter.com/yumatrades/status/1774918349551448243), [very](https://twitter.com/Kira_sama/status/1774343781674070518), [very](https://twitter.com/VukTheWolfy/status/1774868681106845915), [very](https://twitter.com/aeyakovenko/status/1774153768788955440), [very](https://twitter.com/jeuul157419/status/1774216583138681274), [well](https://twitter.com/FeederRotation/status/1774165567345463323)-[received](https://twitter.com/darran0x/status/1774930875819667456), I thought, "You know what people probably want more of? My thoughts on issuance!" Well, to quote the inimitable Bob the Tomato, ["Have we got a show for you!"](https://www.youtube.com/watch?v=MreUtmdNqpc&t=40s)*
*Some of the vitriol generated from the previous article may be attributable to its speculative and necessarily opinionated nature. The primary motivation for adjusting the issuance in [Electra](https://eips.ethereum.org/EIPS/eip-7600) continues to be attempting to "skate where the puck is headed" with regards to a hypothetical stake rate implied by the current issuance. I fully agree that [we cannot know](https://en.wikipedia.org/wiki/Epistemology) how the staking landscape may evolve with ETFs, restaking, macro conditions, and the gamut of variables influencing staking economics; I also still hold that, as most things in life, the success of Ethereum will depend on [Decision Making Under Uncertainty](https://direct.mit.edu/books/book/4074/Decision-Making-Under-UncertaintyTheory-and) and that we may end up in a highly undesirable scenario by <u>**choosing**</u> not to do anything in Electra. \*steps off the soap box.\**
*Moving on ... the present article aims to "yang" the previous' "yin" (too much?). Think of this more as a "[methods](https://www.nature.com/nmeth/)" article that builds, from the ground up, some parts of the tool kit that helped shape my perspective on issuance. None of this is opinion; it is simply math, plots, & (hopefully) good vibes. The structure of this article tells a simple story; we seek to answer the question, "**How might real yield be higher in equilibrium, despite reducing issuance?**" Put a little more formally, I hope to demonstrate how, by fixing a hypothetical supply curve, the equilibrium-implied real yield could be lower under the current regime than an alternative curve. I know I know, this sounds like pseudo-financial gobbledygook; bear with me.*
$\cdot$
**Contents**
The article has a build-from-scratch approach, where each section layers on a new concept and tries to explain the intuition, present a few numerical values, peek at the algebra, and plot the result. At any point, if the reader gets "Lost in the Sauce" (as I did many times writing it), returning to the previous sections should provide sufficient context to get back on track. [Section 1](#1-Inverse-Root-Curve-current-issuance) starts with today's issuance curve and defines the resulting nominal yield, inflation, and real yield. [Section 2](#2-Staking-Supply-Curve-hypotethical) introduces the concept of the "staking supply curve," providing a hypothetical function to help make the slippery topic more concrete. With the supply curve defined, the section demonstrates the equilibrium derivation and uses that value to calculate the implied real yield. [Section 3](#3-Scaled-Root-Curve-alternative-issuance) keeps the heat coming by mirroring the exact process outlined in Sections 1 & 2 while layering on an alternative issuance curve at each step. [Section 4](#4-Summary) wraps and foreshadows.
$\cdot$
The plotting code is [available here](https://github.com/michaelneuder/issuance/blob/main/Issuance%20Issues%20%E2%80%93%20Subsequent%20Soliliquy.ipynb), but FYI, it ain't pretty.
---
## (1) Inverse-Root Curve (current issuance)
Let $f(x)$ denote the current issuance curve. Calculating the yield as a function of staked `ETH`, we have,
$$
\begin{align}
f(x) &= 2.6 \cdot \frac{64}{\sqrt{x}}.
\end{align}
$$
See [here](https://notes.ethereum.org/@mikeneuder/iiii#fn1) for the derivation. We refer to this curve as "inverse-root" because of the square root in the denominator. The figure below shows $f(x)$ for `ETH` values in the range $x\in [0, 120,000,000]$, which is the approximate current [circulating supply](https://ultrasound.money/) of `ETH`.
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_2e85487e208b0dd8e69181a6231031a7.png width=76%>
A few reference values:
- $10\text{mm}$ `ETH` staked $\implies \approx 5.3\%$ nominal yield.
- $30\text{mm}$ `ETH` staked $\implies \approx 3.0\%$ nominal yield.
- $50\text{mm}$ `ETH` staked $\implies \approx 2.4\%$ nominal yield.
We call these values the ["nominal yield"](https://www.investopedia.com/terms/n/nominalyield.asp) to match the traditional finance lexicon of an interest-bearing asset. Think of this as the "sticker price" for staking interest, without accounting for inflation. With this curve, we can also calculate the inflation resulting from `ETH` issuance as
$$
\begin{align}
i_f(x) &= x \cdot f(x) \\
\end{align}
$$
In other words, we calculate the nominal yield implied by an amount of staked `ETH`, $f(x)$, and multiply it by the amount of stake, $x$. As a simple numerical example, consider if there is $30$mm `ETH` staked, which implies a $3\%$ nominal yield, then we have $900,000$ new `ETH` created annually,
$$
\begin{align}
i_f(30,000,000) &= 30,000,000 \cdot 0.03 \\
&= 900,000.
\end{align}
$$
The figure below shows $i_f(x)$ for $x \in [0, 120,000,000].$
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_7ba76c3f6749d71741ef268b569d7833.png width=76%>
A few reference values:
- $10\text{mm}$ `ETH` staked $\implies \approx 526\text{k}$ new `ETH` annually.
- $30\text{mm}$ `ETH` staked $\implies \approx 911\text{k}$ new `ETH` annually.
- $50\text{mm}$ `ETH` staked $\implies \approx 1.2\text{mm}$ new `ETH` annually.
Notice that we can ignore the burn from transaction fees in these calculations because the burn applies to all `ETH` in the system. Staking can be understood as a "tax" that unstaked `ETH` pays to staked `ETH` (by being diluted); this tax is still present no matter if the overall supply of `ETH` is contracting (more on this Soon™).
We now turn our attention to calculating the ["real yield"](https://www.investopedia.com/terms/r/realinterestrate.asp) from staking, which we denote as $r_f(x)$. The real yield is simply the nominal yield less inflation. Our current inflation value is denominated in `ETH` terms, so we divide by the total `ETH` supply, denoted $S$, converting the value to percentage terms,
$$
\begin{align}
r_f(x) &= f(x) - i_f(x) / S \\
&= f(x) - x\cdot f(x) / S \\
&= f(x) \cdot (1-x/S).
\end{align}
$$
Again, we use $S=120,000,000$. The figure below shows $r_f(x)$ for $x \in [0, 120,000,000].$ We include the nominal yield, $f(x)$, on the same set of axes for comparison.
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_77f7e67faaff0a81f0520f08ef4fecf0.png width=76%>
A few reference values:
- $10\text{mm}$ `ETH` staked $\implies \approx 5.3\%$ nominal yield; $\approx 4.8\%$ real yield.
- $30\text{mm}$ `ETH` staked $\implies \approx 3.0\%$ nominal yield; $\approx 2.3\%$ real yield.
- $50\text{mm}$ `ETH` staked $\implies \approx 2.4\%$ nominal yield; $\approx 1.4\%$ real yield.
Notice that $r_f(x)\to 0$ as $x \to 120,000,000$, implying "the real yield goes to 0 as the entire supply stakes." This is also visible algebraically as $(1-x/S)$ tends to $0$ as $x \to S$. Intuitively, that property makes sense because if all `ETH` is staked, even if the nominal yield is positive, the entire supply grows at that same rate, meaning the "portion of the `ETH` supply owned" by each staker remains constant.
## (2) Staking-Supply Curve (hypothetical)
So far, we have focused on the "staking [demand curve](https://www.investopedia.com/terms/d/demand-curve.asp)," where the curve characterizes "*the amount of `ETH` (yield in percentage terms) that the **protocol** is willing to create at various amounts of staked `ETH`*." We also must consider the "staking [supply curve](https://www.investopedia.com/terms/s/supply-curve.asp)," where the curve embodies "*the amount of `ETH` that **stakers** are willing to lock in the protocol at various yields.*" Let $s(x)$ be the staking supply as a function of staked `ETH`. For demonstration purposes, the remainder of this article uses,
$$
\begin{align}
s(x) &= 2\cdot 10^{-6} \sqrt{x}.
\end{align}
$$
<u>This is purely a hypothetical curve</u>; I chose this one to illustrate the example. Further exogenous (to the protocol) signals (e.g., MEV rewards, transaction fees, restaking yield, the fed funds rate, macro generally, etc.) may shift this demand significantly (and it mayn't be static over time).
The figure below shows $s(x)$ for $x \in [0, 120,000,000].$
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_161c09b0982eb31e2abbaea2b2fc5edc.png width=76%>
A few reference values:
- $\approx 0.6\%$ yield $\implies 10\text{mm}$ `ETH` staked.
- $\approx 1.1\%$ yield $\implies 30\text{mm}$ `ETH` staked.
- $\approx 1.4\%$ yield $\implies 50\text{mm}$ `ETH` staked.
With a supply curve, we can estimate an equilibrium at the intersection with the nominal yield curve. The figure below shows $f(x)$ and $s(x)$ for $x \in [0, 120,000,000]$, with the intersection marked with the golden `X`.
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_3224ab1ff45e199ad904d941e65e9dd1.png width=76%>
We can also derive this value algebraically. Let $x^*$ denote the equilibrium amount of stake, then,
$$
\begin{align}
f(x^*) = s(x^*) &\implies 2.6 \cdot 64/\sqrt{x^*} = 2\cdot 10^{-6} \sqrt{x^*} \\
&\implies x^* = 2.6\cdot 64 \cdot 10^6 / 2 \\
&\implies x^* = 83,200,000.
\end{align}
$$
We can describe the equilibrium informally by considering deviations in either direction:
- **Deviation to the right, $x > x^*$.** The marginal new staker will reduce the nominal yield to below what the stakers are willing to supply (e.g., the protocol is not paying enough interest to incentivize everyone to stay).
- **Deviation to the left, $x < x^*$.** The marginal exiting staker will increase the nominal yield to above what the stakers are willing to supply (e.g., the protocol is paying more than enough interest, bringing in a new staker).
The last step is to use $x^*$ to calculate the implied real yield of the equilibrium,
$$r_f(x^*) = 0.0056 = 0.05\%.$$
The figure below shows how to use the intersection, $x^*$, of the nominal yield, $f(x)$, and the supply curve, $s(x)$, to determine the equilibrium real yield, $r_f(x^*)$.
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_5907b9cfc99801831f20d1f21ccedc8c.png width=76%>
Nifty – are you still with me? Because now things are about to get ... well ... you'll see (**trigger warning:** *issuance change skeptics should stop here; continue at your own risk*).
## (3) Scaled-Root Curve (alternative issuance)
Now we want to compare the current issuance ("inverse-root" from [Section 1](#1-Inverse-Root-Curve-current-issuance)) with the proposed issuance curve from [*Electra Issuance Curve Adjustment Proposal*](https://ethereum-magicians.org/t/electra-issuance-curve-adjustment-proposal/18825) (ignoring the ensuing screaming from incensed crypto-twitter `¯\_(ツ)_/¯`). We call the alternative issuance curve "scaled-inverse-root," and denote it $g(x)$,
$$
\begin{align}
g(x) &= 2.6 \cdot \frac{64}{\sqrt{x}(1 + 2^{-25}\cdot x)}.
\end{align}
$$
See [Anders' work](https://ethresear.ch/t/properties-of-issuance-level-consensus-incentives-and-variability-across-potential-reward-curves/18448#h-55-potential-candidate-for-a-new-reward-curve-23) for the derivation.
The figure below shows $f(x)$ (solid red) and $g(x)$ (dashed red) for `ETH` values in the range $x\in [0, 120,000,000]$. The alternative issuance curve uses the "dashed" lines to help differentiate it from the current curve.
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_28df5964604c418100c9454dd7defeed.png width=76%>
A few reference values:
- $10\text{mm}$ `ETH` staked
- current $\;\;\;\;\,\implies \approx 5.3\%$ nominal yield.
- alternative $\implies \approx 4.1\%$ nominal yield.
- $30\text{mm}$ `ETH` staked
- current $\;\;\;\;\,\implies \approx 3.0\%$ nominal yield.
- alternative $\implies \approx 1.6\%$ nominal yield.
- $50\text{mm}$ `ETH` staked
- current $\;\;\;\;\,\implies \approx 2.4\%$ nominal yield.
- alternative $\implies \approx 0.9\%$ nominal yield.
With this curve, we copy what we did above to calculate the inflation (notice the subscript $_g$),
$$
\begin{align}
i_g(x) &= x \cdot g(x) \\
\end{align}
$$
The figure below shows $i_f(x)$ (solid green) and $i_g(x)$ (dashed green) for $x \in [0, 120,000,000]$ (again, we are just layering in the alternative with the current for comparison sake).
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_4a54ea7ae72d87295faa33e946eaaa83.png width=76%>
A few reference values:
- $10\text{mm}$ `ETH` staked $\implies$ annual new `ETH` $i_f(x) \approx 526\text{k}, \; i_g(x) \approx 405\text{k}$.
- $30\text{mm}$ `ETH` staked $\implies$ annual new `ETH` $i_f(x) \approx 911\text{k}, \; i_g(x) \approx 481\text{k}$.
- $50\text{mm}$ `ETH` staked $\implies$ annual new `ETH` $i_f(x) \approx 1.2\text{mm}, \; i_g(x) \approx 472\text{k}$.
The key takeaway is that in the current issuance regime, inflation is strictly increasing in the amount of stake. **Under the alternative issuance, the inflation declines past a target threshold** (e.g., more issuance at $30\text{mm}$ `ETH` staked than at $50\text{mm}$ `ETH` staked).
Following the pattern above, we now move to the real yield,
$$
\begin{align}
r_g(x) &= g(x) \cdot (1-x/S).
\end{align}
$$
The figure below shows $r_f(x)$ (solid blue) and $r_g(x)$ (dashed blue) for $x \in [0, 120,000,000].$ We include the nominal yield, $f(x)$ (solid red) and $g(x)$ (dashed red), on the same set of axes for comparison.
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_33b746b224912878e1d260d96969b7b0.png width=76%>
A few reference values:
- $10\text{mm}$ `ETH` staked
- current $\;\;\;\;\,\implies \approx 5.3\%$ nominal yield; $\approx 4.8\%$ real yield.
- alternative $\implies \approx 4.1\%$ nominal yield; $\approx 3.7\%$ real yield.
- $30\text{mm}$ `ETH` staked
- current $\;\;\;\;\,\implies \approx 3.0\%$ nominal yield; $\approx 1.2\%$ real yield.
- alternative $\implies \approx 1.6\%$ nominal yield; $\approx 2.3\%$ real yield.
- $50\text{mm}$ `ETH` staked
- current $\;\;\;\;\,\implies \approx 2.4\%$ nominal yield; $\approx 1.4\%$ real yield.
- alternative $\implies \approx 0.9\%$ nominal yield; $\approx 0.6\%$ real yield.
As with $r_f(x)$ (the current real yield), the alternative real yield, $r_g(x)\to 0$ as $x \to 120,000,000$ – makes sense. Also, notice how similar the alternative nominal and real yields (both dashed lines) are across the support. So far, we see that at all values of $x$, the nominal and real yields of the current supply are higher than the alternative. However, in equilibrium, the real apples-to-apples comparison, **the alternative curve has a lower nominal but higher real yield.**
OK, if you are still with me (which appears to be self-evidently true), we round this out with the equilibrium analysis, mirroring the preceding process. Recall that the sequence of steps we took was:
1. Choose the supply curve $s(x)$ (we will keep using the same one from before).
2. Find $x^*$ as the intersection of the supply curve and the nominal yield ($f(x^*) = s(x^*)$).
3. Calculate the equilibrium-implied real rate as $r_f(x^*)$.
Now for the alternative nominal yield, $g(x)$, denote the alternative equilibrium value, $x^\diamond$, where $g(x^\diamond)=s(x^\diamond)$. The figure below shows $f(x)$, $g(x)$, and $s(x)$ for $x \in [0, 120,000,000]$, with the current ($x^*$) and alternative ($x^\diamond$) equilibria marked with the golden and silver `X`'s respectively.
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_22e6bcee0fec2584cc9ec5a55ee4ab82.png width=76%>
We can also derive this value algebraically (sparing you the details – left as an exercise for the masochistic reader). Let $x^\diamond$ denote the equilibrium amount of stake, then,
$$
\begin{align}
g(x^\diamond) = s(x^\diamond) \implies x^\diamond &= 2^{18} (-64 + 3 \sqrt{4969}) \\
&\approx 3.866 \times 10^8.
\end{align}
$$
*Notice how much less staked `ETH` there is (over $40\text{mm}$ less) in the alternative equilibrium than the current equilibrium.* This is the crux of the comparison! The last step is to use $x^\diamond$ to calculate the implied real yield in equilibrium under the alternative curve,
$$r_g(x^\diamond) = 0.008 = 0.08\%.$$
Comparing this to the real yield in equilibrium from the current curve ($r_f(x^*)$), we can confirm,
$$r_f(x^*) = 0.05\%< r_g(x^\diamond) = 0.08\%.$$
**Despite the nominal yield being higher, in equilibrium, under the current issuance than the alternative, the real yield is lower.** The figure below pulls this all together graphically, showing the process of using $x^*$ and $x^\diamond$ to calculate the equilibrium-implied real yields ($r_f(x^*)$ and $r_g(x^\diamond)$) for both the current and alternative curves.
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_f3364999f48889661a218c928ed07455.png width=76%>
Zooming in a bit...
<img src=https://storage.googleapis.com/ethereum-hackmd/upload_c4fd681055144053fd52cda8a48e4b95.png width=96%>
**tl;dr;** *the green `O` is higher than the red `O` even though the gold `X` is higher than the silver `X`.*
$\uparrow$ if this all made sense, good job :)
$\uparrow\uparrow$ does this remind anyone else of the surround vote ($h(s_1) < h(s_2) < h(t_2) < h(t_1)$) from the [Casper](https://arxiv.org/pdf/1710.09437) paper?! (e.g., $r_f(x^\star) < r_g(x^\diamond) < g(x^\diamond) < f(x^*)$)
## (4) Summary
["Are you feeling it now?"](https://www.youtube.com/watch?v=TPK6YbIYV9U) Maybe not; this may be TMI for your weekend reading; we cannot always get what we want. ($\leftarrow$ first multi-semi-colon-sentence in a while, but Grammarly© seems OK with it.) We set out with two goals at the beginning of this document,
1. *demonstrating that even if the **equilibrium nominal yield is smaller** under the alternative issuance, the **implied real yield may be larger**, and*
2. *presenting a **basic set of methods** to continue refining the lingua franca of issuance dialog.*
I hope we succeeded in that :-)
You may be (but ideally are not) disappointed to discover that this will not be the last you hear from me concerning issuance! Stay tuned for the third installment of the Issuance Issues, which further explores the topic of "[taxation](https://en.wikipedia.org/wiki/Taxation_as_theft)."
have a nice weekend!
*— made with ♥ by mike.*
<!-- hi! stoked to share, "Issuance Issues – Subsequent Soliloquy," a methods-forward piece that builds from the basics to the plot on the right (↓). issuance discourse can be jargon-laden, so i tried hard to establish the intuition that helped me understand these curves.
👾📈🖍️📐⟿ -->