Token có thể hoán đổi (Fungible tokens) là nền tảng của đề xuất giá trị của Ethereum và DeFi. Bất kỳ nhà phát triển Ethereum nào cũng có thể tạo ra một token có thể chia nhỏ đến một mức độ chính xác nhất định và có các đơn vị giống hệt nhau và có thể hoán đổi cho nhau. Ví dụ, USD là một tài sản có thể hoán đổi (fungible asset) vì một tờ 100 đô la tương đương với một trăm tờ 1 đô la. Giao diện token của blockchain Ethereum là ERC-20. Một giao diện từ góc độ của nhà phát triển ứng dụng là tập hợp chức năng tối thiểu bắt buộc. Khi một token triển khai giao diện ERC-20, bất kỳ ứng dụng nào xử lý chung chức năng đã được xác định đều có thể tích hợp ngay lập tức và liền mạch với token đó. Sử dụng ERC-20 và các giao diện tương tự, các nhà phát triển ứng dụng có thể tự tin hỗ trợ các token chưa tồn tại.
Giao diện ERC-20 xác định các chức năng cốt lõi sau:
totalSupply()—đọc tổng nguồn cung của token;
balanceOf(account)—đọc số dư của token cho một tài khoản cụ thể;
transfer(recipient address, amount)—gửi "số lượng" token từ người gửi giao dịch đến "địa chỉ người nhận";
transferFrom(sender address, recipient address, amount)—gửi "số lượng" token từ số dư của các token được giữ tại "địa chỉ người gửi" đến "địa chỉ người nhận";
approve(spender, amount)—cho phép "người chi tiêu" (spender) chi tiêu "số lượng" token thay mặt chủ sở hữu tài khoản;
allowance(owner address, spender address)—trả về số lượng token mà "địa chỉ người chi tiêu" (spender address) có thể chi tiêu thay mặt "địa chỉ chủ sở hữu".
Hợp đồng sẽ từ chối các giao dịch liên quan đến số dư không đủ hoặc chi tiêu trái phép. Bốn chức năng đầu tiên là trực quan và được mong đợi (đọc nguồn cung, số dư và gửi token). Hai chức năng cuối cùng, approve và allowance, rất quan trọng để hiểu được sức mạnh của giao diện ERC-20. Nếu không có chức năng này, người dùng sẽ bị giới hạn trong việc chuyển token trực tiếp đến và từ các tài khoản. Với chức năng phê duyệt, các hợp đồng (hoặc các tài khoản đáng tin cậy) có thể được whitelisted (đưa vào danh sách trắng) để hoạt động như những người giám sát cho token của người dùng mà không trực tiếp giữ số dư token. Chức năng này mở rộng phạm vi của các ứng dụng khả thi vì người dùng vẫn giữ toàn quyền giám sát trước khi một người chi tiêu được phê duyệt thực hiện một giao dịch.
Bây giờ chúng ta sẽ định nghĩa ba loại chính của các token ERC-20. Một token ERC-20 có thể đồng thời thuộc nhiều hơn một loại.
Token vốn chủ sở hữu (Equity Token)
Một token vốn chủ sở hữu (equity token), không nên nhầm lẫn với cổ phiếu hoặc chứng khoán theo nghĩa tài chính truyền thống, chỉ đơn giản là một token đại diện cho quyền sở hữu một tài sản cơ bản hoặc một nhóm tài sản. Các đơn vị phải có thể hoán đổi cho nhau để mỗi đơn vị tương ứng với một phần giống hệt nhau trong nhóm. Ví dụ, giả sử một token (TKN) có tổng nguồn cung cố định là 10.000, và TKN tương ứng với một nhóm ETH gồm 100 ETH được giữ trong một hợp đồng thông minh (smart contract). Hợp đồng thông minh (smart contract) quy định rằng với mỗi đơn vị TKN mà nó nhận được, nó sẽ trả lại một lượng ETH pro rata (tỷ lệ), cố định tỷ lệ trao đổi ở mức 100 TKN/1 ETH.
Chúng ta có thể mở rộng ví dụ để nhóm có một lượng ETH thay đổi. Giả sử ETH trong nhóm tăng 5% mỗi năm bằng một cơ chế nào đó. Bây giờ 100 TKN sẽ đại diện cho 1 ETH cộng với dòng tiền mặt vĩnh viễn 5% của ETH. Thị trường có thể sử dụng thông tin này để định giá chính xác giá trị của TKN.
Trong các token vốn chủ sở hữu (equity tokens) thực tế, các nhóm tài sản có thể chứa các cơ chế phức tạp hơn nhiều, vượt ra ngoài một nhóm tĩnh hoặc tỷ lệ tăng cố định. Các khả năng chỉ bị giới hạn bởi những gì có thể được mã hóa vào một hợp đồng thông minh (smart contract).
Token tiện ích (Utility Tokens)
Token tiện ích (Utility tokens) theo nhiều cách là một thùng chứa tất cả, mặc dù chúng có một định nghĩa rõ ràng. Token tiện ích (Utility tokens) là các token có thể hoán đổi (fungible tokens) được yêu cầu để sử dụng một số chức năng của một hệ thống hợp đồng thông minh (smart contract system) hoặc có một đề xuất giá trị nội tại được xác định bởi hệ thống hợp đồng thông minh (smart contract system) tương ứng của nó. Trong nhiều trường hợp, token tiện ích (utility tokens) thúc đẩy các nguyên tắc kinh tế của một hệ thống, tạo ra sự khan hiếm hoặc các ưu đãi theo ý định của các nhà phát triển. Trong một số trường hợp, ETH có thể được sử dụng thay cho một token tiện ích (utility token), nhưng token tiện ích (utility tokens) cho phép các hệ thống tích lũy và duy trì giá trị kinh tế tách rời khỏi toàn bộ Ethereum. Một trường hợp sử dụng yêu cầu một token tiện ích (utility token) riêng biệt sẽ bao gồm một hệ thống có nguồn cung thay đổi theo thuật toán.
Sau đây là các ví dụ về các trường hợp sử dụng cho token tiện ích (utility tokens):
Là tài sản thế chấp (ví dụ: SNX)
Đại diện cho uy tín hoặc cổ phần (ví dụ: REP, LINK)
Duy trì giá trị ổn định so với tài sản cơ bản hoặc peg (ví dụ: DAI, Synthetix Synth)
Trả phí cụ thể cho ứng dụng (ví dụ: ZRX, DAI, LINK)
Ví dụ cuối cùng bao gồm tất cả các stablecoins (tiền ổn định), bất kể stablecoin đó được thế chấp bằng tiền fiat (fiat collateralized), tiền điện tử (crypto-collateralized) hay là thuật toán. Trong trường hợp của USDC, một stablecoin được thế chấp bằng tiền fiat (fiat-collateralized stablecoin), token tiện ích (utility token) hoạt động như hệ thống của riêng nó mà không có bất kỳ cơ sở hạ tầng hợp đồng thông minh (smart-contract infrastructure) bổ sung nào để hỗ trợ giá trị của nó. Giá trị của USDC phát sinh từ lời hứa đổi lấy USD của các công ty hỗ trợ nó, bao gồm Coinbase.
Có nhiều khả năng hơn nữa cho các token tiện ích (utility tokens) so với một vài ví dụ mà chúng tôi đã đề cập ở đây. Đổi mới sẽ mở rộng danh mục này khi các cơ chế kinh tế và kỹ thuật mới lạ xuất hiện.
Token quản trị (Governance Tokens)
Các token quản trị (Governance tokens) tương tự như các token vốn chủ sở hữu (equity tokens) ở chỗ chúng đại diện cho quyền sở hữu theo tỷ lệ phần trăm. Thay vì quyền sở hữu tài sản, quyền sở hữu token quản trị (governance token) áp dụng cho quyền biểu quyết, đúng như tên gọi của nó. Chúng ta bắt đầu bằng cách nêu ra các loại thay đổi mà chủ sở hữu có thể bỏ phiếu.
Nhiều hợp đồng thông minh (smart contracts) có các điều khoản nhúng quy định cách hệ thống có thể thay đổi; ví dụ, các thay đổi được phép có thể bao gồm điều chỉnh các thông số, thêm các thành phần mới, hoặc thậm chí thay đổi chức năng của các thành phần hiện có. Khả năng thay đổi của hệ thống là một đề xuất mạnh mẽ với khả năng hợp đồng mà người dùng tương tác hôm nay có thể thay đổi vào ngày mai. Trong một số trường hợp, chỉ các quản trị viên nhà phát triển, những người mã hóa các đặc quyền đặc biệt cho chính họ, mới có thể kiểm soát các thay đổi đối với nền tảng.
Bất kỳ nền tảng nào có chức năng do quản trị viên kiểm soát đều không phải là DeFi thực sự vì sự kiểm soát tập trung của các quản trị viên. Tuy nhiên, một hợp đồng không có khả năng thay đổi nhất thiết phải cứng nhắc và không có cách nào để thích ứng với các lỗi trong mã hoặc các điều kiện kinh tế hoặc kỹ thuật đang thay đổi. Vì lý do này, nhiều nền tảng cố gắng thực hiện một quy trình nâng cấp phi tập trung, thường được điều chỉnh bởi một token quản trị (governance token).
Các chủ sở hữu của một token quản trị (governance token) sẽ có quyền biểu quyết pro-rata (tỷ lệ) để thực hiện bất kỳ thay đổi nào được cho phép bởi các hợp đồng thông minh (smart contracts) điều chỉnh nền tảng.
Một token quản trị (governance token) có thể được triển khai theo nhiều cách—với nguồn cung tĩnh, nguồn cung lạm phát, hoặc thậm chí là nguồn cung giảm phát. Một nguồn cung tĩnh rất đơn giản: các cổ phần đã mua sẽ tương ứng trực tiếp với một tỷ lệ phần trăm kiểm soát nhất định của cuộc bỏ phiếu. Việc triển khai token MKR hiện tại cho MakerDAO có nguồn cung nói chung là tĩnh.
Nhiều nền tảng phát hành token quản trị (governance token) thông qua một lịch trình lạm phát nhằm khuyến khích người dùng sử dụng các tính năng cụ thể của nền tảng, đảm bảo rằng token quản trị (governance token) được phân phối trực tiếp cho người dùng. Ví dụ, Compound sử dụng một cách tiếp cận triển khai lạm phát với token COMP. Một cách tiếp cận giảm phát có thể sẽ bao gồm việc sử dụng token quản trị (governance token) như một token tiện ích (utility token) để trả phí cho nền tảng. Những khoản phí này sẽ bị đốt (burned), hoặc bị loại bỏ, khỏi nguồn cung thay vì chuyển đến một thực thể cụ thể. Token MKR của MakerDAO từng được đốt theo cách này trong một phiên bản cũ hơn của nền tảng.