创建前所不能的 DeFi 应用,从流支付开始!
作者:Leo, IOSG Ventures
原用标题:IOSG Weekly Brief | 流支付——区块链赋能的支付新范式 #154
封面:Photo by Izzy Gibson on Unsplash
本文为 IOSG 原创内容,仅做行业学习交流之用,不构成任何投资参考。如需引用,请注明来源,转载请联系 IOSG 团队获取授权及转载须知。
二十多年前,音乐传输的媒介主要是磁带;十多年前,除了电影院,消费者宅家看电影主要是靠光碟。现在磁带和光碟从我们的选项中基本消失,取而代之的是流媒体(Streaming Media)——即媒体数据被压缩后,以流的方式通过网络传送,实现在网络上实时传输媒体内容的方式 [1]。归功于流媒体,消费者可以更快更便捷地获取内容,人均内容消费量和频率也持续上升。多媒体内容传输的形式改变了我们消费内容的方式和习惯。试想,如果支付也可以从批量转移(lump-sum transfer)的形式,转为流(streaming)的形式,这个相较于现行金融系统完全不一样的价值流转方式会对我们的经济活动和生活带来什么样的改变?
Andreas M. Antonopoulos 在其 2016 年 10 月 19 日的演讲 [2] 中提出了 “流支付——Streaming Money” 的概念雏形。指链上资金不再是以每隔一定时间区间被批量地转账(比如每月发放的工资、每年支付的会员费),而是像水流一样涓涓不断地以设定的转账速率从支付人流向收款人。
如果是初次听说流支付,可能只会笼统地接受这个抽象的概念,不易体会到流支付意义何在。这里举几个例子来体现流支付的优点:
- Payroll 工资发放
通常公司会按照月度在每月的固定时间点给员工发放工资,这个常规操作有至少两个可以被流支付改进的地方。第一从公司的角度,在每月的固定时间点发放工资,意味着公司需要在这个时间点筹备大量现金来发放给员工,可能给公司的现金流管理造成一定的压力。如果采用流支付,将每月集中发放的一大笔资金在整个月的时间段中缓慢匀速地发放,公司的现金流可以更平滑。第二从员工的角度,通过流支付,员工可以实时按劳获得薪酬。相较于现有方式,流支付让员工可以更早更快地获取应得薪酬。随着 DAO 和 Gig economy 越发盛行,自由职业者通过流支付获取劳动报酬这个应用场景有着广阔的市场需求。
- Subscription & Time-based service 订阅服务 &计时收费服务
现行 Netflix 的订阅模式对用户按月计费,无论用户使用产品与否、使用了多长时间,收费都是硬性固定的。流支付可以为订阅类、计时收费类的服务和商品提供了更精确、更公平的付款方式。例如在流媒体行业中,用户享受音乐或影视所支付的费用取决于实际听了多长时间、看了多少内容,而不必为整部作品、为整月/整年的订阅支付费用;又如点卡计时线上游戏中,流支付完全可以替代点卡,玩家所付即所得,支付多少费用直接根据上线时间实时计算结账。
- Rental application 租借服务
如果在流支付协议上开发租赁协议,当链上资产/物品被租借时,租金可以按照流支付预设程序实时计费、结算,当流支付中断时,链上资产/物品根据租赁协议被自动收回、退还。一方面对租借方公平计费;另一方面保障出借方实时收款,杜绝了租金拖欠的情况。
- Airdrop & Token Vesting 代币空投和代币解锁发放
区块链项目方给早期参与者空投代币和向投资者发放代币时,若通过流支付来线性缓速释放代币,可以有效减轻因一次性发放大量代币而对二级市场造成的冲击。
流支付还可作为 DeFi Building Block 将更有意思的产品和应用带入 DeFi
- Under-collateralized lending/Income-backed lending 非足额抵押借贷
每一笔流支付都代表了持续到未来某段时间的收入证明。流支付将无信任、可验证的未来收入证明以有形的形式具象化并上链。以流支付作抵押的贷款将把非足额抵押借贷引入 DeFi,用有形的、可追索的未来收入做担保,提升资金效率。这可能是 on-chain credit 链上信贷发展的基础。
- Securitized/Tradable cash flow 证券化/可交易现金流
流支付可以将现金流在链上证券化以供交易,极大提高资金利用效率和流转速度。
以上仅仅只是部分列举。Web3 支付领域已经涌现了很多协议,值得一提的是 Sablier 和 Superfluid 两个项目,其他项目基本可以看作是这两个协议的改版。
Sablier 流支付的技术实现简单直接。Sablier 协议在每一条支持的 EVM-compatible 区块链上部署有一个主合约,主合约管理着这条链上的所有的代币流(token stream)。用户通过与主合约交互来创建代币流、撤销代币流、从代币流中提取资金。每个代币流有且仅有六个属性(attributes):1、Sender address 支付方地址;2、Recipient address 收款方地址;3、Deposit 发送代币总量;4、Token address 所发送代币的合约地址(仅支持 ERC-20 代币);5、Start time 流开始时间;6、Stop time 流停止时间。从这仅有的六个属性中,可以看出 Sablier 流支付的功能是比较基础的。一旦用户将代币流创建,Sablier 只能按照预先设定的属性参数机械执行。Sablier 截至目前不支持 refill deposit 充值流的发送代币量、改变流的转账速率、更改代币流结束时间等等操作。不支持 refill deposit 意味着发送的代币总量必须在代币流创建之初就存于其中,支付方需要提前准备所有资金。从支付方的角度来看,选择 Sablier 流支付与否,支付方的现金流压力没有得到减轻。另外代币流中的资金均存于 Sablier 主合约中,当收款方想取出已收到的资金时,需要支付 gas 费将资金从合约中取出才能自由使用。从收款方的角度,这多余的步骤和随之产生的 gas 开销带来了负面的使用体验。
Sablier 是第一个实现流支付的协议,虽然功能上的薄弱限制了 Sablier 的大规模采用,但 Sablier 为后续众多流支付协议的蓬勃发展奠定了基础。其创始人 Paul 在 2018 年曾提出 EIP-1620: Money Streaming[3],旨在为 Ethereum 制定一套流支付的标准,该提案也促成 Sablier 于 2019 年上线。然而 EIP-1620 提案后续发展停滞,现处于停滞(未完成)状态。Sablier 支持主要的 EVM-compatible blockchains,包括 Ethereum, Optimism, Arbitrum, Polygon, Ronin, Avalanche, 和 BSC。Sablier(截至 12 月 19 日)TVL 为 4.5M USD,历史峰值 1.57B USD。
Superfluid 作为后起之秀,相较 Sablier 做了诸多改进。Superfluid 协议由四个重要部分组成,分别为 Super Tokens, Super Agreements, Super Apps, 以及 Super Host。Superfluid 协议借鉴了向下兼容 ERC-20 的 ERC-777[4] 代币标准,将具有 real-time finance 实时金融功能的扩展 ERC-777 代币标准引入协议并命名为 Super Token 标准。Super Token 具备 ERC-20 代币的所有特征,且支持 Constant Flow Agreement 流合约 [5] 和 Instant Distribution Agreement 即时分配合约 [6]。流合约和即时分配合约组成了现行版本中 Super Agreements 的两大类合约,未来版本中 Super Agreements 可能会添加创建更多的合约类型。这些合约定义了在基础 ERC-20 代币功能以外,Super Token 可以被交互、余额变动的方式(如:线性增减余额)。Super Agreements 中值得一看的是流合约,Superfluid 协议在流合约中引入了一种十分简单的 “以流的方式” 来记账的会计规则,但这套简单的规则在 Superfluid 所创建的 real-time finance 实时金融系统中行之有效。
介绍该记账方法前,我们先了解以下变量:
- Flow Rate 资金流量:单笔流支付的转账速率,收款为正值,支付为负值
- Netflow Rate 净流量:一个账户的所有资金流量之和
- Latest CRUD Timestamp 该账户的最新增改删时间戳:该账户最后一次增添、修改、删除任何一笔流支付的时间戳
- Real-time Balance 实时 (动态) 账户余额
- Static Balance 静态账户余额
- Current Balance 当前实际余额
以下图中所示账户为例,我们来看 Superfluid“流式记账” 是如何工作的:
图中账户同时有两笔收款的代币流和三笔支付的代币流,每笔流的 Flow rate 资金流量(转账速率)和方向如图中所示,可得该账户 Netflow rate 净流量为-100USDCx/month。Superfluid 的” 流式记账” 将用户余额分为两部分,一部分为 Static Balance 静态余额,另一部分为 Real-time Balance 实时 (动态) 余额。静态余额为该账户最后一次增改删时间戳对应的当时实际余额,即静态余额+实时 (动态) 余额之和。实时(动态)余额通过净流量*(当前时间-最新增改删时间戳) 可得。
– 静态余额
Static Balance = Initial Current Balance at the latest CRUD timestamp
– 实时(动态)余额
Real-time Balance = Netflow Rate * Time elapsed since the latest CRUD timestamp
– 当前实际余额
Current Balance = Static Balance + Real-time Balance
当该账户任何一笔代币流被创建、修改、删除的时候,以下变量将在链上立即被更新,1. Netflow rate 净流量根据代币流的变化重新计算;2. Latest CRUD timestamp 账户最新一次增改删时间戳更新到变化发生的这一刻时间;3. Static Balance 静态余额更新为 Current Balance 当前实际余额;4. Real-time Balance 实时(动态)余额归零。
这个流式记账的主要优点是实现了 gasless 链上价值转移。Gas cost 仅在账户有新代币流被创建、既有代币流被修改或删除时产生。
Superfluid 支持 refill deposit,此功能可以缓解支付方现金流压力。前文所举的工资发放例子中,公司财务和 HR 部门需要在每月的工资发放日筹备所有员工的工资并在当日发放。这造成了每月的这一天都会出现资金需求的峰值,对公司运营形成一定现金流压力。若工资发放使用支持 refill deposit 的 Superfluid 协议来实现,那么资金需求峰值可以被有效抹平。Superfluid 还支持更改代币流速率,不设限代币流结束时间等等功能,灵活满足各类用户持续变化的支付要求。
Superfluid 的愿景不局限搭建一个满足钱包对钱包、钱包对合约、合约对合约之间资金转账的流支付协议,而是打造一个由众多实时金融应用(real-time finance apps)组成的可读、可验证、可编程的实时金融系统(real-time finance system)。在这个系统中,资金以流(stream)的形式实时、持续地流转,最小化每个用户、组织、公司的闲置资金。
Superfluid 已支持 Ethereum, Gnosis Chain, Polygon, Optimism, Arbitrum, Avalanche, 和 BSC,并正在探索非 EVM-compatible chain 的部署。自 2021 年上线以来,Superfluid 稳中有升,但目前 TVL 仅约 1.5M USD。需要提到的是 Superfluid 曾在 2022 年 2 月初经历了一次安全事件,超过 1300 万美元(事件发生时市场价值)的资产被盗取。被盗原因是原版本的 Super Agreement 中一个 function call 在调用来自 Super Host 的数据时一个序列化状态环境参数未被检查,导致这个参数可以被注入一个错值而让正确值被丢弃,这个参数足以让黑客账户冒充其他账户来转移其他账户中的资金。
除 Sablier 和 Superfluid 以外,其他深耕流支付方向的项目有 Near 生态的 Roketo,Solana 生态的 Zebec、Streamflow、MeanFi,以及多链的 Calamus、LlamaPay 等。
流支付带来的远不止一种新的转账方式。其应用场景远不仅仅限于账户对账户之间的简单流式转账,前文所提的薪酬支付、自动订阅、计时付费、代币发放是我们已能窥见的应用实例。支付这个过程本身,而不仅仅是被支付的链上资产,变成了 programmable money 可编程货币的一部分。流支付无延迟实时结算、无欠款风险、高可组合性、高效流通的特性,将引入新的 DeFi building block,供开发者创建前所不能的 DeFi 应用。
自从区块链的诞生,web3 的尝鲜者已经初有体会 Internet of Money——价值互联网,让资产和价值在网络上转移。但目前所摸索出来的 Internet of Money 和各种去中心化应用可能只是冰山一角,流支付有潜力将 programmable money 可编程货币带入一个更广阔的想象和创造空间,带来一个价值流动比现行金融系统更公平、更高效、更流畅的 real-time finance 实时金融系统。
Appendix:
Reference:
[1]Maniar, N.J. (2012). Streaming Media. In: Seel, N.M. (eds) Encyclopedia of the Sciences of Learning. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-1428-6_602
[2]Bitcoin, Lightning, and Streaming Money https://www.youtube.com/watch?v=gF_ZQ_eijPs
[3]https://eips.ethereum.org/EIPS/eip-1620
[4]https://eips.ethereum.org/EIPS/eip-777
[5]https://docs.superfluid.finance/superfluid/protocol-overview/in-depth-overview/super-agreements/constant-flow-agreement-cfa
[6]https://docs.superfluid.finance/superfluid/protocol-overview/in-depth-overview/super-agreements/instant-distribution-agreement-ida
[7]https://halborn.com/explained-the-superfluid-hack-february-2022/
[8]https://medium.com/superfluid-blog/08-02-22-exploit-post-mortem-15ff9c97cdd