
時間結合トークン:トークン化された期間、所有権および収益が暗号資産にもたらす新たな可能性とは?
TechFlow厳選深潮セレクト

時間結合トークン:トークン化された期間、所有権および収益が暗号資産にもたらす新たな可能性とは?
タイムバウンドトークンは具体的にどのように実現されるのか?また、どのような応用シーンが考えられるのか?
執筆:Ricsson Ngo、Shatabarto Bhattacharya
編集:TechFlow
导读
時間さえもトークン化できるようになったら、暗号資産の世界にはどのような新しい可能性が生まれるだろうか?
最近、「タイムバウンドトゥーケン(TBT)」という概念が提唱され、その技術設計やユースケースについての議論が始まっている。従来の金融でも暗号資産でも、「時間」はしばしば何らかの権利を制約する要素となっている——たとえば満期での返済、期間限定のリース、オプションや先物取引などである。ある条件のもとで、一定期間内に特定の資産に対して何らかの権利を持ち、ルールに従って期限後に経済的利益を得る(結果)。
この「条件」と「結果」の現実的なロジックは、明らかにスマートコントラクトによって設計可能であり、つまり「時間」という条件自体がトークン化できる可能性を示している。
では、タイムバウンドトゥーケンとは具体的にどのように実現されるのか? また、どのような応用が可能になるのか?本稿ではこれらの疑問に答えながら、新たなストーリーの可能性を探っていく。
概要
タイムバウンドトゥーケン(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の時間帯に含まれるため、Aliceは必要に応じて複数回ユーティリティ関数を呼び出すことができるが、Bobは呼び出せない。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の初期インターフェース実装の草案である(TechFlow注:コードの例も併記。技術実装に興味のない読者は結論部分まで飛ばしてもよい)。
ERC1155に類似したマルチトークン標準に従い、IDによって異なるトークンを識別する。供給量が1であればNFT、それより大きければ代替可能トークンとなる。
コード例:
-
function period(uint256 id) external view returns (uint256 seconds)
この関数は、指定されたIDのTBTにおける1つの周期を秒単位で返す。2つの周期間のタイムスタンプを「タイムティック」と呼ぶ。通常、周期が短すぎるとTBTのGasコストが高くなりすぎるため好ましくない。逆に長すぎても柔軟性が失われる。一般的な社会的基準としては、週単位、月単位、四半期、半年、年単位などが考えられる。
-
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; }
タイムデルタ配列は、時間軸上の位置を効率的に表現するデータ構造である。「time」フィールドは、所有者の保有量に変化が生じるタイムティックを示す。「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とデコーダを使用する実装では、将来の任意の時点での主張を返すだけでよい。将来的には最大限の制限を設けるなど、より実用的な方式に変更する可能性もある。
各タイムティックにおけるタイムデルタの合計は負になってはならない。したがって、Mint、Burn、Transfer操作はこれを保証しなければならない。また、時間の経過とともに、所有者の残高は常に現在時刻以降の最新のタイムティックのみを表示しなければならない。
たとえば、上記と同じ例で、ブロックタイムスタンプが1,700,010,010になったとしよう。balanceOfは以下のタイムデルタを表示すべきである:
-
{ time: 1,700,010,000, delta: 50 }
-
{ time: 1,700,030,000, delta: 150 }
本文書では示していないが、他にも多重送金、更新、balanceOfのページネーション、更新のページネーション、メタデータ、onReceivedなどの関数が存在する。上記の機能が、TBTが既存のトークン規格と異なる点である。
TBTのもう一つの潜在的な実装として、単一のコントラクト内にすべてのTBTを格納し、時間軸残高の更新、Mint、Burn、Transferの基本機能を実装する方法がある。誰でも任意のIDに対してTBTを初期化できる。拡張性のため、TBT周期の複数のポイントにコールバック(Hooks)を設置している。これにより、approveやtransferFromが不要になる可能性があり、TBTインターフェースを用いるコントラクトはマルチトークン転送データを活用できる。
今後の展望
時間制約付きの資産がトークン化されることで、時間に基づく資産の金融工学的応用が創造的に広がる。私たちはこれらのためにAMMを作成でき、たとえば「0か月目から1か月目までのTBT」と「1か月目から無限期間までのTBT」を交換する市場が可能になる。現在、類似の機能を持つプロトコルの例としては以下がある:
Pendle Financeは、既存の収益性資産を2つの時間軸に分割する:
-
収益トークン:現在から満期まで、満期前に収益を蓄積するユーティリティ関数を持つ。
-
元本トークン:満期後から利用可能となり、ユーザーは満期後に元本を取り戻せる。
このプロトコルにより、ユーザーは固定収益と割引の間で自由に交換できる。
Timeswapは、時間を通じてトークンを交換でき、資産を2つの時間軸に分割する:
-
現在のトークンを未来のトークンと交換:満期前のトークンを満期後のものと交換し、ユーザーは割引価格でトークンを購入できる。
-
未来のトークンを現在のトークンと交換:満期後のトークンを満期前のものと交換し、ユーザーは清算なしにレバレッジをかけることが可能。
TBTはこれらのプロトコルの将来の進化をさらに拡張し、満期日付き金融商品分野への新たな設計を引き寄せるだろう。このトークン規格は、DeFi領域を伝統的金融市場においてまだ開拓されていない巨大な満期日付き市場へと拡大するきっかけとなる可能性を秘めている。
ゲーム内でのNFTのレンタルも人気のある機能である。ゲームギルドは、プレイヤーに報酬を得るためにNFTを貸し出す。TBTの導入により、NFTレンタルの柔軟性と機能性がさらに拡張されるだろう。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














