ERC-2020 电子货币代币:四个零件拼一张合规支票簿 图 1
ERC-2020 电子货币代币:四个零件拼一张合规支票簿 · 图 1

ERC-2020 电子货币代币:四个零件拼一张合规支票簿

银行给企业客户开的账户从来不只有一种单据:入金单、代付单、挂起簿、清算协议。2019 年 5 月 10 日创建的 ERC-2020 想在以太坊上复刻这套单据体系:它不发明新接口,而是把四条先行标准拼成一个完整的”电子货币代币”规范,再叠加合规判定。仓库记录的当前状态是 Stagnant,它代表的是一条被工程界放弃的路线——用银行单据模型重写代币标准。零件清单本身仍然值得一读,因为它把受监管资金的完整生命周期拆得相当干净。

四张单据各管一段

接口定义写明这个合约同时继承四条标准的形状。注资端来自 ERC-2019:持有人下单、操作者执行,管入金。派发端来自 ERC-2021:从持有人账户扣款付款,多一个资金悬置状态,管代付与股息。挂单端来自 ERC-1996:转账先挂起、到期或批准再放行,管证券交收那类两阶段动作。清算端来自 ERC-2018:清算操作者按净额关系批量处理多方余额,管机构间轧差。四种订单各有状态机与操作者授权,共享同一套操作号唯一、事件留痕的写法。

标识层只加两个函数:currency 返回币种字符串,version 返回版本字符串。别小看这两个只读函数——在合规叙事里,币种和规则版本是审计与报表的锚点,先于任何业务函数存在。

ERC-2020 电子货币代币:四个零件拼一张合规支票簿 图 2
ERC-2020 电子货币代币:四个零件拼一张合规支票簿 · 图 2

check 判定族:把合规审查编进函数表

这份标准最有辨识度的是一组判定函数,覆盖挂单、注资、派发、清算、授权等每一个可失败的动作:checkApproveAllowedcheckAuthorizeFundOperatorAllowedcheckAuthorizeHoldOperatorAllowedcheckAuthorizePayoutOperatorAllowedcheckAuthorizeClearableTransferOperatorAllowedcheckOrderFundAllowedcheckOrderPayoutAllowedcheckOrderTransferAllowedcheckHoldAllowedcheckTransferAllowedcheckMintAllowedcheckBurnAllowed。它们返回操作码而非简单布尔,与 ERC-1066 的状态码设计衔接。语义上等于说:每个动作失败时,链上都能给出一个标准化的原因码,而不是含糊的回滚。

这套写法的野心是把”为什么不行”也变成可审计数据。现实里它没有流行,原因和所有重型合规设计一样:绝大多数资产不需要十八种判定入口,判定逻辑放在哪一层、由谁维护,都超出了当时链上工程的接受度。

理解一个失败的整合方案

ERC-2020 的失败有教学价值。它假设电子货币的日常是机构单据流,而市场给出的答案是:稳定币的大宗使用场景是无需许可的转账与兑换,单据模型反而碍事;到了真正受监管的证券场景,后来的路线又偏向把合规直接嵌进资产合约或走链下预检。两头不沾,整合得再优雅也只能停在 Stagnant。

接口声明行本身就是一份设计说明书:EMoneyToken 合约同时挂着 ERC-1996、ERC-2018、ERC-2019、ERC-2021 四个名字,标准正文强调对这四条旧标准和 ERC-1066 全部向后兼容——扩展功能而不改动原接口,让已有实现可以平滑升级。判定函数的分布也讲究:不只是转账要有 check,连授权行为本身都要有——授权挂单操作者、授权注资操作者、授权派发操作者、授权清算操作者各有专属判定入口,等于承认”授权”这个动作在受监管环境里与转账同等敏感。把 check 结果接到 ERC-1066 的操作码上,更是把失败原因也纳入标准化输出的尝试,思路比同期很多标准都超前。

挂单与清算两个零件的分工也值得补一句。挂单模型处理”意图先行”的资金:先冻结持有人在两个方向上的转让权,等对手方或监管条件就绪再放行,对应证券交易里券款对付的时间差;清算模型处理”多边对轧”:清算操作者代表已授权的一组账户按净额关系成批处理,把几十笔两两转账压缩成一组最小净额。这两个零件加一注一派,正好覆盖金融基础设施的四个基本动作——报单、结算、入金、出金,标准像拼装机械一样把银行后台的岗位表翻译成了函数表。

对读者的用处是一把尺子:遇到宣称”合规稳定币”的产品,可以问它的合规逻辑藏在链上判定、链下预检还是纯运营条款里。判定函数的设计思路还留下一个通用提醒——把失败原因标准化的接口,对排障和审计远比静默失败友好,这个原则在任何协议上都成立。本文为机制说明,不构成任何投资建议。