文章介绍了如何通过优化MPP(Massive Parallel Payments)会话来扩展链上支付能力,以实现每秒数十亿次支付。核心优化策略包括批量处理会话的开启和结算、使用ED25519签名算法加速链下验证、以及通过更经济地管理状态存储来降低Gas成本。

上周,我们发布了 MPP Sessions,这是我们为 Agent 使用稳定币进行网络规模支付的解决方案。它消除了链上瓶颈,使得与交易对手进行大量支付成为可能。
你可以用预托管的美元金额开启一个会话,在该额度内进行任意数量的支付(可以通过链上充值补充),并在需要时关闭会话。这可能将每个 API 提供商的支付量扩展到数千甚至数百万次。
但这还不够。我们需要更快、更大,并让供应方尽可能高效地利用底层基础设施进行结算。因此,会话应该是无状态的、CPU 密集型的、可水平扩展的,并且链应该尽可能简化会话操作。
我们如何实现这一目标?我认为答案在于以下几个组成部分。首先,你需要在不进行大规模重新架构的情况下,使现有设置更快:
对于第 2 和第 3 点,我认为将 MPP 迁移到 ED25519 将至关重要,因为它比 secp256k1 签名和验证更快,并且支持批量签名验证。这意味着我们将添加一个 ED25519 预编译。所有这些都非常棒,我们将把它添加到 MPP Solidity 合约中。如果有人在我们之前完成,那也很好。
所以,你希望确保你的链能够最大化每秒的会话开启和结算次数。这也能解决“我的资金被锁定在这里”的问题,因为如果结算/开启成本低廉,那么你可以轻松地将你的会话从一方“转移”到另一方,而无需担心资本效率。
如果我们将开启/关闭会话的成本降到最优,而其他一切都可以忽略不计,那么(每个会话)将是:
这些转账的所有存储槽预计都已分配(即没有首次支付者),这意味着我们应该能够将成本降至接近最优。
那么每个会话的支付通道状态呢?我认为我们将重用 TIP-1009: Expiring Nonces 中的想法——鉴于通道会过期,我们不需要像对待普通存储那样定价。相反,我们可以分配一个缓冲区,其写入成本比普通状态更低。我普遍看好这种协议使某些类型的状态更便宜的想法,因为它知道如何清理它们。关于这一点,更多细节将在设计完成后公布。
这意味着什么?我们有可能将开启/关闭会话的成本降至每个会话约 10K Gas,这基本上与进行标准 TIP20/ERC20 转账一样便宜。
这意味着如果你要向交易对手进行两次以上的转账,那么开启一个会话总是划算的,我认为这在大多数情况下都适用。
请记住,链上节省的每一份 Gas 都能让你在链下做更多事情,因此收益会复合增长。
我们还能做些什么更疯狂的事情?MPP 是单向、单跳的。那么,那些想要重新分配功能的 AI 网关呢?理想情况下,我只有一个交易对手,但该交易对手可以像瀑布一样流向其他方。
关于这一点,有很多关于基于中心的支付通道网络的文献。我认为这将是扩展 MPP 的下一个前沿,超越我上面描述的想法。
请尽快深入了解 MPP Sessions:https://mpp.dev/payment-methods/tempo/session。这是合约代码:https://github.com/tempoxyz/tempo/blob/main/tips/ref-impls/src/TempoStreamChannel.sol。
如果你对如何优化设计、智能合约或对支付通道文献有任何其他想法,请回复。
- 原文链接: x.com/gakonst/status/203...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!