当时间也可以被代币化,加密世界又会产生哪些新的玩法?
近期,一种名为“时间绑定代币”的概念被提出,相关的技术设计和用例也开始被探讨。无论是传统金融还是加密资产,“时间”在其中往往约束了某种权利---例如到期还款、限期租赁、期权期货.... 一定期限内(条件)你对某种资产拥有某种权利,并按照不同的规则到期后实现经济利益(结果)。
这种“条件”--“结果”的现实逻辑,显然可以被智能合约所设计,也意味着时间期限这种条件,存在代币化的可能。
那么,时间绑定代币具体如何实现?又有哪些可实现的场景?本文会回答这些问题,并让我们嗅到新的叙事可能。
摘要
时间绑定代币(TBT,Time Bound Token)是一种可以转移和管理资产时间线所有权的代币,本质上是一种期权的纯粹表示。它可以代表有时间限制的资产,如可出租 NFT、托管头寸、有时间限制的治理、广义期权、租赁房地产等等。 TBT 的工作原理是将代币(FT或NFT)切割成周期性的时间线,这些时间线可以由不同的地址拥有。

介绍
TBT 的设计考虑到了实用性。TBT 的所有者有权通过调用函数来利用标的资产以获得某种经济或财务利益。通过检查当前时间是否是用户声明的时间线的一部分来确定令牌的所有权。这些好处的例子可能如下:
- 使用包装的 Crypto Kitty 孵化新的 Crypto Kitty 蛋。
- 使用包装的 Uniswap 流动性头寸收取费用。
- 调用与治理相关的功能。
- 按照恒定总和公式(期权)在 USDC 和 ETH 之间交换。
- 表示房地产租赁权。
- 定期付款。
TBT 可以像普通代币一样转移。需要说明的是,这里的转账代表的是债权和代币数量的转账。例如,Alice 可以将从月份 0 到月份 1 的 50 TBT 转移给 Bob,因此 Alice 将剩下从月份 0 到月份 1 的 50 TBT,而 Bob 将具有从月份 0 到月份 1 的 50 TBT 和从月份 1 到月份 2 的 100 TBT。Charlie 可以将从月份 6 到无限期间的 100 TBT 转移给 Oscar,因此 Charlie 将保留从月份 2 到月份 6 的 100 TBT,而 Oscar 将具有从月份 6 到无限期间的 100 TBT。
实施细节
以下是 TBT 的早期接口实施的草案(深潮注:并配有代码示意,对技术实现不感兴趣的读者可以直接看文章结论)。
我们将遵循类似于 ERC1155 的多代币标准,其中 ID 代表不同的代币。供应量为 1 表示它是 NFT,而供应量大于 1 表示可互换代币。
代码示意:
- function period(uint256 id) external view returns (uint256 seconds)
- function shift(uint256 id) external view returns (uint256 seconds)
- function transfer(address to, uint256 id, uint64 start, uint64 end, uint256 amount, bytes calldata data) external
- function balanceOf(address owner, uint256 id) external view returns (bytes memory balance)
- function decodeBalance(bytes memory balance) internal pure returns (TimeDelta[] memory timeDeltas)
- struct TimeDelta { uint64 time; int192 delta; }
- { time: 1,700,000,000, delta: 100 }
- { time: 1,700,010,000, delta: -50 }
- { time: 1,700,030,000, delta: 150 }
请注意,此类实现,其中使用 bytes 和解码器,仅需要返回未来任意时间的声明。我们可能会将实现更改为更实用的方式,将回报限制在最大限制。
请注意,每个时间刻度的时间增量之和不得为负。因此,铸造、销毁和转移代币必须保证这种行为。另外,随着时间的推移,所有者的余额必须仅显示当前时间段以后的最新时间刻度。
例如,使用上面相同的示例,假设块时间戳已经变成了 1,700,010,010。balance
请注意,每个时间滴答声的时间增量之和不得为负数。因此,铸造、销毁和转移代币必须保证这种行为。另外,随着时间的推移,所有者的余额必须仅显示当前时间段以后的最新时间滴答声。
例如,使用与上面相同的示例,假设块时间戳已变为 1,700,010,010。BalanceOf 应显示这些时间增量:
- { time: 1,700,010,000, delta: 50 }
- { time: 1,700,030,000, delta: 150 }
另一个潜在的 TBT 实现是在一个合约中拥有一个 TBT 的单一存储库,其中实现了更新时间线余额、铸造、销毁和转移的基本实现。任何人都可以为给定的 ID 初始化 TBT。为了可扩展性,在 TBT 周期的多个点上我们都设置了回调(Hooks)。这具有潜在的好处,可能不需要 approve 和 transferFrom,因为与 TBT 接口的合约可以利用多代币转移数据。
未来范围
随着时间约束代币化,我们现在可以创造性地将基于时间的资产金融化。我们可以为这些资产创建 AMM,例如一个市场,交换从月份 0 到月份 1 的 TBT 和从月份 1 到无限期的 TBT。当前具有类似功能的协议示例如下:
Pendle Finance 将现有收益型资产分割成两个时间线:
- 收益代币:从现在到到期日,其中实用函数在到期前汇集收益增益。
- 本金代币:从到期日开始,用户可以拆封并在到期后收回本金。
Timeswap 可以通过时间交换代币,也将资产划分为两个时间线:
- 交换现有代币以获取未来代币,该协议将到期前的代币交换为到期后的代币,这使用户可以购买折扣代币。
- 交换未来代币以获取现有代币,该协议将到期后的代币替换为到期前的代币,这使用户可以在无需清算的情况下杠杆化。
租赁 NFT 用于游戏也是一种流行的功能。游戏公会会将其 NFT 出租给玩家以获得游戏奖励。拥有 TBT 将扩展出租 NFT 的灵活性和功能。