一 一条库存约束
恒定乘积不是自动找到市场价格。
它是一条库存约束。
池子里有两种资产,数量相乘等于一个常数。交易者往池里加进一些甲,合约允许他取走的乙,必须让这个乘积保持不变。
边际价格由曲线的斜率给出。交易之前的瞬时价格,大约就是两种储备的比值。
而有限规模的交易不是按这个单一价格成交的。它是在曲线上移动一段距离。
所以交易越大,相对池子越浅,平均成交价偏离交易前边际价格就越多。
这就是最基础的价格冲击。而界面上通常把手续费,外部市场的移动,以及抢跑造成的执行差异,一起呈现成某种滑点。所以实务里的滑点和纯粹由曲线产生的价格冲击,不应该完全等同。
举一个纯计算的例子,不代表任何历史上的池子。
假设池里有 100 枚 ETH 和 200,000 枚 USDC,交易前的边际价格是 2,000。
有人输入 10 枚 ETH。按 Uniswap v2 的公式算,他能取走约 18,132.22 枚 USDC。
平均成交价约 1,813.22。
交易前的边际价格是 2,000,而他实际换到的是 1,813.22。
差的那 9% 不是手续费。手续费只有千分之三。剩下的是他自己这笔交易把价格推走的部分,而这一部分留在了池子里,归 LP 集体所有。
那 10 枚里名义上的手续费是 0.03 枚,而它不是另外付的,它包含在他输入的 10 枚里面。
这里还有一个容易被写错的机制。那 0.30% 并不是由合约立刻转账到 LP 的钱包。完整的输入资产先进入池子,手续费的部分留在储备里,使乘积变大。LP 持有的是这个池子的比例所有权,所以费用是通过份额对更大储备的索取权体现的,退出流动性的时候才随本金一起取回。
一次兑换在合约里的实际顺序,比调用一个公式要具体得多。
路由合约先根据各个池的储备算出路径输出,检查交易者设定的最小输出量和截止时间;然后把输入代币直接送到第一个池;池子先检查输出量非零且不超过储备,然后乐观地把输出代币转出去;如果附带数据非空还可以回调接收方,这是闪电兑换的基础;之后池子重新读取真实余额,用新余额与旧储备之差反推实际收到了多少输入,做手续费调整,再检查调整后的乘积是否不小于原来的乘积;检查通过才更新储备并发出事件,否则整笔交易回滚。
为什么这在早期的以太坊上比完全链上的订单簿合适。
一个完整的链上限价簿,要把挂单,撤单,修改,撮合这些订单状态持续写进链上。每一次改变都是一次要付 gas,要等出块,要参与全网共识排序的状态转换。
而 AMM 把需要维护的市场状态,压缩成了少数几个池的储备和 LP 的份额。交易者不需要等某一个对手挂出恰好匹配的订单。
这是一次极其干净的压缩。做市商,订单簿,撮合引擎,清算所,一整套机构被换成了一个函数和两个数字。
而它没有消灭做市成本。
它把成本改成了 LP 的库存风险,被套利的损失,以及交易者在曲线上的价格冲击。
余项在这一句里已经可以指出来了。它不是任何一笔被漏掉的钱,那条曲线上每一分钱的去向都可以逐笔重算。
余项是那些被换到了新位置,而新位置上没有一栏可以显示它们的成本。
这一句是后面七节的地基。
二 五点七一九
无常损失最严格的比较对象,不是 LP 的本金有没有亏钱。
是在同一个初始资产组合,同一个最终外部价格下,LP 头寸的市值,与什么都不做,原样持有那两种资产的市值之差。
所以一个 LP 完全可能在美元上盈利,而仍然有无常损失:两种资产整体涨了,而原样持有涨得更多。
反过来,手续费也可能超过无常损失,使 LP 相对原样持有的净收益为正。
把手续费包含进无常损失本身,会混淆两个不同的经济量。较严谨的做法是分别计算。
对不计手续费的五五恒定乘积池,设两种资产的外部相对价格变化倍数为一个比值,那么把池子重新平衡到外部价格之后,LP 市值与原样持有市值的比,等于二倍根号该比值再除以一加该比值。
具体的数字是这样的,而下面每一个百分比都不含手续费,gas,代币奖励和税:
价格下跌 25%,损失 1.026%。上涨 25%,0.619%。
下跌 50%,5.719%。上涨 50%,2.020%。
上涨一倍,也就是价格翻倍,5.719%。
上涨两倍,13.397%。上涨三倍,20.000%。上涨九倍,也就是价格变成十倍,42.504%。
下跌 50% 和上涨 100% 出现同样的 5.719%,不是公式错了。
这一处值得记住,因为它说明这个损失量的是价格的比值,而人日常感受的是涨跌的百分比。同一件事,两种量法,而两种量法在直觉上给出相反的印象。
无常损失对价格比值和它的倒数是对称的,而日常语言里的百分比涨跌不对称。
无常这个词也需要限定。
只要价格还可能回到最初的比率,相对原样持有的那个差额就可能缩小。而 LP 一旦退出,这个差额就实现了。
即使不退出,在按市价比较的意义上,它也是当时已经存在的机会成本,不是一笔尚未发生的损失。
实证结果并没有支持一句统一的 LP 一定赚钱或者一定赔钱。
有一项 2021 年的研究重建了 v3 上线之后 17 个池的 LP 头寸,把费用和相对原样持有的无常损失聚合起来,得到总费用 1.993 亿美元,估计无常损失 2.601 亿,合计相对原样持有是负的 6,080 万。而这 17 个池不是全体,是按规模,资产组成和数据可得性筛选出来的,时期也是 v3 早期。
另一项研究重建真实的 v3 仓位,区间和管理行为,结论是稳定或者低波动的池可以有简单但较低的回报;而显著的回报通常伴随更窄的区间,更高的风险和主动管理。
第三项研究用 2022 年到 2023 年的多个池,用链上的兑换事件算费用,用外部交易所的秒级价格模拟套利损失,发现样本中若干 v3 的池手续费不足以覆盖模拟出来的套利损失,而所测的 v2 池则较常覆盖,第二年的样本里费用约为损失的三倍。
第三项尤其提醒一个口径问题。
无常损失和相对再平衡的损失,不是同一个指标。
前者以原样持有为基准。后者以一个持续按外部价格无摩擦再平衡的策略为基准,主要捕捉的是 AMM 因为报价滞后而被套利者交易的损失。
把一篇后一类的论文写成实证证明了无常损失是多少,会改写原论文的比较基准。
所以 LP 的实际净收益,至少要写成一个分解:资产本身的涨跌,加手续费,加代币激励,减去所选基准下的损失,减去 gas,减去再平衡的成本。
而不能把界面上显示的费率年化,直接叫做 LP 的利润。
这个分解里有一件事值得单独看。等号右边有六项,而界面上通常只显示其中一项,而且是唯一那个必定为正的项。
集中流动性尤其如此。
v3 的核心不是删掉那条曲线,而是把每一段活跃区间视作具有虚拟储备的恒定乘积池。同样的名义本金可以集中在很窄的价格带里,当前价格附近的深度因此大得多。
代价是价格离开这个范围之后,该仓位不再参与成交,不再赚这个池的交易费,并且全部转化成其中一种资产。
所以它提高的是给定资本在某个价格范围内的深度,不是无条件提高 LP 的收益。
集中得越窄,单位本金在价格仍处于范围内时分到费用的能力越强,同时价格也越容易离开范围。
三 五十二万六千
流动性挖矿这件事,有三个日期要分开。
2020 年2 月26 日,Compound Labs 发布 COMP 的治理设计与初始分配方案。5 月27 日的一份公告明确说明要把分发扩大到协议的使用者。学术文献通常把 6 月15 日记作启动日,而 Compound Labs 同期自己的文章按发布时间把里程碑写成 6 月16 日。
这里不应该强行合并成一个唯一正确的日期。计划日期,以太坊上的执行区块,以及发布者所在的时区,足以造成一天的差异。
COMP 的总量是 10,000,000 枚。原始公告给出的分配是:Compound Labs 股东 2,396,307 枚,23.96307%;创始人与团队 2,226,037 枚,22.26037%;未来团队成员 372,707 枚,3.72707%;协议使用者 4,229,949 枚,42.29949%;其他社区治理用途 775,000 枚,7.75%。
这里有一个经常被写错的技术口径。
原方案不是每个区块新铸造 COMP,无限通胀。
总量早已确定,其中 4,229,949 枚被放进一个储备池,再按区块释放进入流通。
最初的方案是每个以太坊区块向协议输送 0.50 枚;按当时约 15 秒一个块估算,相当于约每日 2,880 枚。
而这只是区块时间假设下的近似值,不是日历日的保证量。
初始的分配规则还有两层。第一层,那 0.50 枚在各个市场之间,按该市场产生的利息分配。第二层,每个市场内部一半给存款方,一半给借款方,再按各自余额占比分配。
这个规则很快出现了显著的反馈。
借款利率高的市场会获得更多 COMP,而领取 COMP 本身又提高了借款意愿。
治理随后修改了规则。学术重建记录的执行日期是 2020 年7 月2 日,市场之间的权重由累计利息改为按美元借款需求分配。
这不是一个抽象现象。
同期的链上分析记录:2020 年6 月14 日到 6 月30 日,BAT 市场的未偿借款从约 209,000 枚增至约 11 亿枚;存入的 BAT 从约 740 万枚增至约 13 亿枚。
前一个变化,按那份分析给出的原生币数量口径,约为 526,315.8%。
而这是 BAT 的数量,不是美元锁定值,更不表示凭空出现了 11 亿枚 BAT 的实体经济信贷需求。使用者可以存入,借出,再存入同一类链上资产,以此扩大符合奖励条件的余额。
那个小数点后的一位要保留。526,315.8% 这个数之所以荒谬,恰恰因为它是准确的:它准确地量了一件不该被这样量的事。
这条路径后来被逐笔重建出来了。
一项对 2019 年5 月到 2020 年9 月 Compound 链上状态的研究识别出 2,141 个账户在使用循环杠杆,涉及超过 6 亿美元的供应量,约为其样本中供应规模的一半。
其中最大的一个供应方,在合约账面上累计供应 3.42 亿美元,借款 2.47 亿美元;而作者追踪循环之后估计,这个地址自身的原始投入约为 5,500 万。
也就是账面供应的约 16%。
3.42 亿的账面,5,500 万的本金。
这正好回答了这个机制在经济上到底在做什么。
它没有凭空创造正常的借贷收入。它是在原来的利率现金流之外,加上了一笔协议预先分配的治理资产补贴。
存款方的总收益,约等于存款利息,加上分给存款方的那部分 COMP 的市值除以符合条件的资本。
而借款人的净成本,约等于借款年化利率,减去借款方奖励的价值除以未偿借款。
如果第二项高于第一项,借钱本身可以出现负的净利率:借款人付了利息,却收到市值更高的 COMP。
所以界面上那个年化,至少要拆成两部分。
一部分来自另一个使用者实际支付的交易费,借款利息和清算费。
另一部分来自预留的治理代币进入流通。
而 COMP 这个例子尤其应当说释放进入流通,不是增加总供应。
领取者多了 COMP;而对应的另一侧不是某个当期借款人多付了同额现金,是储备池的余额减少,同时既有持有人在流通份额上的稀缺性被新增的流通量稀释。
代币的市场价格决定这笔补贴的美元价值。所以同样是每区块 0.50 枚,可以产生完全不同的美元年化。
而这里有一条反证必须保留。
短样本的那项研究把 6 月的突增与 COMP 启动联系得很紧;而另一项使用 2019 年5 月到 2021 年6 月更长日度样本的研究,把净铸造按日价格折成美元做回归之后,发现加入相关变量对净存款流入的额外解释力很小。
也就是说,COMP 引起了可见的短期活动跳升,和 COMP 是更长样本中净资本流入的主要统计解释变量,不是同一个命题。
两篇研究并不真正矛盾。
四 是治理权还是收入权
协议有手续费,治理代币有价值,代币持有人有协议收入权,这三件事被写成同一件事,是那一轮叙事里最需要拆开的地方。
Uniswap v2 那一侧,2020 年的实际交换费是 0.30%,在协议费开关未开启的情况下全部进入 LP 的储备。
v2 的设计确实预留了协议费:治理如果启用,可以让协议捕获相当于交易费约六分之一的部分,经济上常表述为 0.05% 给协议,0.25% 给 LP。
而 2020 年的关键事实是:开关存在,不等于持有人已经在收钱。
UNI 的发行公告只赋予持有人治理权,国库控制权和这个开关的控制权,而且开关还有 180 天的时间锁。
后来的历史也证明协议费和现金分红仍然要分开。
2022 年关于开关试验的治理材料特意说明,试验本身不决定收费收入以后如何使用,也不建立向持有人支付的预期。
到 2025 年末通过的架构改变之后,2026 年的官方文档显示 v2 与部分 v3 已经启用协议费,并把收入用于销毁机制。
而销毁是对所有剩余代币的间接供给效应,不是持有人按账户领取美元或者别的资产的合同式分红。
Compound v2 那一侧,资金流的起点是借款人:借款人的债务随借款指数增长,存款方的凭证兑换率随可分配利息增长,而市场设置的储备因子把一部分利息留在协议的储备里。
对该合约经济的研究明确指出,其样本期内没有把这些储备自动分配给 COMP 持有人的明确方案。
所以不能写成 COMP 是 Compound 的利润分红权。
更窄而准确的是:COMP 控制的是可以修改协议参数的治理权;而协议保留的利息储备,与代币持有人的现金流,是两个不同的账户。
SushiSwap 提供了反例,所以也不能反过来说治理币都没有收入。
它从 v2 分叉出来,经典的质押模式把标准的 0.30% 中约 0.25% 留给 LP,约 0.05% 变现后转换成 SUSHI 进入质押池,使质押凭证对 SUSHI 的兑换率随收入积累。
这相当于主动质押的持有人,有一条来自交易费的经济索取机制。
而普通持有不够,必须质押。
它的费率用途后来还经历过治理变更,所以 0.05% 永久不变同样是错误的写法。
因此治理币是否有收入权,必须逐协议,逐时期,逐操作状态回答。
分配那一侧也要放进同一张资本表里。
UNI 在 2020 年9 月16 日的初始供应是 10 亿枚:60.000% 社区,21.266% 团队与未来员工,18.044% 投资方,0.690% 顾问,后三类都由公告写作四年释放。
社区那 60% 里,15% 的总供应立即向历史参与者开放领取,43% 的总供应留在国库。
历史空投是按地址而不是按自然人的:49,192 个历史 LP 地址分 49,166,400 枚;251,534 个历史使用地址平分 100,613,600 枚,即每个符合条件的地址 400 枚。
一个自然人控制多个地址,一个合约代表多人,都会使人数不同于地址数。
而 COMP 那一侧,给股东,创始人团队和未来团队的三项合计约占一半,给协议使用者的是 42.30%。
这里有一条证据纪律:原公告只对创始人与团队明确写出了四年释放,不能在没有另一份原始材料的情况下,把其他类别也自动写成四年锁仓。
上一篇里那 25 个找不到硬编码的项目,和这里是同一类工作。
最后是一处代码里的东西。
SushiSwap 最初的分配合约里,明确存在拥有者,开发者地址和一个权限很强的迁移函数。源代码的注释甚至直接写着,拥有者掌握着巨大的权力,并表示日后再把所有权移交治理。
部署为智能合约,与从第一天起没有管理性的中介,不是同义词。
这两句话之间的距离,是这一节最实在的一处。前一句是可以被验证的:代码在链上,任何人都能读。后一句是关于权力的:谁持有那把私钥,他打算什么时候交出去,以及在交出去之前他做了什么。
而后一句的答案不在链上。
五 四个人
从资金流而不是协议宣传看,一笔兑换至少同时涉及四组经济主体。
交易者这一头。他交出输入资产,承担三种可以分开的成本:明示的手续费,曲线造成的价格冲击,以及从签名到执行之间产生的价格与排序损失;另外还要由发交易的地址支付 gas。
而那个最小输出量,只规定他愿意接受的最低输出,不能保证他成交在提交时看到的报价。
LP 这一头。他收到手续费,而不是无风险地收租。
交易本身改变他的资产库存;外部价格改变之后,套利者会进一步把池子的边际价格推向外部价格,使 LP 机械地卖出相对上涨的那一种,买入相对下跌的那一种。
相对原样持有,这表现为无常损失;相对连续无摩擦再平衡的基准,则表现为被套利的损失。
LP 赚费用的对象和承担逆向选择的对象是同一个资金池,而收益和损失来自不同的交易流。
所以累计手续费很高,不能单独证明 LP 的净盈利。
套利者这一头。假如外部市场的 ETH 已经值 2,100,而池里还是约 2,000,套利者会买走池中便宜的 ETH,直到扣除 gas,费用和其他摩擦之后不再有正收益。
套利者的毛利在经济上主要对应 LP 相对及时重报价基准的损失。
而竞争的套利者还会把其中一部分,通过优先费和捆绑支付,转给负责排序和出块的那一侧。
所以套利者赚的钱全部来自普通交易者,也不准确。
夹击又是另一回事。搜索者观察到一笔会显著移动池价的交易,可以在它之前买入,之后卖出,把受害者允许的滑点转成自己的利润空间;这时交易者获得的执行更差。
2020 年那篇论文不是简单地去查询一个 MEV 总收入的字段。它识别可量化的套利机器人,观察它们之间为了抢排序优先权而进行的费用竞价,并分析为此支付的 gas。
它首先证明的是排序权本身具有可以被测量的经济价值。而它只观察可识别的一类策略,不能代表全部。
关于 MEV 有多大,方法的差异本身也是结果的一部分。
一个被广泛引用的链上重建口径,对约 32 个月的以太坊数据识别夹击,清算和套利三类,合计估计约 5.4054 亿美元的可识别提取值。
而这不是全体使用者的损失,是研究算法能够归类的那三类机会的美元化收益。
2024 年的一次重新测量则指出,既有的启发式检测有误报也有漏报,于是提出基于盈利性的识别算法,估计截至 2022 年9 月那次共识转换前后这一历史阶段,已提取的 MEV 约 6.75 亿美元。
这两个数字不宜二选一。时间区间,策略覆盖,私有交易的可见性,检测规则,以及利润里 gas 和贿赂的扣除方式,全都不同。
还有一个反例,来自集中流动性的时代。
对 v3 上即时流动性的研究,在 2021 年6 月到 2023 年1 月的样本里识别出 36,671 个事件;模拟去掉这些之后的同一批兑换,作者得到交易者平均的价格改善约 0.139%。
也就是说,那类策略的收益更多来自临时资本在大额交易之前加入,拿走交易费,再立即退出。
所以损失的那一侧,更可能是原有被稀释的被动 LP,而不是那个交易者。
MEV 不是一个对使用者盗取的单一数字。
它至少有三种性质不同的东西被装在同一个缩写里:一种是把外部价格带进池子的套利,它的对手是 LP;一种是插在别人交易前后的夹击,它的对手是那个交易者;还有一种是临时资本抢走费用,它的对手是原来的被动 LP。
三种的受害者不是同一批人。而它们被加总成一个数字之后,这件事就看不出来了。
这也是为什么这个域里关于 MEV 的争论一直很乱。有人说它是在偷普通人的钱,有人说它是市场效率的必要成本,而两个人举的可能是三类里的不同一类。
把这四头合起来,一笔兑换的资金图是这样的:交易者付出的东西分别流向 LP 的手续费,验证者与排序者的 gas 和优先费,以及搜索者的残余利润。
而 LP 那一侧另外承担的是:库存风险,所选基准下的损失,合约风险,以及集中流动性下的区间管理成本。
套利者的出现,一方面把池价拉向外部价格,另一方面因为池子不能像专业做市商那样在外部价格到来的瞬间撤单,套利利润会形成 LP 的逆向选择成本。
这两件事同时成立。
六 三美元
最容易得到的是地址统计,最难得到的是自然人,企业,收入阶层和地理分布。
两者不能互换。
Uniswap Labs 在 2020 年9 月16 日的公告里自报:协议上线不到两年,累计处理超过 200 亿美元的名义兑换量,超过 250,000 个独立地址,8,484 个独立资产;超过 49,000 个 LP 地址曾提供超过 10 亿美元流动性,累计获得约 5,600 万美元手续费。
这些是开发方公告里的累计统计,而 250,000 尤其不是 250,000 个自然人。
Compound 那一侧有更严格的独立地址级研究。一项以 2019 年5 月到 2020 年9 月链上记录为样本的研究,从全样本资金流得到:最大的存款方占累计供应资金的 27.4%,前十占 49%;最大的借款方占 37.1%,前十占 59.9%。
而第二项研究把窗口拉长到 2021 年6 月之后,发现了一个更值得警惕的问题。
数据里有 356,800 个存款地址。
其中约 195,200 个恰好只做过一次,不超过 3 美元的稳定币存款。
而更极端的是,约 183,000 个恰好是 3 美元。
183,000 个地址,每一个恰好 3 美元。
这些不是使用者。它们是为了某个目的被批量创建出来的,而它们会出现在任何一个按地址计数的统计里。
第七篇里说过地址不是人。这里更进一步:有相当一部分地址,连一个想被当成人的意图都没有。
作者因此把这些列为微地址,从主要的地址分析里剔除。
剔除之后剩下 161,569 个地址。其中小钱包占地址数的 99.7%,而只占美元存款的 16%;仅 256 个大钱包地址占美元存款的 30.5%,前 100 个地址占 75%。
99.7% 的地址,16% 的钱。
这两个数放在一起,说明的不是有人在骗谁。它说明的是任何一个按地址计数的普惠叙事,和任何一个按金额计数的集中度叙事,可以在同一份数据上同时成立。
借款那一侧更集中。同一项研究在样本期识别出约 22,289 个独立借款地址;前 100 个地址占全部贷款的约 78%,多数贷款以稳定币计价,平均期限约 31 天。
而作者也明确说,一些大型智能合约无法识别其所有人,可能是别的协议,也可能是私人或者机构投资者。
所以一个合约地址等于一个鲸鱼自然人,同样没有依据。
研究还能看到资金用途的一部分,而不是借款人的现实身份。
把借出来的代币很快重新存回同一个或者别的协议,作为链上的杠杆化耕作迹象;由此能支持的较窄说法是:样本中相当一部分活动具有链内杠杆,套利,做空或者耕作的特征。
而这不能推出没有人用它解决真实的流动性需求,因为链上数据通常无法观察借款在中心化交易所,场外,消费或者企业端的最终用途。
LP 那一侧,一项对 250 个 v3 池的地址行为分类发现,专业类别的 LP 份额随池的规模和交易量增加;在日交易量超过 1,000 万美元的样本池里,几乎全部流动性和大部分手续费来自其分类中的专业 LP,而日交易量低于 100,000 美元的池更常见散户 LP。
而这个身份仍然是由链上行为特征分类出来的,不等于经过核实的职业身份。研究测量的是市场结构,不是人口普查。
单笔兑换的规模分布则存在明显的材料缺口。
本次核查到的 2020 年原始材料,对累计成交量,地址数和 LP 数都比较丰富,而没有找到一套同时满足覆盖全体,公开可复核,明确美元换算时点,并且能与自然人身份对应的单笔规模分布。
后来有论文能对兑换成本,MEV 或者选定的池做交易级重建,而这不解决那些地址属于哪些现实群体的问题。
更要紧的是,关于是否降低了现实金融服务成本,提高了未被银行覆盖人群的可及性,链外的实证非常稀少。
那些能观察钱包,合约,借款期限,资产去向和循环借贷的研究,无法把绝大多数地址稳定映射到具体的自然人,收入水平,国家,企业融资成本,或者与传统银行的替代关系。
而任何人都可以访问,无需许可,是协议方的设计主张,不是随机实验或者地区级的金融包容性测量。
所以目前的材料可以较强支持的是技术上的可及性:有兼容钱包和链上资产的地址,不需要传统交易所的撮合账户就可以调用合约。
材料明显不足以支持更强的社会经济命题:某一年的链上金融已经实证降低了某个地区家庭或者小企业的信贷成本。
后一个命题还必须计入获得加密资产的入口,gas,超额抵押的要求,稳定币与交易所的入口,以及钱包安全的成本。
对 2020 年那一轮,本次没有找到可以严谨给出就业增加多少,小企业融资成本下降多少个基点,某地区新增被覆盖人口多少的链外因果测量。
这个缺失本身应当保留,而不是用钱包增长率去代替。
七 三套账
有几种流行说法需要改写,而改写的方式正是这一节的内容。
DeFi 消除了中介。
需要改成:某些协议把原先由交易所撮合引擎,经纪账户或者借贷机构内部账本执行的部分职能,转成了公开区块链上的智能合约规则;它没有消除所有中介功能,而是重新分配了中介的位置。
AMM 确实不需要一个传统的中心化订单簿运营方来逐笔决定撮合;借贷协议也不需要信贷员逐笔批准抵押借贷。
而交易仍然可能依赖钱包与前端,验证者与区块构建者,节点服务,预言机,稳定币发行方,包装资产的托管方,治理持有人与代表,LP,套利与搜索者,以及清算机器人。
上一节那段代码注释尤其说明,部署为智能合约不能自动推出无人具有管理权。
而可组合性还会创造传统叙事里没有的新型中介依赖。
一项对 23 个已标注协议和 10,663,881 个相关账户的研究发现,交易与借贷协议在协议调用网络中具有很高的中心性,大量协议调用嵌套着其他的基础模块。
一个人表面上只用一个协议,底层的交易可能依赖多个合约和多层资产。
TVL 就是投入的资本。
需要改成:它是按特定方法,把一组协议地址和资产余额在某一个时点估成美元之后的总锁定值指标;它既受币价变化影响,也可能把可组合,包装,借出再存入的同一份底层经济价值重复计数。
所以这个数字从 10 亿变成 20 亿,至少有三种完全不同的路径:使用者真正净转入了约 10 亿;原来锁着的代币价格翻倍而币量没变;或者同一份抵押品产生凭证或者借出资产,再被存进另一个协议形成多层记账。
上一节那个账面 3.42 亿,原始投入约 5,500 万的例子,就是为什么账面供应量和外来净本金不能互换。
2025 年的一份工作论文对 939 个协议系统检查了计算方法:10.5% 使用外部服务器的数据;研究发现了 68 种标准余额查询以外的方法,并识别出 240 次相同的余额查询跨协议重复出现。在其 400 个协议的案例研究中,只有约 46.5% 的协议能够与公开的数字得到相同或者非常接近的结果。
而这里衡量的是方法的可验证性,不是说另外那 53.5% 都在造假。
另有研究提出只追踪最终可赎回的底层经济价值。他们对峰值期的重建估计,在 2021 年12 月2 日,总锁定值与可赎回值之间的差约为 1,398.7 亿美元,两者之比约为 2。
而这不是一个通用的除以二修正系数。它是那个数据集,那套衍生代币追踪方法和那一个时点得到的历史结果。
流动性挖矿的高收益就是协议创造的收益。
需要改成:耕作收益通常是交易费与借贷利差这一类由其他使用者支付的收入,与治理代币进入流通所形成的补贴之和;两者的资金来源,持续条件和承担成本的人都不同。
UNI 在 2020 年那次的具体安排是:9 月18 日到 11 月17 日,对四个池各分 500 万枚,合计 2,000 万枚;按当时公告的区块时间估算,每池约每日 83,333 枚。
这部分 LP 收益是国库的代币分配,而不是交易者在这两个月里额外付出的 2,000 万枚。
所以流动性挖矿本质上只是不可持续的补贴换增长。
而材料支持两种不同的解释,不能仅凭机制替其中一个下结论。
一种解释是启动补贴:年轻市场的流动性有网络效应,协议先把治理资产分给存款方,借款方或者 LP,用国库和代币供给补偿早期资本承担的合约风险,价格风险和机会成本;等交易深度,使用者和集成增加之后,真实的费用收入可以接替一部分补贴。
另一种解释是补贴诱发的活动:只要代币奖励的收益率高于借款成本,LP 风险和 gas,理性的资本就有动力把同一笔钱循环存,借,再存,把名义活动,借款和锁定值做大;而奖励下降或者币价下降的时候,这部分活动未必有独立的经济需求支撑。
上一节那 2,141 个账户和 6 亿多美元的循环,以及 BAT 市场几周内的极端扩表,为后一种机制提供了直接的链上证据。
两种解释可以同时成立。补贴可能既把真实的流动性网络从零启动,也可能制造只在补贴存在时才有利可图的循环交易。
而这两件事在同一笔资金上也可以同时发生:一个人既真的需要流动性,又同时在循环放大自己的奖励基数。链上看到的是同一串转账。
要在材料上区分两者,不能只看高点。至少要分别观察:停止或者降低发放之后的净存款留存,非激励的交易量,费用与利息收入,使用者的复用率,循环杠杆去重之后的净资本,以及单位补贴换来的持续费用收入。
八 界面上没有的那几栏
回到第一节那句话。
那次压缩是真的做成了,而且做得比它的许多批评者愿意承认的更彻底。它转起来了,五年多没有停过,没有一天需要有人去开门。
而成本没有消失。它换了位置。
而换到的那些位置,有一个共同点:它们都不出现在界面上。
界面显示的是手续费 0.30%。
它不显示曲线上的价格冲击。不显示无常损失。不显示夹击。不显示 gas。也不显示一件更基本的事:你看到的那个费率年化,不等于你的利润。
而这不完全是设计者在藏。
这些东西之所以不显示,是因为其中大部分在你按下确认之前算不出来。
价格冲击取决于你这笔有多大,池子有多深,这两样在按下的那一刻确实可以算,而且好的界面会算。
无常损失取决于你退出时的价格,那是未来。
夹击取决于有没有人在同一个区块里看见了你。
gas 取决于那一刻有多少人在抢。
这四样东西的时间性质不一样。有两样在按下之前已经确定,有一样要等到几秒钟之后,还有一样要等到几个月之后。
而一个界面必须在同一秒钟里把它们全部呈现出来,否则它就没法用。
一个界面能显示的,只有它算得出来的那几栏。
而这就是余项在这一段历史里的形状。
它不是被谁隐瞒的。它是被一个只能显示当下可算量的界面,留在了当下可算量之外。
而这一条比它看上去更一般。前面几篇里的余项,有的是被标准留在管辖之外,有的是没进代码,有的是没有人被派去量。这一次是第四种:它算得出来的时候还没有发生,而它发生的时候已经不在那个界面上了。
最后要说的是三套账。
第一套是交易账:交易者的手续费与执行损失,LP 的手续费与库存风险,套利与排序那一侧的提取。
第二套是激励账:谁获得了新增流通的治理资产,谁的相对份额被稀释,以及其中有多少根本不是协议的经营收入。
第三套是资本存量账:原始的净本金,循环之后的账面余额,以及按市场价格折算的锁定值。
三套账各有各的单位。
交易账的单位是一笔一笔的手续费和损失。激励账的单位是代币和它当天的价格。资本存量账的单位是本金,而这个数只有把循环拆开之后才算得出来。
混在同一个数字里,就得到一个可以支持任何结论的叙事。
拆开之后,能确定的东西比原来少得多,而每一样都站得住。
那条曲线本身从来没有出过错。
这一点在这个系列里已经出现过很多次,而这一次尤其干净。
输入多少,输出多少,任何人都可以自己算一遍,五年来一个区块也没有算错过。
它算的是储备。
两个数字相乘,不小于原来那个乘积,通过;否则回滚。整套判断就这一句。
而这一句判断不问你是谁,不问这笔钱从哪来,也不问外面的市场此刻是什么价。它只看池子里剩下多少。
第二篇结尾说过,那条链只认算力,不问算力背后是谁。这里是同一件事在另一层上:它只认储备,不问储备之外发生了什么。
它不算你为什么来,不算你换完之后过得怎么样,也不算在你按下确认和它被打包进区块之间的那几秒钟里,有没有别人先动了手。
链还在结算,而结算什么还没有共识。
本文依据公开协议文档、链上记录、法院文书、监管文件与同行评议研究写成;文中的数字均保留其统计口径。系列资料截至 2026 年 8 月。