第 35 章 · Machine Payment 会不会成为新的互联网协议
机器之间怎样为一次 API 调用付款?
- 练习的能力
- AI LiteracyProtocol LiteracyFinancial Literacy
- 动手
- 找一个支持按次付费的 API,算出一次调用的真实成本,与订阅制对比。
- AI Lab
- 让 AI 比较机器支付的几种协议方案,再核对它引用的规范是否真的存在、版本对不对。
一个现实问题
你的软件向一个接口发了一个请求。对方回了一个状态码:402,需要付款。
然后它卡住了。
这件事值得停下来想一想,因为它很奇怪。互联网上的软件遇到别的情况时都知道该怎么办:404 说明这个东西不存在,那就换一个地方找;401 说明需要登录,那就带上凭证重试;403 说明没有权限,那就放弃;429 说明请求太快了,那就等一会儿再来。
这些状态码之所以有用,是因为它们后面都跟着一套所有人都同意的后续动作。软件不需要理解语义,它只需要照着做。
只有 402 是个例外。 它在 HTTP 的规范里被预留了几十年,含义是「需要付款」,但它后面什么都没有。收到它之后,一个软件不知道:
要付多少钱?
付给谁?
用什么付?
付完之后怎么证明自己付过了?
如果服务没提供,能不能拿回来?这五个问题,人类可以通过打开一个网页、看一眼价格、掏出信用卡、填一堆表来解决。软件不能,因为这五步里没有一步是标准化的。
于是过去几十年,互联网用两种方式绕开了这个问题。第一种是广告——内容免费,成本由广告主承担。第二种是账户——你先注册、先充值、先建立一段关系,之后的消费从关系里扣。
这两种方式都很成功,也都有一个共同的前提:付费的一方是人,而且这段关系会持续一段时间。
当付费的一方变成一个软件、而且它可能只用这一个接口一次时,两种方式都开始别扭。广告对它没有意义;注册一个账户去消费几分钱,摩擦远大于交易本身。
所以本章的问题:机器之间怎样为一次 API 调用付款?
这一章要讲的是问题本身和目前的通常做法。它不会给出任何协议的字段名、版本号或者接口签名——这个领域的规范还在快速变化,任何具体的技术细节写下来很快就会过期,而一个记错了的细节比不知道更糟。需要具体规范时,去读它的官方文档,如何跟上最新的 Crypto 知识那一页讲过怎么追一手源。
思想实验
你的软件一天要调用一万次某个接口。每次调用的合理定价大约是零点几分钱,一天总共十几块钱。
关键的附加条件:你的软件和这个服务商之前没有任何关系,而且可能只在今天用它。
现在有四种收费方式。
第一种:订阅。 服务商说:一个月多少钱,随便用。
对一个一天用一万次的软件,这可能很划算。但它要求你先做一个判断:我会不会一直用它。 而你的软件今天才第一次遇到这个接口。如果它只用一天,订阅就是为二十九天没用的部分付钱。
更根本的问题是订阅需要先建立关系:注册、绑定支付方式、同意条款。这几步对人来说是几分钟,对一个需要在几百个接口之间动态选择的软件来说,是一道必须有人参与的门。
第二种:预付费账户。 先充一笔钱,之后按调用次数扣,余额不足就补。
第 33 章讲过,这是今天绝大多数按量计费服务的实际做法,而且它很好用。成千上万次小额消费被合并成一次真实支付,固定费用被摊薄到可以忽略。
它的代价也讲过了:服务商数量乘以 Agent 数量,就是要维护的账户数量。 而且它同样要求先建立关系——你不能在遇到 402 的那一刻,立刻开始使用一个你还没注册的服务。
第三种:每次调用都发起一次链上支付。
它解决了关系的问题:不需要注册,不需要账户,付款方就是一个地址。
但它在费用上撞墙了。每一笔链上转账都要付网络费用,而这个费用在高频小额场景下,和交易本身可能是一个数量级甚至更大。一万次链上转账,网络费用可能远超十几块钱的服务费本身。
这和第一章里刷卡的失败方式是同一个:都是把一套为「大额低频」设计的结算机制,用在了「小额高频」上。
第四种:先建立一个额度,中间用轻量的方式计数,定期结算一次。
这是四种里唯一可行的形态,而且它其实是前面几种的混合:一次开通(像账户),中间计数(像计量),定期结算(像账单)。
区别在于「开通」这一步可以是无需许可的——不是注册一个账户,而是在链上放一笔钱或者做一次授权,几秒钟完成,不需要对方批准。
把四种放进一张表:
| 订阅 | 预付费账户 | 每次链上付 | 开通 + 计量 + 定期结算 | |
|---|---|---|---|---|
| 一万次的支付成本 | 低 | 很低 | 不可行 | 低 |
| 要不要先建立关系 | 要 | 要 | 不要 | 不要(只要一次开通) |
| 只用一次划算吗 | 不划算 | 一般 | 不划算 | 划算 |
| 谁承担对手方风险 | 你(预付了) | 你(余额在对方那里) | 无 | 看开通方式 |
| 用完没用完怎么办 | 浪费 | 余额留着 | 不适用 | 按实际用量结算 |
| 今天普遍存在吗 | 是 | 是 | 技术上可以 | 还在形成中 |
最后一行是这张表最诚实的一行。前两种是现实,第四种是方向。 而这一章要判断的正是:第四种会不会真的成为一层标准。
在此之前先注意一件事。第四种里的「计量」和「结算」是两件不同的事:
计量解决「你用了多少」,结算解决「钱怎么过去」。
微支付真正难的一直是计量,不是结算。把两者分开之后,结算可以走任何一条便宜的通道。
你来决定
你在设计一个给软件用的接口服务。你怎么收钱?
观察结果
四个选项指向同一件事:一次机器付款要成立,必须有六个问题被标准化地回答。
| 问题 | 人怎么解决 | 软件需要什么 | HTTP 提供了吗 |
|---|---|---|---|
| 要付多少 | 看网页上的价格 | 一个机器可读的报价 | 没有 |
| 付给谁 | 看收款信息 | 一个明确的收款标识 | 没有 |
| 用什么付 | 掏卡 | 一条它能用的通道 | 没有 |
| 什么时候算数 | 看到「支付成功」 | 一个可判断的完成信号 | 没有 |
| 怎么证明付过 | 订单号、截图 | 一个可验证的凭证 | 没有 |
| 出问题找谁 | 打电话、申请退款 | 一个争议处理路径 | 没有 |
HTTP 把前面所有的事都标准化了,唯独没有标准化钱。
这不是一个疏忽。402 这个状态码被预留下来,说明当年的设计者想到了这件事。它空着几十年,原因不在协议层,在于当时不存在一种适合互联网的钱:跨境的、小额可行的、不需要事先建立关系的、机器可以自己操作的。
四十年里,钱的那一侧一直是别人的地盘:银行、卡组织、支付机构。它们各自有自己的接口、自己的开户要求、自己的地域覆盖。你可以在协议里写「需要付款」,但你无法在协议里写「怎么付款」,因为没有一种付款方式是所有人都能用的。
而第 13 章讲的那种东西,第一次让这句话有了可能:一种在互联网上原生存在、任何人都可以持有、不需要开户、转移和结算都在公开网络上完成的钱。
所以这一章的核心判断可以写成一句话:
HTTP 负责传信息,机器经济还需要一层负责传钱的协议。
这一层空了几十年,不是因为没人想做,是因为直到最近才有了一种可以被写进协议的钱。
但「有可能」和「会发生」是两件事。下一节要处理的就是这个差距。
建立模型
一、三层:报价、支付、计量
把一次机器付款拆开,它有三层,而且这三层可以分别演进:
- 报价:这次要多少钱
- 支付:钱怎么过去
- 计量:你到底用了多少
| 层 | 要解决什么 | 今天的状态 | 难在哪 |
|---|---|---|---|
| 报价 | 让机器知道价格、单位、有效期 | 每家一套,没有通用格式 | 不难,缺的是共识 |
| 支付 | 钱实际流过去 | 通道已经存在 | 不难,成本是主要约束 |
| 计量 | 准确记录用了多少,双方都认 | 服务商自己记,用户只能信 | 难,而且是信任问题 |
第三层是真正的难点,而且它的难不在技术上。
考虑一个最简单的情况:服务商说你这个月调用了 10312 次。你怎么验证? 你可以自己也记一份,但当两份记录不一致时,谁说了算?在今天的模式里答案很明确:服务商说了算,因为钱在他们那里,账也在他们那里。
这在公司之间是可以接受的——有合同,有长期关系,有声誉约束。在一个软件和一个陌生服务商之间,这个前提不成立。
这也解释了为什么「每次都付款」这个看起来笨的做法有它的道理:它把计量问题消灭了。每一次调用对应一次支付,不存在事后对账的空间。可惜它的成本不允许。
所以现实的方案都在这两端之间找平衡:付款的颗粒度越粗,成本越低,需要的信任越多。
二、四种收费模型,按「需要多少信任」排序
| 模型 | 付款颗粒度 | 需要的信任 | 适合谁 |
|---|---|---|---|
| 每次付款 | 一次调用一笔 | 最少 | 极低频、极高价值的调用 |
| 小额分批结算 | 攒一批结一次 | 少(最多损失一批) | 高频小额,陌生对手方 |
| 预付费账户 | 先充后扣 | 中(余额在对方手里) | 有一定关系的长期使用 |
| 订阅 | 按周期付 | 最多(先付钱后服务) | 稳定的长期客户 |
这张表的顺序是有意义的:越往下,摩擦越小,需要的信任越多。
一个很有用的推论:判断一个机器支付方案是否合理,看它要求的信任和它的场景是否匹配。 一个面向陌生对手方的方案,如果要求先充值一大笔,那它没有解决它声称要解决的问题。
第二行值得单独说。「攒一批结一次」是这四种里最适合机器场景的一种:每一批的金额小到即使对方赖账也无所谓,而批次足够密到风险敞口始终很小。它把「完全不信任」和「完全信任」之间的空间切成了很多小份。
三、三种成本,决定颗粒度
为什么不能每次都付?因为一次支付有三种成本,而它们的性质不同:
网络成本: 发起一次链上转账要付的费用
时间成本: 从发起到可以确认的等待时间
复杂度成本:双方各要做多少步、存多少状态颗粒度的选择就是在这三种成本和信任之间做取舍。 一个具体的判断方法:
如果一次支付的三种成本加起来,超过这次交易金额的某个比例,那就不该在这个颗粒度上支付。
这个比例是多少,取决于你的场景。但有一条是清楚的:当单次交易只有零点几分钱时,几乎任何链上操作都会超过它。 所以在这个量级,答案必然是「不要每次都上链」——不管链变得多便宜,因为服务的单价也会随之下探。
四、协议成为标准,靠的不是技术
这是这一章最重要的一节,因为它决定了开头那个问题的答案。
HTTP 成为标准,不是因为它是当时技术上最好的方案。 一个标准能够普及,历史上通常需要同时满足几个条件:
| 条件 | 含义 | 在机器支付上的现状 |
|---|---|---|
| 实现成本足够低 | 接入一次不超过几天 | 取决于方案,有的可以,有的不行 |
| 单边采用就有收益 | 不需要等对方 | 不满足。付款方单独支持没有意义 |
| 有一个足够痛的场景 | 不解决就真的做不成事 | 正在出现,但还不普遍 |
| 没有一个已经够好的替代 | 现状确实不行 | 不满足。预付费账户对大多数场景够用了 |
第二行和第四行是主要障碍,而且它们都不是技术问题。
第二行说的是双边采纳困境:一条支付通道只有在足够多的服务愿意收的时候才有价值,而服务愿意收,通常需要已经有足够多的人用它付。这是一个典型的鸡生蛋问题,第 30 章讲过它的一般形态。
第四行更难。现状不是「没有方案」,是「有一个运行得相当好的方案」。 要替代一个够用的东西,新方案不能只是稍好,它必须在某个维度上好一个数量级,或者能做到旧方案根本做不到的事。
所以真正值得盯的信号不是「又发布了一个协议」,而是三件具体的事:
1. 有多少真实的服务开始接受它?(供给侧,最重要)
2. 它们为什么接受?(拿到了新客户?还是降低了成本?)
3. 有没有出现「不用它就做不成」的场景?第三件事是最强的信号。 一个新的支付层要普及,多半不是因为它更好,而是因为出现了一类交易在旧方式下根本无法发生——第 33 章里那个「几毛钱汇不出去的人」就是这种场景的样子。
五、这一层会长成什么样
把上面的判断合起来,一个比较可能的形态是:
不是一个统一的新协议取代一切,而是在现有的 HTTP 之上多出一层可选的约定。 支持它的服务在拒绝请求时附上机器可读的付款信息;不支持的服务继续用账户和订阅,两者长期共存。
结算走哪条通道是可替换的。 稳定币是一个自然的候选,因为它同时满足「互联网原生」「无需开户」「可编程」三个条件,但协议本身不该被绑死在任何一条通道上。
计量那一层会先在少数高价值场景标准化,而不是全面铺开。最可能的起点是那些今天根本收不到钱的交易。
而最不可能发生的是:一个技术上最完善的协议因为设计优秀而被普遍采纳。 这在支付领域从来没有发生过。
它叫什么
金额极小、频率极高的支付。
「极小」没有一个绝对的标准,它的定义是相对的:当一笔支付的固定成本接近或超过金额本身时,它就是微支付。 按这个定义,几十年来大多数支付通道上的微支付都不成立。
这个概念在互联网上被讨论了很久,反复失败,而失败的原因通常被归结为「手续费太高」。这个归因只对了一半。 另一半是:计量和对账的成本同样存在,而且在小额场景下同样会超过交易本身。
所以微支付的解法从来不是「让每一笔都便宜」,而是**「让大多数笔不真的发生」**——通过计量把它们合并起来,只在某个颗粒度上真正结算。
用价格锚定法币的链上代币完成支付。
它在机器支付里被反复提到,原因是它同时满足三个条件,而这三个条件很少同时出现:任何人都可以持有,不需要开户(所以软件可以持有)、计价单位稳定(所以可以用来报价)、转移和结算在公开网络上完成(所以可以被程序验证)。
第 13 章完整拆解过它的结构和风险,这里只补一句在这个场景下特别重要的:它仍然有发行者,持有者仍然承担发行者的信用风险。 一个机器支付系统如果把全部结算压在单一发行者上,这个风险会被系统性放大。
HTTP 的状态码体系里,402 的含义是「需要付款」。它在规范中被预留了几十年,一直没有被广泛使用。
近年出现了一类围绕这个状态码设计的机器支付方案,试图补上它后面缺失的那一半:服务端在返回 402 时,同时给出机器可读的付款信息;客户端完成支付后,带上凭证重试。
这一章有意不给出任何具体的字段名、版本号或接口签名。 原因有两个:这类规范目前仍在快速变化,写下来很快会过期;而一个记错了的技术细节,比不知道更容易造成实际损失。
要用它的时候,去读它当前的官方规范。判断它成熟到什么程度,不要看规范写得多完善,看有多少真实的服务已经在按它收钱。
让两个软件之间完成一次付款所需要的那套共同约定。
它至少要覆盖六件事:报价怎么表达、付给谁、用什么通道、什么时候算完成、怎么证明付过、出问题怎么办。 前五件今天都有技术上可行的做法,第六件基本是空白。
第六件的空白值得认真对待。 传统支付网络的拒付和争议机制花了几十年建立,它们不是附加功能,是让陌生人之间敢于交易的基础。一个完全没有争议机制的支付层,适用范围会被限制在「金额小到不值得争」的交易里。
而这恰好可能是它最初的市场:单次金额小到即使被赖账也无所谓,所以不需要争议机制。从这个角度看,微支付不是这个协议的一个应用场景,而是它唯一能在没有争议机制的情况下成立的场景。
准确记录「你到底用了多少」,并且让双方都认这个数。
它是机器支付里最难的一层,而它的难不在技术上,在信任上:当服务商的记录和调用方的记录不一致时,谁说了算?
今天的答案是服务商说了算,这在有合同、有长期关系、有声誉约束的场合是可以接受的。在陌生对手方之间,这个前提不成立。
现实中的折中做法是缩小颗粒度:不是一个月结一次,而是攒很小的一批就结一次。这样即使对方的记录有问题,你最多损失一批,而一批小到无所谓。这是用「减少敞口」替代「建立信任」,也是目前最实用的一条思路。
把整章收成一句话:
HTTP 负责传信息,机器经济还需要一层负责传钱的协议。
这一层的技术难点在计量而不在结算,采纳难点在供给侧而不在需求侧。判断它的进展,看有多少真实服务开始收,而不是看发布了多少规范。
动手
这个 Lab 的目的不是找到最便宜的服务,是看清楚定价结构里那些不写在标价上的成本。
选三个你真的可能会用的接口服务——数据、模型调用、存储都可以。至少要有一个是按次计费的,一个是订阅制的。
第一步:把标价抄下来,连同所有的附加条件。
服务名:
计费方式: (按次 / 按量 / 订阅 / 混合)
标价:
最小充值额:
有没有月费或最低消费:
免费额度:
超出之后怎么算: (阶梯?翻倍?限速?)「最小充值额」这一行常常被忽略,但它是按次付费最大的一个隐藏条件。 如果最小充值是某个不小的数,而你只需要调用几十次,那么这个服务对你来说实际上不是按次付费。
第二步:算出一次调用的真实成本,把标价之外的三项都算进去。
标价成本: (每次多少钱)
摊销成本: (月费或最低消费 ÷ 你的实际调用次数)
沉淀成本: (充值余额里你用不完的部分)
接入成本: (注册、绑定、读文档花的时间,折算一个数)
一次调用的真实成本 = 以上四项之和 ÷ 调用次数分三种用量各算一遍:一天 10 次、一天 1000 次、一天 100000 次。
你会看到一条很明显的规律:用量越低,标价之外的成本占比越高。 在最低的那一档,真实成本可能是标价的几倍甚至几十倍。
第三步:画出订阅和按次的交叉点。
在每天 ___ 次以下,按次更便宜
在每天 ___ 次以上,订阅更便宜
交叉点在:___然后问一个更有意思的问题:如果我事先不知道自己会用多少次,我该选哪个?
这一问是整个 Lab 的核心。 人可以先试用再决定,一个自动运行的软件在遇到接口的那一刻就必须做出选择。「事先不知道用量」是机器场景下的常态,而现有的定价结构几乎都假设你知道。
第四步:查一下这些服务支持哪些付款方式。
支持信用卡吗:
支持预付费账户吗:
支持任何形式的链上支付吗:
开户需要什么: (邮箱?公司信息?实名?)
一个软件能自己完成开户吗:最后一行的答案几乎肯定是「不能」。 把这个发现记下来——它比前面所有的成本计算都重要。
第 33 章那个案例讲过:这个方向真正的瓶颈在供给侧。 这一步让你亲自确认了一遍。
第五步:找出一个「今天收不到的钱」。
在你查的这几个服务里,或者在你能想到的场景里,找出一类调用方:他们有真实需求,但因为定价或开户结构而根本不会成为客户。
这类调用方是: (谁,什么场景)
他们的用量大概是:
他们为什么不会成为客户:(价格太高?开不了户?只用一次?)
如果能按次收他们的钱,这块市场大概有多大:
服务商为什么还没做:最后一行要认真想。 答案通常不是「他们没想到」,而是「这块市场目前还不够大,不值得为它改造计费系统」。
而这个答案什么时候会变,就是判断机器支付会不会普及的关键。
第六步:反过来做一次——如果你是服务商,你会不会支持按次付款。
支持它我要多花: (工程投入、财务处理、合规成本)
支持它我能多赚: (那块今天收不到的钱,估个数)
我最担心的是:
什么条件成立我一定会做:「什么条件成立我一定会做」这一行,就是这个方向真正的路线图。 它通常是一个具体的数字或者一个具体的客户需求,而不是任何技术进展。
做完之后你会有:三个服务的真实成本曲线、一个订阅与按次的交叉点、一份付款方式的现状记录、一个「今天收不到的钱」的具体场景、以及一个供给侧的决策条件。
最后那一项是这个 Lab 最值钱的产出。 下次看到任何关于机器支付的讨论,你可以直接问一句:「这会让服务商多赚钱还是多花钱?」 这一问能过滤掉绝大多数噪音。
AI Lab
这个练习和第 31 章的来源核对是同一套方法,但它挑的是一个最容易出错的领域:一个规范还在快速变化、材料以英文为主、而且新旧版本混杂的领域。
在这种领域里,模型的错误率会明显高于平均水平,而且错误的形态很特别——它给出的技术细节看起来非常专业,格式完全正确,只是不存在。
请比较目前用于机器之间支付的几种协议方案或思路。
对每一种,说明:
1. 它要解决六个问题里的哪几个:报价、付给谁、用什么通道、
什么时候算完成、怎么证明付过、出问题怎么办。
2. 它在计量这一层是怎么做的。
3. 它目前的成熟度:是一个想法、一份提案、还是已经有真实
服务在用。
4. 有哪些真实的服务已经接受它——请给出可以核对的例子,
如果你不确定,明确说「我不确定」。
硬性要求:
- 凡是你给出的规范名称、版本号、状态码或字段名,都要标注
它来自哪一份文档。不确定的,写「不确定,需要核对官方规范」。
- 不要把提案说成标准。
- 最后单独列一节:这几种方案共同没有解决的问题是什么。最后那一节通常最有价值。 一个好的回答会指向争议处理、供给侧采纳和计量的信任问题;一个平庸的回答会说「还需要更多时间和生态建设」。
拿到之后,做三件事。
第一件:把所有技术细节单独挑出来,逐条核对。
它说的 | 我查到的 | 对不对
版本号 | |
状态码 | |
字段名 | |
接口的调用方式 | |去官方站点或代码仓库查,不要只点它给的链接。 这个领域的规范常常有多个版本并存,而模型很容易把不同版本的细节混在一起——它给出的组合可能每一部分都曾经存在过,合起来却从未存在。
第二件:检查它有没有把计量和结算混为一谈。
这是判断一个回答深度的最好指标。大多数关于机器支付的讨论只谈结算(钱怎么过去),而真正难的是计量(用了多少,谁说了算)。如果它的整篇回答里没有出现「怎样记录用量」这个问题,那它对这件事的理解是表面的。
第三件:追问供给侧。
你说的这些方案里,服务商为什么愿意接入?
请对每一种,回答:接入它,服务商是多赚钱了还是多花钱了?
如果是多花钱,那么它靠什么说服服务商?这一问的回答质量,基本等于它对这个领域的理解程度。 一个只会讲技术优势的回答,会在这一问上变得非常空洞——而这恰好是这个方向真正的瓶颈。
这类任务上有四个可预期的现象:
- 技术细节的错误率明显偏高。 版本号、字段名、状态码,这些恰好是它最容易生成得像模像样、又最容易错的东西。
- 它会把提案说成标准。 「已经成为标准」和「有人提议成为标准」在措辞上的距离很小,在事实上的距离很大。
- 它很少提争议处理。 这是这一层最大的空白,也是它在论证时最常略过的一块。
- 它几乎不谈供给侧。 关于新技术的讨论天然偏向需求侧(这有多好用),而采纳的瓶颈几乎总在供给侧。
把三个数字记下来:技术细节总数、核对为真的数、明显错误的数。在这个题材上,第三个数通常会比你在别的题材上见过的都高——这本身就是一条关于「什么时候该格外小心」的经验。
AI 说完之后,你必须自己验证
- 它提到的每一个协议或规范,是否真的存在——先去官方站点或代码仓库确认,不要只看它给的链接
- 它给出的版本号、状态码、字段名、接口签名,是否和当前的官方规范逐字一致
- 它引用的规范是不是已经被更新或废弃——看文档的最后更新时间
- 它有没有把一个提案说成一个已经被广泛采用的标准
- 它说的「已经有很多服务支持」,能不能举出具体的、你可以自己去验证的例子
- 它有没有把计量和结算混为一谈——这是判断它理解深度的最好指标
- 它有没有讨论争议处理,还是完全略过了这一块
- 它有没有回答「为什么服务商愿意接入」这个供给侧问题
- 统计三个数:它给出的技术细节总数、你能核对为真的数、明显错误或不存在的数
真实案例
HTTP 的状态码体系里,402 的含义是「需要付款」。它从很早就被预留下来,规范里长期标注着「保留供将来使用」。
几十年过去,互联网上几乎所有的商业模式都建立起来了,唯独这个状态码基本没被用起来。
原因不在协议设计上。一个标准的付款状态码要真正可用,需要它后面跟着一套所有人都能执行的付款方式——而在很长时间里,不存在这样一种方式。 银行体系是分割的、开户是有门槛的、小额是不划算的、跨境是慢的。你可以在协议里说「需要付款」,但你无法在协议里说「这样付款」。
于是互联网找到了两个替代方案:广告(让第三方付钱)和账户(先建立关系再消费)。这两个方案不只是权宜之计,它们塑造了整个互联网的商业形态——内容免费、数据变现、平台聚合,这些特征在很大程度上是「收不了小钱」的直接后果。
这个案例说明的不是「协议设计者有远见」,而是一件更实在的事:一个技术上被预留的位置,要等到配套条件成熟才会被填上,而这个等待可以长达几十年。
在讨论新协议之前,必须看清现状有多成熟。
今天的按量计费服务已经解决了微支付里最难的那一半:它们能精确记录每一次调用、每一个字节、每一秒计算,并且把成千上万次消费合并成一张账单。 这套计量系统经过了多年打磨,准确、可靠、成本极低。
任何新方案都不可能推翻这一层,只能接在它后面。 这一点常常被忽略——很多关于机器支付的讨论把注意力全放在「钱怎么过去」,而那其实是三层里最容易的一层。
它留下的空白只有一处:开户这一步需要建立关系,而这个关系假设了一个法律主体。 这个空白今天不痛,因为客户是公司;当客户变成大量短暂存在的软件时,它会变痛。
所以正确的判断不是「现有方案不行」,而是「现有方案在一个新的客户形态下会出现边界」。 这两种说法导向完全不同的产品决策。
有一大类交易今天不发生,不是因为没有需求,而是因为收钱的成本超过了钱本身。
读一篇文章的一页、用一次某个小工具、查一条记录、听一分钟音频——这些东西的合理定价可能是几分钱。今天它们只有两种存在方式:免费加广告,或者打包成一个月度订阅。
两种方式都会损失一部分价值。广告扭曲了内容的激励(做能吸引点击的,而不是最有用的);订阅要求用户预先承诺(而大多数人不会为只用一次的东西订阅)。
中间那一大块——愿意为单次付几分钱的需求——今天基本上落空了。
这块市场有多大,没有人真正知道,因为它从未被测量过。而这正是机器支付最有可能的突破口:不是从现有的支付里抢份额,而是让一类今天根本不发生的交易开始发生。
用第 30 章的框架看,这是一个典型的「旧方案根本做不到」的场景,而不是「新方案稍微好一点」的场景。后者几乎从不成功,前者才有机会。
回头看那些真正普及了的互联网标准,它们成功的原因高度一致,而且几乎都不是「技术上最优」。
共同的模式是三条:接入成本极低(几小时到几天,不需要改造现有系统)、有一个不解决就做不成事的场景(不是「更好」,是「否则不行」)、先在一个小而密集的群体里跑通,再向外扩散。
第三条最容易被忽略。 一个标准不会从一开始就全网通用,它总是先在某个特定的、参与者互相认识的圈子里成为默认,然后随着这个圈子的扩大而扩散。
把这三条套在机器支付上,能得到一份很具体的观察清单:
接入一次要多久? (超过一周,普及会很慢)
有没有「否则做不成」的场景?(这是最强的信号)
有没有一个密集的小圈子先跑通?(比如某一类服务之间)而不该看的是:发布了多少份规范、有多少家机构表示支持、技术架构有多优雅。 这三样东西在历史上和标准的成败几乎没有相关性。
改一个变量
直觉上这会让「每次调用都付一次款」变得可行。实际上不会,原因有三个。
第一,服务的单价会跟着下探。 今天一次调用值零点几分钱,是因为算力和数据的成本在下降。成本降到接近零的同时,交易金额也在降,两者的比例关系不一定改善。
第二,链上成本不是唯一的成本。 确认时间、双方各自要维护的状态、失败重试的处理——这些复杂度成本不会因为费用下降而消失。一次调用要等待一次链上确认,这个延迟本身就不可接受。
第三,也是最根本的:计量问题不会被解决。 如果每一次调用都对应一笔链上支付,那么链上会出现天文数字级别的交易量,而这些交易的绝大部分内容是重复的。把计量推到结算层,是一种浪费。
所以这个变量的结论是:成本下降会扩大链上直接结算的适用范围,但不会消除对计量层的需要。 三层结构(报价、支付、计量)是问题本身的结构,不是当前技术限制的产物。
这是最可能真正推动这件事的路径,而且它比任何开放协议的成功概率都高。
原因在于它一次性解决了双边采纳困境:供给侧从第一天就存在。 而供给侧正是这件事真正的瓶颈。
但要看清它会长成什么样子。它多半不会是无需许可的。 一个由几家公司主导的标准,会自然地包含身份验证、账户体系和争议处理——因为这些是它们已有的能力,也是它们的客户需要的。结果可能是一个更好用的预付费账户体系,而不是一条任何软件都能接入的开放通道。
这不是坏事,它会解决大量真实问题。但它和「让一个匿名的软件在遇到 402 时立刻付款」是两件不同的事。
判断一个标准属于哪一类,只需要问一个问题:一个刚创建、没有任何背景的地址,能不能直接用它付款? 能,它是开放的;不能,它是一个更好的账户体系。两者都有价值,但它们的适用场景完全不同。
这一章讨论的大部分问题都会消失,而这件事本身很说明问题。
人可以打开一个页面、看一眼价格、判断值不值、掏出支付方式、处理异常情况。人天生就是一个能处理非标准流程的通用接口。 所以互联网从来不需要一层标准的付款协议——人补上了那个缺口。
这解释了为什么 402 空了几十年:在付款方是人的世界里,它不是必需品。
也解释了为什么这件事现在才重新被讨论:不是因为出现了新技术,是因为付款方的形态变了。 一个软件无法「看一眼价格判断值不值」,它需要一个机器可读的报价;它无法「处理异常情况」,它需要一个确定的完成信号。
所以这一层协议的真正驱动力不是加密货币,是自动化。 加密货币只是恰好提供了一种可以被写进协议的钱。这个因果顺序很重要——搞反了,就会高估技术的作用,低估场景的作用。
这是所有变量里最关键的一个,因为它是标准普及历史上最强的那个信号。
这类交易长什么样,可以从已有的条件推出来:付款方是一个没有法律主体的软件、收款方是一个陌生的个人或另一个软件、金额小到不值得建立任何关系、而且这笔交易必须在几秒内完成。
四个条件同时满足时,现有的每一种方式都做不到:订阅要关系,预付费要开户,刷卡要人,银行转账要账户。这时候新的支付层不是「更好的选择」,是「唯一的选择」。
具体会是什么场景,今天还看不清楚。可能是软件之间互相购买能力,可能是向大量分散的个人支付微小的劳动报酬,可能是某种按实际使用付费的内容形态。
值得记住的是判断方法,而不是具体的猜测: 盯住那些「今天根本不发生的交易」,而不是那些「今天已经发生、只是可以更便宜」的交易。后者是效率改进,很难撼动一个够用的现状;前者是新的市场,那才是新协议的机会。
带走的问题
这一章的答案要分成两半,而且两半的方向相反。
降低的是:建立支付关系的成本。 从「注册、绑定、充值、同意条款」降到「收到报价、付款、重试」。对一个需要在大量服务之间动态选择的软件,这一项是决定性的——它把「能不能用」变成了「用不用」。
没有降低的是:计量与信任的成本。 谁来记录用了多少、记录不一致时谁说了算——这些问题和支付通道无关,换一条通道不会让它们消失。
很多方案的问题就出在这里:它们优化了已经不贵的那一半,而绕开了真正难的那一半。 判断一个方案有没有想清楚,看它在计量那一层说了什么。
这一问在这一章有一个相当具体的答案。
需要链的部分只有一个:让付款方可以是一个没有法律主体的软件,并且不需要事先和收款方建立关系。 这一点今天没有别的方案能做到,因为它的障碍不是技术,是「账户必须属于某个主体」这条制度要求。
不需要链的部分包括:计量(现有的系统已经做得很好)、报价(一个约定的数据格式就够了)、大多数公司之间的支付(预付费账户完全够用)。
所以正确的说法不是「机器支付需要区块链」,而是:机器支付里有一小块必须无需许可,而那一小块目前只有链能提供。 把这一小块说清楚,这个方向的论证才站得住;把整件事都归给链,第一次对比就会被现状驳倒。
这一问在这一章有一个历史性的用法。
过去几十年,互联网上大多数内容的付费方是广告主,不是使用者。 这不是因为使用者不愿意付,是因为收不了小钱——收几分钱的成本超过了几分钱本身。
这个约束塑造了整个互联网的形态:内容免费、数据变现、平台聚合、注意力竞争。它们不是文化选择,是「收不了小钱」的直接后果。
所以这一问在这里指向一个很大的判断:如果收小钱这件事真的变得可行,谁在支付这个问题的答案会改变,而商业模式会跟着改变。 这件事会不会发生、什么时候发生,没有人知道。但它是这个方向上唯一值得长期关注的那条线索,而不是任何一份新发布的规范。
本章自测
不是协议设计的疏忽,而是在很长时间里不存在一种可以被写进协议的钱:跨境的、小额可行的、不需要事先开户的、机器可以自己操作的。
你可以在协议里说「需要付款」,但无法说「这样付款」,因为没有一种付款方式是所有人都能用的。
于是互联网找到了两个替代方案——广告(第三方付钱)和账户(先建立关系再消费)。这两个方案塑造了整个互联网的商业形态,内容免费和数据变现在很大程度上是「收不了小钱」的直接后果。
还有一个更根本的原因:在付款方是人的世界里,这层协议不是必需品,因为人天生就能处理非标准流程。它现在被重新讨论,是因为付款方的形态变了。
要付多少、付给谁、用什么付、什么时候算完成、怎么证明付过、出问题找谁。
前五个今天都有技术上可行的做法。第六个——争议处理——基本是空白。
这个空白限定了适用范围:一个没有争议机制的支付层,只能用在「金额小到不值得争」的交易里。换个角度看,这恰好说明微支付不是它的一个应用场景,而是它在没有争议机制的前提下唯一能成立的场景。
传统支付网络的拒付和争议机制花了几十年建立,它们不是附加功能,是让陌生人敢于交易的基础。
因为结算是技术问题,计量是信任问题。
结算:通道已经存在,成本是主要约束,而成本可以通过调整颗粒度来解决。
计量:服务商说你调用了一万次,你怎么验证?两份记录不一致时谁说了算?在公司之间这不是问题(有合同、有关系、有声誉),在陌生对手方之间这个前提不成立。
现实的折中是缩小颗粒度:攒很小的一批就结一次,这样即使对方记录有问题,你最多损失一批,而一批小到无所谓。这是用「减少敞口」替代「建立信任」。
一个判断标准:一份关于机器支付的分析,如果全篇只谈钱怎么过去,不谈用量怎么记,那它停在最容易的那一层。
该看三件事:有多少真实的服务开始接受它(供给侧,最重要);它们为什么接受(多赚钱还是少花钱);有没有出现「不用它就做不成」的场景。
第三件是最强的信号。 历史上新的支付方式普及,很少是因为它更好,多半是因为出现了一类交易在旧方式下根本无法发生。
不该看:发布了多少份规范、有多少机构表示支持、技术架构有多优雅。这三样在历史上和标准的成败几乎没有相关性。
主要障碍有两个,都不是技术问题:双边采纳困境(付款方单独支持没有价值,要等收款方)和现状够用(预付费账户对大多数场景已经解决了问题,要替代一个够用的东西,新方案必须好一个数量级)。
没有标准答案,检查这几件事:
- 你有没有算过标价之外的三项成本(摊销、沉淀、接入)?在低用量那一档,真实成本通常是标价的几倍。
- 你的设计里,计量在哪一层?谁记的账?记不一致时谁说了算? 说不清这一条,说明还停在结算层。
- 你选的颗粒度,需要多少信任?这个信任量和你的对手方关系匹配吗? 一个面向陌生对手方的方案要求先充一大笔,那它没解决它声称要解决的问题。
- 如果 Agent 事先不知道自己会用多少次,你的设计还成立吗?这是机器场景的常态,而现有定价几乎都假设你知道。
- 从服务商的角度:支持你这套方案,他是多赚钱还是多花钱? 答不上来,这个设计不会被采纳。
- 最后一问:你解决的是「今天已经发生、可以更便宜」的交易,还是「今天根本不发生」的交易?
一个经验值:认真做完这道题的人,大多会把方案收敛到「先建立一个小额度、中间轻量计数、定期结算」这个形态上,因为它是唯一同时满足低摩擦和低信任要求的结构。想到这一点本身,比记住任何一个协议的名字都有用。
一句话带走
HTTP 负责传信息,机器经济还需要一层负责传钱的协议。