在各行各业,尤其是加密领域,成功往往是悄无声息的,而失败则是响亮而明确的。基础技术的稳步增长很少成为头条新闻,但戏剧性的市场崩溃却充斥着我们的新闻源。以太坊就是这样的,它在过去几年中经历了一系列重大升级,核心开发人员希望这些升级将使网络更接近支持超过10亿用户的愿景。像2021年的EIP-1559这样的升级彻底改变了用户交易费用的经济性,而一年后更有影响力的升级,即The Merge,涉及到以太坊共识机制的成功热插拔,这是以太坊最重要的架构。尽管长期以来人们对这些升级持怀疑态度,但今天不可否认的是,简单地说,2024年改造后的以太坊系统是有效的。事实上,有些人甚至可能认为这些变化的规模是理所当然的。

在公共区块链开发中没有免费的午餐,重要的是要引起人们对正在进行的叙事的关注:今天升级的以太坊系统也是一个更复杂的系统。这会产生许多重要的影响,尤其是回答有关系统本身的基本问题。四年前,一个无关痛痒的问题让整个加密研究界陷入了激烈的争论:“以太币的供应量是多少?”事实证明,无论是过去还是现在,这个问题都不那么容易回答。

值得庆幸的是,我们最近完成了大量的工作来自信地回答这个问题。根据Coin Metrics致力于在无需信任、验证的指导原则下彻底分析区块链网络,我们想回顾一下我们为确保以太坊供应指标的准确性所做的内部努力。在本周的《State of the Network》中,我们将讨论以太坊作为一个多区块链系统的货币政策的复杂性,并分享我们的方法,以更准确地跟踪ETH的供应和发行。

ETH在哪里?

尽管有很多怀疑,有些人会说,尽管困难重重,以太坊已经成功地成为一个模块化的多层系统。今天的以太坊经历了迄今为止任何网络中最雄心勃勃的经济和共识变化。由于这些变化,以太坊的原生货币以太币(ETH)现在存在于两个不同的系统中,必须仔细评估:“执行层”和“共识层”(又名“信标链”)。这两层的整合正是“The Merge”这个名字的由来。

我们花了很多时间来理解这些系统的复杂性,特别是当它涉及到跟踪ETH的供应和发行时。我们认为,这种分析的结果是对“ETH的总供应量是多少”这个看似简单的问题的最彻底的回答。

来源:Coin Metrics

截至UTC时间2024年1月20日,ETH的总供应量为120,179,693.24908。

然而,我们为得到这个答案而进行的链上旅程却变得相当有趣。首先,为了理解和衡量以太坊的新货币政策,必须运行两个不同的节点客户端——验证和参与网络所需的软件。

想象一下,这项任务类似于在两个繁忙的边境大城市进行人口普查。居民不仅在每个城市内部流动,而且在两个城市之间来回流动。为了得到正确的人口数字,需要考虑到过境的居民,同时也要确保没有重复计算任何可能已经搬家的人。

跟踪ETH的供应也是如此:如果你不考虑ETH从一个城镇(“共识层”)转移到另一个城镇(“执行层”),反之亦然,你将不可避免地得到错误的数字。这就是数据提供商在试图评估 ETH 供应时面临的挑战。随着资产现在从一层转移到另一层,我们发现目前对 ETH 供应量的估计最终要么高估了,要么低估了未偿付的 ETH 数量。可以肯定的是,大多数估计都在同一个范围内,但并不完全匹配,因为每个区块链观察者必须设计自己的方法。

下图有助于显示ETH在当今模块化以太坊系统中的流动。验证者通过将ETH发送到执行层(EL)的存款合约来质押ETH。然后,这个质押的ETH在共识层(CL)上表示,在共识层上,保护以太坊和证明新区块的奖励也会被分发。最后,在去年4月的“Shapella”升级之后,验证者可以选择通过将 ETH 提取回 EL 来取消质押和/或领取奖励。

来源:Upgrading Ethereum,作者:Ben Edgington

上述模块化系统的一个关键方面是需要仔细监控,以确保ETH在提取后不会被计算两次(请注意,在图中,存款合约上没有减号)。回顾一下我们的人口普查类比,就好像A市的居民搬到了B市,过了一段时间又回到了A市,但现在在A市的目录中记录了两个地址:一个是原来的地址,一个是新的地址。如果处理不当,这种情况可能导致人口统计中的“重复计算”。

下面的图表显示了这在链上的表现。红色的线表示EL上的存款/信标合约中的供应,而绿色的线表示CL上所看到的总ETH。在激活取款(蓝色)之前,请注意红线和绿线的匹配情况。但现在900万ETH已被解除抵押,其中一些被回收到存款合约中。因此,虽然存款合约的总余额为3700万 ETH,但在CL上质押的总ETH(通过将所有验证者的余额加起来,不包括奖励)只有2800万。

来源:Coin Metrics Network Data Pro

以太坊研究人员Ben Edgington在他的《升级以太坊》中总结道:

“当验证者退出并重新质押时,存款合约的余额是‘只向上’的。当验证者退出并重新质押时,存款合约的余额增加32 ETH,而其他一切基本不变。如果这种情况发生320万次,那么存款合约的余额将超过曾经流通过的以太币总量,大约为1.2亿ETH。这并不重要,只是要强调存款合约的余额应被视为烧毁,并在计算以太坊的总供应量时被视为零。”

鉴于存款合约的密钥不可访问,我们同意合约中的ETH应被视为烧毁。然而,重要的是要注意,在同步以太坊节点时,没有先验的理由或迹象表明该合约应该与其他任何合约区别对待。

因此,如果一个人在没有这个特定背景的情况下,应用简单地计算分类帐上所有账户的基本规则(我们对当前供应的确切定义),他们最终会得到一个明显更高的数字。下面的图表显示了我们调整后的ETH供应公式(红色),以及我们在将分类账上的所有账户加起来时获得的价值(绿色),由于上述提款频率的增加,这些账户的价值正在增加。

来源:Coin Metrics

但在上述背景下,我们最终可以列出我们今天在寻找ETH总供应量方面所采取的步骤。

1.把执行层上的所有账户加起来

2.将共识层上的所有验证器余额相加

3.减去执行层的信标合约(考虑它“烧毁”)

4.将存款合约减去共识层上记录的累积存款(这是一个次要考虑因素,以考虑由于协议定义的等待时间而当前在 EL 和 CL 之间“传输”的任何存入的 ETH)

虽然Ultra Sound Money等其他网站也采用了类似的方法,但值得注意的是,目前还没有达成共识。在理想情况下,应该有一个用于此目的的远程过程调用(RPC)端点或方法,但据我们所知,目前还不存在。在Coin Metrics,我们甚至已经开发了定制的以太坊导出器,突出了我们作为分析提供商的承诺。我们精心开发了一个通用数据模型(ATLAS)和自定义节点补丁,以准确地映射执行层和共识层上的所有ETH转移和余额更新。这种方法确保了精确的复式记账,而我们内部使用的多个以太坊客户端(如Geth和Erigon)为我们的方法提供了冗余和额外的保证。

但谁会去数呢?

虽然对某些人来说,专注于这里或那里的小数似乎过于详细,或者信标合约的“仅向上”余额只是一个美学问题,但我们认为,找到总供应量的便利性真正触及了加密货币存在理由的核心。看似简单的计数练习具有许多含义,触及公共区块链开发的核心,并突出了不同区块链之间的文化和技术差异。

首先,从技术角度来看,值得注意的是,每个以太坊区块都包含一个状态根——以太坊全剧“状态”的加密hash,包括所有账户余额——确保了对任何给定账户的ETH余额的共识。简单地说,两个不同节点之间账户余额的任何差异都会导致共识失败。然而,这并不一定保证预防或检测任何异常的ETH发行。

此外,作为一个基本指标,供应对其他重要指标有很多下游影响。在计算财富分散和所有权集中度的任何衡量标准时,准确衡量供给是必不可少的——分母的大小必然会影响结果。如果没有正确的背景,一个不知情的观察者可能会被误导,认为存款合约中锁定的3700万 ETH(迄今为止ETH余额最大的单一账户)属于个人所有,从而导致对ETH财富集中的误解。

供给在决定资产的市值和指数创建方面也起着至关重要的作用。夸大的总供应量数字可能会导致价值加权指数中 ETH 的市值和权重被夸大。不过,可以肯定的是,市场参与者不仅关心总供应量,还关心市场可用的流动性供应量。考虑到这一点,Coin Metrics在2020年推出了一个自由流通供应指标,该指标更好地描述了加密资产的流动性。

该措施考虑了流动性差(超过 5 年未触及)且可证明丢失的 ETH。例如,由于Parity智能合约钱包中的错误,大约有500K ETH永远丢失,另外还有250K的ETH众筹参与者丢失了私钥。考虑到我们所有的调整,我们的自由流通供应量与总供应量相比减少了约1300万 ETH。

来源:Coin Metrics

最后,本练习完美地介绍了不同区块链生态系统之间复杂性与透明度以及实验与稳定性的权衡空间。最透明的是比特币,它倾向于轻松地审计供应。例如,在Bitcoim Core(比特币的主要客户端)中使用gettxoutsetinfo命令,以简单的JSON格式快速返回所有未使用的交易输出(utxo)的总和。该命令汇总每个区块中可见的所有有效余额,为比特币的总供应量提供一个清晰的数字。截至比特币区块827533,比特币总供应量为19,609,367.994873。

ChainQuery

与此同时,以太坊的方法——让人想起硅谷的快速创新——倾向于将其工作重点放在雄心勃勃的发展路线图上。虽然以太坊拥有强大的文化,定期进行核心开发人员电话会议,阐明最新的更新和未来的以太坊改进提案 (EIP),但生态系统的快速发展并没有留下太多空间来关注诸如提高供应可审计性之类的事情。然而,随着以太坊生态系统中越来越多的人将 ETH 视为“健全的货币”,独立验证事物的能力可以说变得更加重要。

但这不仅仅是比特币与以太坊的问题。正如我们过去关于节点可审计性方面的工作所表明的那样,还有许多其他网络依赖于更强大的实验权衡。例如,从创世开始审计Solana区块链是一项极其困难的任务,只有少数人使用机构级硬件完成了这项任务。

未来:eth_getSupply?

如果加密货币要为传统金融体系的模糊性提供一种更透明的替代方案,我们可以肯定,像供应这样的基本衡量标准应该很容易找到并达成一致。我们希望这项研究能够揭示问题的复杂性,并在以太坊社区内引发新的对话,鼓励客户团队对此进行深思熟虑的考虑。

值得庆幸的是,我们相信有很多理由对未来持乐观态度。作为一个由全球核心开发人员和研究人员组成的网络支持的开源项目,以太坊已经取得了非凡的成就。不应该忘记,这些贡献者正在解决现实世界分布式系统中复杂的经济和技术挑战,这些系统保护着数十亿美元的价值。这个社区也非常容易访问,我们已经与以太坊生态系统的一些成员就供应审计进行了建设性的对话。

需要重申的是,以太坊的供应不是不确定的,相反,只是在确切的方法上缺乏共识。总的来说,以太坊是强大的,拥有一系列稳定、易于同步的客户端,其中一些甚至可以在消费级硬件上运行。此外,加密数据的状态,特别是在以太坊生态系统中,目前正在复兴。随着像Cryo这样的区块链数据工具的引入,未来看起来有希望得到改进。这些工具的出现是为了让社区统一一个通用的方法。以太坊社区以其围绕链上数据的丰富而充满活力的文化而闻名,这预示着未来的发展。这项任务是可行的,它只需要社区做全球成千上万个独立的以太坊节点每天做的事情:达成共识。