Cointime

Download App
iOS & Android

Conducting the ETH Census

From Coinmetrics By: Kyle Waters & Lucas Nuzzi

In many walks of life, especially crypto, success tends to go quiet and unnoticed, while failure rings out loud and unmistakingly. Steady gains in foundational technology rarely make headlines, but dramatic market crashes overflow our newsfeeds. Such is arguably the case for Ethereum, which has undergone a series of major upgrades over the last few years which core developers hope will move the network closer to a vision of supporting over a billion users. Upgrades like 2021’s EIP-1559 brought a total overhaul to the economics of user transaction fees, while an even more impactful upgrade one year later, The Merge, involved a successful hot-swapping of Ethereum’s consensus mechanism, its most essential piece of architecture. Despite a long drone of skepticism levied at these upgrades, it is undeniable today that the transformed Ethereum system of 2024, simply put, works. In fact, it's possible some may even take for granted the magnitude of these changes under the hood. 

There’s no free lunch in life or public blockchain development, and it’s important to call attention to a trade off that is being made: the upgraded Ethereum system today is also a more complex one. This has many important ramifications, not least answering basic questions about the system itself. Four years ago, a single innocuous question sent the entire crypto research community into heated debate: “What is the supply of ETH?” As it turns out, this question is not so easy to answer—both then and now. 

Thankfully, we’ve recently completed a lot of work to answer this very question with confidence. In line with Coin Metrics' dedication to thoroughly analyzing blockchain networks under the guiding principle of don't trust, verify, we'd like to go over the internal efforts we've made to ensure the accuracy of our Ethereum supply metrics. In this week’s issue of State of the Network, we will discuss the intricacies of Ethereum’s monetary policy as a multi-blockchain system and share our methodology to more accurately track the supply and issuance of ETH.

Where’s the ETH?

Despite much skepticism, and some would say against all odds, Ethereum has succeeded in becoming a modular, multi-layered system. The Ethereum of today has undergone what arguably accounts for the most ambitious economic and consensus changes of any network to date. As a result of these changes, Ethereum’s native currency ether (ETH) now exists in two distinct systems that must be carefully evaluated: the “Execution Layer” and “Consensus Layer” (aka the “Beacon Chain”). The integration of the two layers is precisely how the name for "The Merge” came to be.

We’ve devoted a lot of time into understanding the intricacies of these systems, especially as it relates to tracking ETH’s supply and issuance. The result of this analysis is what we consider to be the most thorough answer to the seemingly simple question, “what is the total supply of ETH?”

Source: Coin Metrics

As of January 20th, 2024 at midnight UTC, ETH’s Total Supply amounts to 120,179,693.24908.

The on-chain journey we undertook to get to this answer, however, is where it gets quite interesting. For starters, in order to understand and measure Ethereum’s new monetary policy, one must run two different node clients—the software required to validate and participate in the network. 

Imagine this task akin to conducting a census in two large bordering cities, teeming with constant activity. Residents are not only moving within each city but also back and forth between the two. In order to get the correct population figure, one needs to account for the residents in transit, while also making sure not to double count anyone who may have moved.

The same is true for tracking the supply of ETH: if you don’t account for the ETH moving from one town, the “Consensus Layer”,  to the other, the “Execution Layer”, and vice-versa, you will inevitably end up with the wrong figure. Such is the challenge faced by data providers trying to assess the supply of ETH. With the asset now portable from one layer to the other, we have found that current estimates of ETH supply end up either overestimating or underestimating the amount of ETH outstanding. To be sure, most estimates are in the same ballpark, but do not match exactly as each blockchain observer must design its own methodology.

The diagram below helps show the flow of ETH in today’s modular Ethereum system. Validators stake ETH by sending it to the deposit contract on the Execution Layer (EL). This staked ETH is then represented on the Consensus Layer (CL), where rewards for securing Ethereum and attesting to new blocks are also distributed. Finally, after last April’s ‘Shapella’ upgrade, validators have the option to un-stake and/or claim rewards by withdrawing ETH back to the EL.

Source: Upgrading Ethereum, by Ben Edgington

A key aspect of the modular system above is the need for careful monitoring to ensure that ETH is not counted twice after it has been withdrawn (notice in the diagram that there’s no minus sign on the deposit contract). Revisiting our census analogy, it's as if a resident of City A moved to City B, then returned to City A after some time, but now has two addresses recorded in the City A directory: both their original address and the new one. This situation can lead to a "double count" in the population tally if not handled properly.

The chart below shows how this appears on-chain. The line in red represents the supply in the deposit/beacon contract on the EL, while the line in green shows the total ETH staked as seen on the CL. Until the activation of withdrawals (in blue), notice how the red and green lines matched up. But now 9M ETH has been unstaked, with some being recycled back into the deposit contract. So while the deposit contract has a total balance of 37M ETH, the total ETH staked on the CL (found by adding up all validator balances excl. rewards) is only 28M.

Source: Coin Metrics Network Data Pro

Ben Edgington, an Ethereum researcher, sums this up in his Upgrading Ethereum:

“the deposit contract's balance is ‘up-only’ as validators exit and restake. When a validator exits and restakes, the deposit contract's balance increases by 32 ETH while everything else is essentially unchanged. If this were to happen 3.2 million times…then the balance of the deposit contract would exceed the total amount of Ether that's ever circulated, roughly 120 million ETH. This is of no importance, except to underline that the balance of the deposit contract should be considered burned, and counted as zero when totting up Ethereum's total supply.”

Given that the keys to the deposit contract are inaccessible, we concur that the ETH within the contract should be regarded as burnt. However, it's important to note that when syncing an Ethereum node, there's no a priori reason or indication that this contract should be treated differently from any other. 

So if one were to apply the basic rule of simply tallying up all accounts on the ledger (our exact definition of Supply Current) without this specific context, they would end up with a significantly higher figure. The chart below shows our adjusted formula for ETH supply (in red) and the value we get when adding up all accounts on the ledger in green, which is increasing due to the withdrawal quirk described above.

Source: Coin Metrics

But with the context above, we can finally lay out the steps we’ve taken in finding the total supply of ETH today.

  1. Add up all accounts on the Execution Layer
  2. Add up all validator balances on the Consensus Layer
  3. Subtract off the Beacon Contract on the Execution Layer (consider it “burnt”)
  4. Add back Deposit Contract minus Cumulative deposits recorded on the Consensus Layer (this is a minor consideration to account for any deposited ETH that is currently “in-transit” between the EL and CL due to a protocol-defined waiting time)

While other sources like Ultra Sound Money employ a similar methodology, it’s worth noting there isn't a consensus here yet. In an ideal world, there would be a single remote procedure call (RPC) endpoint or method for this purpose, but as far as we know, none yet exists. At Coin Metrics, we've even gone as far as developing custom Ethereum exporters, highlighting our commitment as an analytics provider.  We've meticulously developed a universal data model (ATLAS) and custom node patches to accurately map all ETH transfers and balance updates on both the Execution and Consensus Layers. This approach ensures precise, double-entry accounting, while our internal use of multiple Ethereum clients like Geth and Erigon offers redundancy and additional assurances to our methodology.

But who’s counting, anyway?

While focusing on a decimal here or there may seem excessively detailed to some, or the beacon contract’s “up-only” balance just a matter of aesthetics, we believe the ease with which total supply can be found truly strikes at the heart of crypto’s raison d'etre. What may seem like a simple counting exercise has numerous implications, touching at the core of public blockchain development and highlighting the cultural and technical distinctions between different blockchains. 

First, from a technical standpoint, it's worth noting that each Ethereum block’s inclusion of a state root—a cryptographic hash of Ethereum’s global “state” which includes all account balances—ensures consensus on any given account’s ETH balance. Simply put, any discrepancy in an account’s balance between two distinct nodes would result in a consensus failure. However, this does not necessarily guarantee the prevention or detection of any anomalous issuance of ETH.

Additionally, as a fundamental metric, supply has plenty of downstream impacts to other important metrics. When calculating any measure of wealth dispersion and ownership concentration, having an accurate measure of supply is essential—a smaller or larger denominator will necessarily impact the results. Without the right context, an uninformed observer might be misled to assume that the 37M ETH locked in the deposit contract (by far the largest single account by ETH balance today) is owned by an individual, leading to misinterpretations of ETH’s wealth concentration.

Supply also plays an essential role in determining an asset’s market capitalization and in turn, index creation. An overstated total supply figure might lead to an overstated market cap and weightings of ETH in a value-weighted index. To be sure though, market participants care not only about the total supply, but also the liquid supply available to the market. With this in mind, Coin Metrics launched a Free Float Supply metric in 2020 that provides a better portrayal of a crypto asset’s liquidity.

This measure takes into account ETH that is illiquid (not touched in over 5 years) and provably lost. For example, there is ~500K ETH forever lost due to a bug in the Parity smart contract wallet, and a further 250K lost from a 2014 ETH crowdsale participant who misplaced his private keys. Taking all of our adjustments into account, our free float supply measure is about 13M ETH less versus the total supply figure.

Source: Coin Metrics

Finally, this exercise perfectly introduces the trade-off space of complexity vs. transparency and experimentation vs. stability across different blockchain ecosystems. At the most transparent side of the spectrum is Bitcoin, which favors auditing the supply with ease. For instance, using the gettxoutsetinfo command in Bitcoin Core (Bitcoin’s main client) quickly returns the sum of all unspent transaction outputs (UTXOs) in a straightforward JSON format. This command aggregates all valid balances visible at each block, providing a clear figure for the total supply of bitcoin. As of Bitcoin block 827533, the total supply of BTC was 19,609,367.994873.

ChainQuery

Meanwhile, Ethereum's approach—reminiscent of the fast pace of innovation found in Silicon Valley—tends to focus its efforts around an ambitious development roadmap. While Ethereum boasts a strong culture of regular core developer calls that shed light on the latest updates and future Ethereum Improvement Proposals (EIPs) in the works, the rapid pace of the ecosystem doesn’t leave much room for focusing on something like improving supply auditability. However, with the conversation in the Ethereum ecosystem increasingly rallying around ETH as "sound money," the ability to verify things independently arguably becomes far more crucial.

But this isn’t just a Bitcoin vs. Ethereum issue. As our past work on node auditability shows, there are many other networks that lean on an even stronger trade off of experimentation. For example, auditing the Solana blockchain from its genesis is an extremely difficult task, something that only a handful have done using institutional-grade hardware.

The Future: eth_getSupply?

If crypto is to provide a more transparent alternative to the ambiguities of the traditional financial system, we’re certain that basic measurements like supply ought to be simple to find and agree upon. We hope this research sheds light on the complexity of the issue and sparks fresh dialogue within the Ethereum community, encouraging client teams to give this thoughtful consideration.

Thankfully, we believe there are many reasons to be optimistic going forward. Ethereum already represents a remarkable achievement as an open-source project supported by a global network of core developers and researchers. It shouldn’t be forgotten that these contributors are solving complex economic and technical challenges within a real-world distributed system that safeguards billions of dollars in value. This community is also very accessible, and we've already had constructive conversations about supply auditability with some members of the Ethereum ecosystem.

It's important to reiterate that Ethereum's supply isn't indeterminate; rather, there's just a lack of agreement on the exact methodology. Overall, Ethereum is robust with a diverse set of stable, easy-to-sync clients—some that can even run on consumer-grade hardware. Moreover, the state of crypto data, particularly in the Ethereum ecosystem, is currently in a renaissance. With the introduction of blockchain data tools like Cryo, the future looks promising for improvements. The tools are emerging for the community to unify around a common method. The Ethereum community is well known for its prolific and vibrant culture around on-chain data, which bodes well for future developments. The task is feasible, it just requires the community to do what tens of thousands of independent Ethereum nodes across the globe do each day: reach a consensus.

Comments

All Comments

Recommended for you