时间绑定代币:代币化的时限、所有权与收益,会给加密资产带来哪些新玩法?

时间绑定代币具体如何实现?又有哪些可实现的场景?

撰写:Ricsson Ngo、Shatabarto Bhattacharya

编译:深潮 TechFlow

导读

当时间也可以被代币化,加密世界又会产生哪些新的玩法?

近期,一种名为“时间绑定代币”的概念被提出,相关的技术设计和用例也开始被探讨。无论是传统金融还是加密资产,“时间”在其中往往约束了某种权利---例如到期还款、限期租赁、期权期货.... 一定期限内(条件)你对某种资产拥有某种权利,并按照不同的规则到期后实现经济利益(结果)。

这种“条件”--“结果”的现实逻辑,显然可以被智能合约所设计,也意味着时间期限这种条件,存在代币化的可能。

那么,时间绑定代币具体如何实现?又有哪些可实现的场景?本文会回答这些问题,并让我们嗅到新的叙事可能。

摘要

时间绑定代币(TBT,Time Bound Token)是一种可以转移和管理资产时间线所有权的代币,本质上是一种期权的纯粹表示。它可以代表有时间限制的资产,如可出租 NFT、托管头寸、有时间限制的治理、广义期权、租赁房地产等等。 TBT 的工作原理是将代币(FT或NFT)切割成周期性的时间线,这些时间线可以由不同的地址拥有。

介绍

TBT 的设计考虑到了实用性。TBT 的所有者有权通过调用函数来利用标的资产以获得某种经济或财务利益。通过检查当前时间是否是用户声明的时间线的一部分来确定令牌的所有权。这些好处的例子可能如下:

  • 使用包装的 Crypto Kitty 孵化新的 Crypto Kitty 蛋。

  • 使用包装的 Uniswap 流动性头寸收取费用。

  • 调用与治理相关的功能。

  • 按照恒定总和公式(期权)在 USDC 和 ETH 之间交换。

  • 表示房地产租赁权。

  • 定期付款。

让我们阅读上面的示例,进行头脑风暴。假设,Alice 从第 0 个月到第 1 个月拥有 100 TBT,而 Bob 则拥有第1个月到第2个月的 100 TBT。现在假设从第 0 个月开始已经过去了 0.5 个月,那么 Alice 可以根据需要多次调用效用函数,而 Bob 则不能,因为当前时间是 Alice 时间线声明的一部分。Alice 将在第 1 个月后失去调用效用函数的能力,而 Bob 必须等到第 1 个月才能从效用函数中受益。TBT 在其完整期限过后就会过期并消失。

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)

此函数返回具有给定 ID 的 TBT 的一个周期的秒数。我们将两个周期之间的时间戳称为时间刻度。通常,我们不希望周期太短,因为这会导致 TBT 的 Gas 过高。我们也不希望周期太长,因为这会使 TBT 失去太多灵活性。一些一般的社会标准是每周、每月、每季度、半年和每年。

  • 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

此函数允许所有者通过给定 TBT 的开始和结束时间来将 TBT 转移到目标地址。在减去偏移量后,开始和结束时间必须能够被周期整除。如果开始时间小于当前块时间戳,则默认为当前周期的开始时间刻度。如果结束时间为零,则我们假定它是无限大。数据结构应该用链式映射实现,以获得最佳的 Gas 效率和最小的更新。

  • function balanceOf(address owner, uint256 id) external view returns (bytes memory balance)

此函数将返回一个表示所有者整个时间线位置的 bytes。需要调用者使用下面所示的纯函数对其进行解码:

  • function decodeBalance(bytes memory balance) internal pure returns (TimeDelta[] memory timeDeltas)

  • struct TimeDelta { uint64 time; int192 delta; }

时间增量数组是一种有效的数据结构,用于表示时间线位置。时间字段表示所有者存在增量变化位置的时间刻度。delta 字段表示时间刻度后 TBT 的正值或负值变化。例如,假设我们得到以下时间增量:

  • { time: 1,700,000,000, delta: 100 }

  • { time: 1,700,010,000, delta: -50 }

  • { time: 1,700,030,000, delta: 150 }

这意味着所有者从块时间戳 1,700,000,000 到 1,700,010,000 拥有 100 TBT。然后从块时间戳 1,700,010,000 到 1,700,030,000,拥有 100-50 = 50 TBT。最后,从块时间戳 1,700,030,000 到无限大的时间内,拥有 100-50 +150 = 200 TBT。

请注意,此类实现,其中使用 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 }

还有其他在本文档中未显示的函数,如多重转移、更新、分页 balanceOf、分页更新、metadata、onReceived 等。上述功能是 TBT 与当前代币标准的关键区别。

另一个潜在的 TBT 实现是在一个合约中拥有一个 TBT 的单一存储库,其中实现了更新时间线余额、铸造、销毁和转移的基本实现。任何人都可以为给定的 ID 初始化 TBT。为了可扩展性,在 TBT 周期的多个点上我们都设置了回调(Hooks)。这具有潜在的好处,可能不需要 approve 和 transferFrom,因为与 TBT 接口的合约可以利用多代币转移数据。

未来范围

随着时间约束代币化,我们现在可以创造性地将基于时间的资产金融化。我们可以为这些资产创建 AMM,例如一个市场,交换从月份 0 到月份 1 的 TBT 和从月份 1 到无限期的 TBT。当前具有类似功能的协议示例如下:

Pendle Finance 将现有收益型资产分割成两个时间线:

  • 收益代币:从现在到到期日,其中实用函数在到期前汇集收益增益。

  • 本金代币:从到期日开始,用户可以拆封并在到期后收回本金。

该协议允许用户以固定收益和折扣之间进行交换。

Timeswap 可以通过时间交换代币,也将资产划分为两个时间线:

  • 交换现有代币以获取未来代币,该协议将到期前的代币交换为到期后的代币,这使用户可以购买折扣代币。

  • 交换未来代币以获取现有代币,该协议将到期后的代币替换为到期前的代币,这使用户可以在无需清算的情况下杠杆化。

TBT 将扩展这些协议的未来迭代的功能,并吸引新的设计进入固定到期日期金融领域。该代币标准可能会是推动 DeFi 空间扩大到固定到期日期空间的火花,这是传统金融市场中未被开发的巨大市场。

租赁 NFT 用于游戏也是一种流行的功能。游戏公会会将其 NFT 出租给玩家以获得游戏奖励。拥有 TBT 将扩展出租 NFT 的灵活性和功能。

作者Ethereum Research Team
相关文章
2024.04.18 - 16 天前
Merlin 技术方案解读:它到底是怎么运转的?
让更多人理解 Merlin 的大致工作流程,对其安全模型有更清晰的认知。
2024.01.27 - 98 天前
解读BitVM:如何在BTC链上验证欺诈证明?(执行EVM或其他VM的操作码)
BitVM无需on chain的数据,先在链下发布并存储,链上只存放Commitment(承诺)。
2023.07.24 - 285 天前
全链游戏/自治世界(FOG/AW):游戏状态同步与技术挑战解析
对于完全运行在链上的游戏,区块链是游戏服务器并作为游戏状态的去中心化的信任源。
2023.07.24 - 285 天前
Rollup 升级背后的多签与委员会信任风险:L2 并不像许多人所想的那么“美好”
该如何降低多签和安全委员会带来的信任风险?
2023.06.27 - 312 天前
解读 zkSync 推出的 ZK Stack:L2 和 L3 齐头并进
ZK 技术解锁了现有非 ZK 解决方案无法实现的能力。
2023.06.01 - 338 天前
解读信标层:Rollup 网络安全与跨链转账的关键
本文探讨了以太坊Rollup网络中的Enshrined跨链桥以及AltLayer的信标层架构。
2023.05.30 - 340 天前
以钱包为中心,打造面向客户体验的技术栈
以钱包为中心的客户体验堆栈,是当前加密市场中最重要和最大的“挖掘”b2b 基础设施机会。
2023.05.29 - 341 天前
EIP-6963 概述:多钱包冲突的可能解决方案
EIP-6963 旨在增强多个钱包提供商之间的互操作性,降低新提供商的准入门槛,并改善以太坊网络上的用户体验。
2023.05.27 - 343 天前
ZKML:将AI和区块链融合,实现隐私保护的模型部署技术
火热的ZKML到底是什么?
2023.05.17 - 353 天前
Flashbots、MEV 和激励重构:构建去中心化金融系统的追求
维护去中心化系统的健康始终需要持续、艰巨的努力——持续参与“打地鼠”的游戏。去中心化系统中的信任扩散需要责任和警惕的扩散,特别是因为有如此多的经济激励在质押中:无论是好是坏,MEV 始终存在。