
Thời gian gắn liền với mã thông báo: Thời hạn mã thông báo hóa, quyền sở hữu và lợi nhuận sẽ mang lại những trò chơi mới nào cho tài sản mã hóa?
Tuyển chọn TechFlowTuyển chọn TechFlow

Thời gian gắn liền với mã thông báo: Thời hạn mã thông báo hóa, quyền sở hữu và lợi nhuận sẽ mang lại những trò chơi mới nào cho tài sản mã hóa?
Thời gian gắn liền với việc thực hiện cụ thể mã thông báo như thế nào? Và có những kịch bản khả thi nào?
Tác giả: Ricsson Ngo, Shatabarto Bhattacharya
Biên dịch: TechFlow
Giới thiệu
Khi thời gian cũng có thể được mã hóa thành token, thế giới tiền mã hóa sẽ xuất hiện những trò chơi mới nào?
Gần đây, một khái niệm mang tên “token ràng buộc theo thời gian” đã được đề xuất, các thiết kế kỹ thuật và trường hợp sử dụng liên quan cũng bắt đầu được thảo luận. Trong cả tài chính truyền thống lẫn tài sản mã hóa, “thời gian” thường đóng vai trò ràng buộc một quyền lợi nhất định — ví dụ như hoàn trả khi đáo hạn, thuê trong thời hạn, quyền chọn phái sinh… Trong một khoảng thời gian nhất định (điều kiện), bạn sở hữu một quyền lợi nhất định đối với một tài sản, và sau đó đạt được lợi ích kinh tế (kết quả) theo những quy tắc khác nhau khi hết hạn.
Rõ ràng, logic thực tế dạng “điều kiện – kết quả” này có thể được thiết kế bằng hợp đồng thông minh, điều đó cũng có nghĩa là khả năng mã hóa thời gian làm điều kiện hoàn toàn khả thi.
Vậy thì, token ràng buộc theo thời gian được thực hiện cụ thể như thế nào? Và nó có những ứng dụng khả thi nào? Bài viết này sẽ trả lời những câu hỏi trên và giúp chúng ta cảm nhận được một câu chuyện mới đang hình thành.
Tóm tắt
Token Ràng Buộc Theo Thời Gian (TBT - Time Bound Token) là loại token cho phép chuyển giao và quản lý quyền sở hữu theo dòng thời gian của tài sản, về bản chất là biểu thị thuần túy của một quyền chọn. Nó có thể đại diện cho các tài sản có giới hạn thời gian, chẳng hạn như NFT cho thuê, vị thế ủy thác, quyền biểu quyết có thời hạn, quyền chọn tổng quát, bất động sản cho thuê, v.v. Nguyên lý hoạt động của TBT là cắt nhỏ token (FT hoặc NFT) thành các đoạn thời gian tuần hoàn, mỗi đoạn có thể thuộc sở hữu bởi các địa chỉ khác nhau.

Giới thiệu
Thiết kế TBT hướng tới tính tiện dụng. Người sở hữu TBT có quyền gọi hàm để tận dụng tài sản cơ sở nhằm thu lợi ích kinh tế hoặc tài chính nhất định. Quyền sở hữu token được xác định bằng cách kiểm tra xem thời gian hiện tại có nằm trong khoảng thời gian mà người dùng khai báo hay không. Những lợi ích này có thể bao gồm:
-
Sử dụng Crypto Kitty được đóng gói để ấp trứng Crypto Kitty mới.
-
Sử dụng vị thế thanh khoản Uniswap để thu phí giao dịch.
-
Gọi các chức năng liên quan đến quản trị.
-
Trao đổi giữa USDC và ETH theo công thức tổng hằng định (quyền chọn).
-
Đại diện cho quyền thuê bất động sản.
-
Thanh toán định kỳ.
Hãy cùng xem xét các ví dụ trên để tưởng tượng rõ hơn. Giả sử Alice sở hữu 100 TBT từ tháng 0 đến tháng 1, còn Bob sở hữu 100 TBT từ tháng 1 đến tháng 2. Bây giờ giả sử đã trôi qua 0.5 tháng kể từ tháng 0, thì Alice có thể gọi hàm tiện ích nhiều lần tùy ý, trong khi Bob thì không thể, vì thời điểm hiện tại vẫn thuộc khoảng thời gian mà Alice khai báo. Alice sẽ mất khả năng gọi hàm tiện ích sau tháng 1, còn Bob phải đợi đến tháng 1 mới được hưởng lợi từ hàm tiện ích đó. TBT sẽ hết hạn và tự hủy sau khi kết thúc toàn bộ thời hạn.
TBT có thể được chuyển nhượng giống như token thông thường. Cần lưu ý rằng việc chuyển nhượng ở đây đại diện cho việc chuyển nhượng cả quyền lợi lẫn số lượng token. Ví dụ, Alice có thể chuyển 50 TBT từ tháng 0 đến tháng 1 cho Bob, do đó Alice sẽ còn lại 50 TBT trong khoảng thời gian đó, còn Bob sẽ sở hữu 50 TBT (từ tháng 0 đến tháng 1) cộng thêm 100 TBT (từ tháng 1 đến tháng 2). Charlie có thể chuyển 100 TBT từ tháng 6 đến vô hạn cho Oscar, do đó Charlie giữ lại 100 TBT từ tháng 2 đến tháng 6, còn Oscar sở hữu 100 TBT từ tháng 6 trở đi.
Chi tiết triển khai
Dưới đây là bản dự thảo triển khai giao diện ban đầu cho TBT (TechFlow ghi chú: kèm theo minh họa mã nguồn, độc giả không quan tâm đến phần kỹ thuật có thể đọc trực tiếp phần kết luận của bài viết).
Chúng tôi sẽ tuân theo tiêu chuẩn đa token tương tự ERC1155, trong đó ID đại diện cho các token khác nhau. Cung cấp bằng 1 có nghĩa là nó là NFT, cung cấp lớn hơn 1 có nghĩa là token thay thế được.
Minh họa mã nguồn:
-
function period(uint256 id) external view returns (uint256 seconds)
Hàm này trả về số giây cho một chu kỳ của TBT có ID đã cho. Chúng tôi gọi dấu thời gian giữa hai chu kỳ là “vạch thời gian”. Thông thường, chúng tôi không muốn chu kỳ quá ngắn vì sẽ làm tăng phí gas cho TBT. Cũng không nên quá dài vì sẽ làm mất tính linh hoạt. Một số chuẩn mực xã hội phổ biến là hàng tuần, hàng tháng, hàng quý, nửa năm và hàng năm.
-
function shift(uint256 id) external view returns (uint256 seconds)
Hàm này trả về độ lệch ban đầu tính bằng giây, nơi chúng ta bắt đầu tính chu kỳ. Độ lệch phải nhỏ hơn độ dài chu kỳ.
-
function transfer(address to, uint256 id, uint64 start, uint64 end, uint256 amount, bytes calldata data) external
Hàm này cho phép chủ sở hữu chuyển TBT đến địa chỉ đích bằng cách cung cấp thời gian bắt đầu và kết thúc cho TBT đã cho. Sau khi trừ đi độ lệch, thời gian bắt đầu và kết thúc phải chia hết cho chu kỳ. Nếu thời gian bắt đầu nhỏ hơn dấu thời gian khối hiện tại, thì mặc định lấy vạch thời gian bắt đầu của chu kỳ hiện tại. Nếu thời gian kết thúc bằng 0, coi như là vô hạn. Cấu trúc dữ liệu nên được triển khai bằng ánh xạ nối chuỗi để đạt hiệu quả gas tối ưu và cập nhật ít nhất.
-
function balanceOf(address owner, uint256 id) external view returns (bytes memory balance)
Hàm này trả về một giá trị bytes biểu thị toàn bộ vị trí dòng thời gian của chủ sở hữu. Người gọi cần sử dụng hàm thuần dưới đây để giải mã:
-
function decodeBalance(bytes memory balance) internal pure returns (TimeDelta[] memory timeDeltas)
-
struct TimeDelta { uint64 time; int192 delta; }
Mảng TimeDelta là cấu trúc dữ liệu hiệu quả để biểu diễn vị trí trên dòng thời gian. Trường time biểu thị vạch thời gian nơi có sự thay đổi số dư cho chủ sở hữu. Trường delta biểu thị sự thay đổi dương hoặc âm về số lượng TBT sau vạch thời gian đó. Ví dụ, giả sử chúng ta có các TimeDelta sau:
-
{ time: 1,700,000,000, delta: 100 }
-
{ time: 1,700,010,000, delta: -50 }
-
{ time: 1,700,030,000, delta: 150 }
Điều này có nghĩa là chủ sở hữu sở hữu 100 TBT từ dấu thời gian khối 1,700,000,000 đến 1,700,010,000. Sau đó, từ dấu thời gian 1,700,010,000 đến 1,700,030,000, sở hữu 100-50 = 50 TBT. Cuối cùng, từ dấu thời gian 1,700,030,000 trở đi, sở hữu 100-50+150 = 200 TBT.
Lưu ý rằng kiểu triển khai này, sử dụng bytes và bộ giải mã, chỉ cần trả về các tuyên bố trong tương lai tùy ý. Chúng ta có thể thay đổi triển khai sang cách thực tế hơn, giới hạn kết quả trả về ở mức tối đa.
Lưu ý rằng tổng các delta tại mỗi vạch thời gian không được âm. Do đó, việc đúc, hủy và chuyển token phải đảm bảo hành vi này. Ngoài ra, theo thời gian, số dư của chủ sở hữu chỉ nên hiển thị các vạch thời gian mới nhất sau thời điểm hiện tại.
Ví dụ, với cùng ví dụ trên, giả sử dấu thời gian khối đã trở thành 1,700,010,010. BalanceOf nên hiển thị các TimeDelta sau:
-
{ time: 1,700,010,000, delta: 50 }
-
{ time: 1,700,030,000, delta: 150 }
Còn có các hàm khác không được nêu trong tài liệu này như chuyển nhượng hàng loạt, cập nhật, phân trang balanceOf, phân trang cập nhật, metadata, onReceived, v.v. Các chức năng nêu trên là điểm khác biệt then chốt giữa TBT và các tiêu chuẩn token hiện tại.
Một cách triển khai TBT tiềm năng khác là duy trì một kho lưu trữ đơn lẻ cho TBT trong một hợp đồng, nơi thực hiện các chức năng cơ bản như cập nhật số dư dòng thời gian, đúc, hủy và chuyển. Bất kỳ ai cũng có thể khởi tạo TBT cho một ID nhất định. Để mở rộng quy mô, chúng tôi đặt các điểm callback (Hooks) tại nhiều thời điểm trong chu kỳ TBT. Cách này có lợi thế tiềm tàng là có thể không cần approve và transferFrom, vì các hợp đồng giao tiếp với giao diện TBT có thể tận dụng dữ liệu chuyển nhượng đa token.
Phạm vi phát triển trong tương lai
Với việc mã hóa các ràng buộc theo thời gian, chúng ta giờ đây có thể tài chính hóa sáng tạo các tài sản dựa trên thời gian. Chúng ta có thể tạo AMM dành riêng cho các tài sản này, ví dụ như một thị trường trao đổi TBT từ tháng 0 đến tháng 1 lấy TBT từ tháng 1 đến vô hạn. Các giao thức hiện tại có chức năng tương tự bao gồm:
Pendle Finance chia tài sản sinh lãi hiện có thành hai dòng thời gian:
-
Token lãi suất: từ hiện tại đến ngày đáo hạn, trong đó hàm tiện ích tích lũy lợi nhuận trước khi đáo hạn.
-
Token gốc: bắt đầu từ ngày đáo hạn, người dùng có thể rút và nhận lại vốn gốc sau khi đáo hạn.
Giao thức này cho phép người dùng trao đổi giữa lãi suất cố định và chiết khấu.
Timeswap cho phép trao đổi token theo thời gian, cũng chia tài sản thành hai dòng thời gian:
-
Trao đổi token hiện tại lấy token tương lai: giao thức đổi token trước đáo hạn lấy token sau đáo hạn, giúp người dùng mua token với giá chiết khấu.
-
Trao đổi token tương lai lấy token hiện tại: giao thức đổi token sau đáo hạn lấy token trước đáo hạn, giúp người dùng đòn bẩy mà không cần thanh lý.
TBT sẽ mở rộng chức năng cho các phiên bản tương lai của các giao thức này và thu hút những thiết kế mới vào lĩnh vực tài chính với ngày đáo hạn cố định. Tiêu chuẩn token này có thể trở thành tia lửa thúc đẩy không gian DeFi mở rộng sang khu vực có ngày đáo hạn cố định — một thị trường khổng lồ chưa được khai thác trong thị trường tài chính truyền thống.
Cho thuê NFT trong game cũng là một tính năng phổ biến. Các guild game có thể cho người chơi thuê NFT để đổi lấy phần thưởng trong game. Việc sở hữu TBT sẽ mở rộng tính linh hoạt và chức năng khi cho thuê NFT.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














