
時間綁定代幣:代幣化的時限、所有權與收益,會給加密資產帶來哪些新玩法?
TechFlow Selected深潮精選

時間綁定代幣:代幣化的時限、所有權與收益,會給加密資產帶來哪些新玩法?
時間綁定代幣具體如何實現?又有哪些可實現的場景?
撰寫: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 的靈活性和功能。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














