ERC-2021 可派发代币:退款与分红在链上要走几道闸
“平台给你退款""项目方给持有人派息”——这两句话在链上落地时卡在同一个问题上:要从别人账户里扣钱,谁批准、何时扣、扣失败怎么办。ERC-2021 在 2019 年 5 月 10 日给出的答案是一套派发订单接口,把这类代扣动作装进七状态流程。仓库记录的当前状态是 Stagnant,但它处理的场景——平台代扣、争议退款、合规派发——在今天的出入金与理赔流程里依然真实存在,读它等于看一遍”动别人的钱”这件事的链上工程约束。
七种状态与一次悬置
订单枚举在注资模型基础上加了一格:不存在、已下单、处理中、资金悬置、已执行、已拒绝、已取消。动作函数与状态一一对应:orderPayout 下单并附带指令文本,processPayout 受理,putFundsInSuspenseInPayout 把资金移入悬置,executePayout 完成付款,rejectPayout 带理由拒绝,cancelPayout 撤单。查询函数 retrievePayoutData 按操作号返回付款钱包、金额、指令与状态。
悬置状态是这份接口的灵魂。争议退款、税务代扣这类场景里,钱从付款人出去后往往不能立刻进收款人账户——需要等待争议裁定或凭证核验收妥。悬置态给了资金一个法律上说得清的中间位置:它离开了付款人,还没到收款人,归属由订单决定。这个概念在托管智能合约里常见,塞进代币标准是当年的一次新鲜尝试。

授权先于扣款
派发方向与注资相反,动的是持有人账户,所以授权链条更重。持有人先用 authorizePayoutOperator 指定哪些地址可以为自己发起派发,revokePayoutOperator 随时撤销,isPayoutOperatorFor 供查询确认。下单可以持有人自提,也可以由已授权操作者经 orderPayoutFrom 代提。与 ERC-2019 一样,执行把最终扣款动作锁在操作者侧,但任何执行都以持有人的事先授权为前提——没有授权的派发在合约层面就不成立。
和周边零件的关系
ERC-2021 与注资版 ERC-2019 是镜像:一个把钱铸进账户,一个把钱从账户付给外部,两份文档的函数表几乎逐条对称。ERC-2020 后来把它们连同挂单、清算拼成完整电子货币接口,可见这个时期的设计者们认为合规代币就是若干单据流程的合集。历史投票结果相反:无需许可的转账与兑换吞掉了绝大部分使用量,订单式代扣退守到出入金、理赔和受监管发行等窄场景。标准停在 Stagnant,是这个格局的直接记录。
留给读者的三问
事件清单与状态机逐一对应:PayoutOrdered 记录下单时的付款钱包、金额与指令,PayoutInProcess 记录受理,PayoutFundsInSuspense 专门记录资金进入悬置,PayoutExecuted、PayoutRejected、PayoutCancelled 记录三种终局,PayoutOperatorAuthorized 与 PayoutOperatorRevoked 维护授权痕迹。资金悬置单独占一条事件不是冗余——争议场景里,“钱何时离开付款人”往往是最关键的时间戳,标准把它写成不可抵赖的链上事实。配合按操作号回查的 retrievePayoutData,一笔代扣从授权到终态的每一步都能重建,这正是银行内部审计在智能合约里的等价物。
一个具体的使用画面能把接口串起来:平台需要给一批用户退费。持有人事先授权平台为派发操作者,平台按每笔退费生成唯一操作号提交 orderPayout,用户端立刻能看到下单事件;资金进入悬置等待税务凭证回传,悬置事件落链;凭证核验收妥后执行,扣款与到账一笔完成。任何环节出了问题——平台反悔、凭证存疑、用户撤单——都有对应状态和事件兜住,退款不再依赖客服聊天记录,而是一段任何人都能复读的链上历史。
任何需要你”授权对方扣款”的链上产品,都可以借这份标准的框架自查:操作者名单能不能随时撤销、每笔扣款有没有唯一操作号与完整状态历史、资金有没有悬置安排与归属定义。三问对应三种事故形态:授权无法撤销等于无限签发支票,没有操作号等于账目不可回查,资金悬置不明等于争议发生时谁也说不清钱在哪。二十多年前的银行单据学,在链上依然是有效的防身清单。本文为机制说明,不构成任何投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。