结算发票
每张发票都映射到一个唯一的、确定性的随机数,该随机数源自发票元数据:发票编号、各方、金额和到期日。此随机数通过 ERC-3009 驱动结算,并创建不可变的收据,可与现有会计系统进行对账。
工作原理
买方和供应商都从相同的发票元数据独立计算相同的随机数。无需外部注册机构来协调支付。
随机数是确定性派生的:
nonce = keccak256(invoiceNumber, vendor, buyer, amount, dueDate)当买方使用此随机数签署 ERC-3009 授权时,链上结算事件将作为防篡改支付收据。
结算流程
- 开具发票:供应商创建具有唯一编号、金额和到期日的发票。
- 计算随机数:双方独立地从发票元数据中派生相同的随机数。
- 买方签名:买方使用确定性随机数在链下签署 ERC-3009 授权。
validBefore字段可以设置为到期日加上宽限期。 - 结算:买方或供应商在链上提交
transferWithAuthorization。结算在一秒内确认。 - 对账:发出的
AuthorizationUsed事件包含随机数,将链上结算与确切的发票关联起来。同一交易中的Transfer事件验证发送方、接收方和金额。
防止双重支付
支付后,随机数在链上消耗。同一张发票不能结算两次;重新提交带有已使用随机数的授权将导致操作回滚。
独特之处
传统的 B2B 发票涉及银行电汇(1-5 个工作日)、手动对账,并且没有与发票本身绑定的加密支付证明。通过确定性随机数,链上支付是自文档化的:随机数将结算与确切的发票关联起来,区块链事件日志提供了不可变的审计追踪。
| 方面 | 传统(银行电汇) | Stable (ERC-3009) |
|---|---|---|
| 结算 | 1-5 个工作日 | 1 秒内 |
| 对账 | 根据银行对账单手动匹配 | AuthorizationUsed 事件将支付与发票随机数关联 |
| 支付证明 | 银行确认函 | 链上交易,以加密方式链接到发票 |
| 中介 | 代理银行 | 无 |
| 费用 | 电汇费用(15-45 美元)+ 外汇差价 | 约 0.00021 USDT0(或使用 Gas Waiver 为 0) |

