Điểm chính

  • ERC-20 là một tiêu chuẩn kỹ thuật để tạo ra các token có thể thay thế trên blockchain Ethereum, xác định sáu chức năng bắt buộc đảm bảo rằng tất cả các token tuân thủ hoạt động giống nhau trên các ví, sàn giao dịch và ứng dụng.

  • Các token ERC-20 tồn tại bên trong các hợp đồng thông minh thay vì được giữ trực tiếp bởi các tài khoản người dùng; hợp đồng duy trì danh sách các số dư và xử lý các giao dịch khi người dùng gửi giao dịch.

  • Các loại token ERC-20 phổ biến bao gồm stablecoin, utility tokens, governance tokens và liquidity pool (LP) tokens được sử dụng trên các giao thức DeFi.

  • Các token ERC-20 không thể được khai thác; các token mới được tạo ra khi một hợp đồng được triển khai, thường được phân phối thông qua các sự kiện như đợt chào bán tiền điện tử ban đầu (ICO) hoặc các sự kiện tạo token.

Binance Academy courses banner

Giới thiệu

Ethereum được sáng lập bởi Vitalik Buterin vào năm 2014, định vị bản thân như một nền tảng mã nguồn mở cho việc ra mắt các ứng dụng phi tập trung (DApps). Nhiều động lực của Buterin trong việc tạo ra một blockchain mới xuất phát từ sự thiếu linh hoạt của giao thức Bitcoin.

Kể từ khi ra mắt, blockchain Ethereum đã thu hút các nhà phát triển, doanh nghiệp và doanh nhân, xây dựng một hệ sinh thái ngày càng phát triển của các hợp đồng thông minh và ứng dụng phân phối.

Bài viết này đề cập đến tiêu chuẩn ERC-20: một khuôn khổ quan trọng để tạo ra các token có thể thay thế trên Ethereum. Mặc dù nó được phát triển đặc biệt cho mạng Ethereum, khuôn khổ này cũng đã truyền cảm hứng cho các tiêu chuẩn token trên các blockchain khác, chẳng hạn như BEP-20 trên BNB Smart Chain.

Tiêu chuẩn ERC-20 là gì?

Trong Ethereum, ERC là một Yêu cầu bình luận của Ethereum. Đây là các tài liệu kỹ thuật phác thảo các tiêu chuẩn cho lập trình trên Ethereum. Bạn có thể hỏi, vậy thì các Đề xuất Cải tiến Ethereum (EIPs) là gì? Một EIP là một tài liệu chính thức được sử dụng để đề xuất các tính năng hoặc thay đổi mới cho mạng Ethereum. Các ERC là một tập hợp con của các EIP tập trung vào các tiêu chuẩn hợp đồng thông minh, và chúng đề xuất các cải tiến cho giao thức tự thân. Các ERC nhằm thiết lập các quy ước giúp các ứng dụng và hợp đồng tương tác với nhau dễ dàng hơn.

Được viết bởi Vitalik Buterin và Fabian Vogelsteller vào năm 2015, ERC-20 đề xuất một định dạng tương đối đơn giản cho các token dựa trên Ethereum. Bằng cách tuân theo phác thảo, các nhà phát triển không cần phải phát minh lại bánh xe. Thay vào đó, họ có thể xây dựng trên một nền tảng đã được sử dụng trên toàn ngành.

Khi các token ERC-20 mới được tạo ra, chúng sẽ tự động tương tác với các dịch vụ và phần mềm hỗ trợ tiêu chuẩn ERC-20, bao gồm ví phần mềm, ví phần cứng và các sàn giao dịch.

Lưu ý rằng ERC-20 sau đó đã được chính thức hóa thành một EIP (cụ thể là EIP-20). Điều này xảy ra vài năm sau đề xuất ban đầu do sự phổ biến rộng rãi của nó. Tuy nhiên, tên "ERC-20" vẫn là tham chiếu chung.

Tóm tắt nhanh về các token Ethereum

Không giống như ETH (tiền điện tử gốc của Ethereum), các token ERC-20 không được giữ trực tiếp bởi các tài khoản. Các token chỉ tồn tại bên trong một hợp đồng, hoạt động như một cơ sở dữ liệu tự chứa. Nó xác định các quy tắc cho các token (bao gồm tên, ký hiệu và khả năng chia nhỏ) và giữ một danh sách ánh xạ số dư người dùng đến địa chỉ Ethereum của họ.

Để chuyển token, người dùng phải gửi một giao dịch đến hợp đồng yêu cầu nó phân bổ một phần số dư của họ đến nơi khác. Ví dụ, nếu Alice muốn gửi 5,000 token cho Bob, cô ấy gọi một chức năng bên trong hợp đồng thông minh token để thực hiện điều đó.

Cuộc gọi của cô ấy được chứa trong những gì có vẻ là một giao dịch Ethereum thông thường mà không thanh toán 0 ETH cho hợp đồng token. Cuộc gọi được bao gồm trong một trường bổ sung trong giao dịch, xác định Alice muốn làm gì. Ngay cả khi cô ấy không gửi ether, cô vẫn phải trả một khoản phí giao dịch tính bằng ETH để có giao dịch của mình được bao gồm trong một khối. Nếu cô ấy không có ETH, cô cần phải kiếm một ít trước khi có thể chuyển token.

Các Token ERC-20 được tạo ra như thế nào?

Để tuân thủ tiêu chuẩn ERC-20, một hợp đồng cần bao gồm sáu chức năng bắt buộc: totalSupply, balanceOf, transfer, transferFrom, approve và allowance. Ngoài ra, bạn có thể chỉ định các chức năng tùy chọn như name, symbol và decimal.

totalSupply

function totalSupply() public view returns (uint256)

Khi được gọi, chức năng này trả về tổng số lượng token mà hợp đồng nắm giữ.

balanceOf

function balanceOf(address _owner) public view returns (uint256 balance)

Khác với totalSupply, balanceOf nhận một tham số (một địa chỉ). Khi được gọi, nó trả về số dư token của địa chỉ đó. Vì các tài khoản trên Ethereum là công khai, bạn có thể truy vấn số dư của bất kỳ người dùng nào nếu bạn biết địa chỉ của họ.

transfer

function transfer(address to, uint256 value) public returns (bool success)

Transfer di chuyển token từ một người dùng sang người khác. Bạn cung cấp địa chỉ đích và số lượng để chuyển. Khi được gọi, transfer kích hoạt một sự kiện Transfer, thông báo cho blockchain bao gồm một tham chiếu đến giao dịch. Một sự kiện Transfer, cùng với một sự kiện Approval, là một bản ghi của một sự kiện được chấp thuận, được yêu cầu phải được bao gồm trong token.

transferFrom

function transferFrom(address from, address to, uint256 _value) public returns (bool success)

TransferFrom là một lựa chọn hữu ích cho transfer, cho phép nhiều lập trình hơn trong các ứng dụng phi tập trung. Giống như transfer, nó di chuyển token, nhưng những token đó không nhất thiết phải thuộc về người gọi hợp đồng. Nói cách khác, bạn có thể ủy quyền cho một địa chỉ khác (hoặc hợp đồng) để chuyển tiền thay mặt bạn. Một trường hợp sử dụng phổ biến liên quan đến các dịch vụ dựa trên đăng ký, nơi một chương trình xử lý các khoản thanh toán định kỳ tự động thay vì yêu cầu một giao dịch thủ công mỗi lần.

approve

function approve(address spender, uint256 value) public returns (bool success)

Approve cho phép bạn giới hạn số lượng token mà một hợp đồng thông minh có thể rút từ số dư của bạn. Nếu không có nó, một hợp đồng bị lỗi hoặc bị khai thác có thể làm cạn kiệt toàn bộ số dư của bạn. Ví dụ, nếu một dịch vụ đăng ký tốn một token mỗi tuần và bạn chấp thuận một giới hạn là hai mươi token, DApp có thể xử lý tối đa 20 tuần thanh toán. Nếu DApp cố gắng rút nhiều hơn, hoặc nếu một lỗi được phát hiện, khả năng mất mát của bạn được giới hạn ở số lượng đã chấp thuận.

allowance

function allowance(address owner, address spender) public view returns (uint256 remaining)

Allowance được sử dụng cùng với approve. Khi bạn đã cấp cho một hợp đồng quyền quản lý token của bạn, bạn có thể sử dụng allowance để kiểm tra số lượng mà nó vẫn có thể rút. Ví dụ, nếu một dịch vụ đăng ký đã sử dụng mười hai trong số hai mươi token đã được chấp thuận của bạn, gọi allowance sẽ trả về tám.

Các chức năng tùy chọn

Các chức năng trên là bắt buộc. Mặt khác, name, symbol và decimal là tùy chọn, nhưng chúng giúp hợp đồng ERC-20 của bạn thân thiện hơn với người dùng. Tương ứng, chúng cho phép bạn thêm một tên dễ đọc, đặt một ký hiệu ticker và chỉ định số lượng chữ số thập phân mà token có thể chia.

Sự kiện

Có hai sự kiện sẽ được kích hoạt bởi các chức năng đã đề cập trước đó:

  • Sự kiện Transfer: Điều này diễn ra bất cứ khi nào token được chuyển, tạo ra hoặc bị đốt.

event Transfer(address indexed from, address indexed to, uint256 _value)
  • Sự kiện Approval: Điều này được kích hoạt bất cứ khi nào cần sự chấp thuận. Khi một người dùng chấp thuận một nền tảng DeFi (như Uniswap) sử dụng token của họ, một sự kiện Approval được kích hoạt, thông báo cho nền tảng cho phép giao dịch.

event Approval(address indexed owner, address indexed spender, uint256 _value)

Token ERC-20 có thể làm gì?

Một phần lớn sức hấp dẫn của token ERC-20 là tính linh hoạt của chúng. Tiêu chuẩn này đặt ra các quy ước mà không hạn chế phát triển, vì vậy các dự án có thể triển khai các tính năng bổ sung và thiết lập các tham số cụ thể để phù hợp với nhu cầu của họ. Đến năm 2025, các token ERC-20 cung cấp sức mạnh cho nhiều loại ứng dụng tài chính phi tập trung (DeFi), từ các giao thức cho vay và vay mượn đến các sàn giao dịch phi tập trung và nền tảng yield farming.

Stablecoins

Stablecoins (token được gắn với các loại tiền tệ fiat) thường sử dụng tiêu chuẩn ERC-20. Đối với một stablecoin được hỗ trợ bởi fiat điển hình, một nhà phát hành giữ dự trữ bằng đô la, euro hoặc các loại tiền tệ khác. Đối với mỗi đơn vị trong dự trữ của họ, họ phát hành một token tương ứng. Nếu $10,000 được giữ trong dự trữ, nhà phát hành có thể tạo 10,000 token, mỗi token có thể đổi lấy $1. Người dùng có thể chi tiêu các token này cho hàng hóa và dịch vụ, sử dụng chúng trong DApps hoặc đổi chúng với nhà phát hành. Khi được đổi, nhà phát hành sẽ đốt các token đã trả lại (biến chúng trở nên không còn sử dụng được) và phát hành số tiền fiat tương đương từ dự trữ.

Governance tokens

Governance tokens cho phép người nắm giữ quyền biểu quyết về các quyết định của giao thức, chẳng hạn như cấu trúc phí, nâng cấp, hoặc phân bổ ngân sách. Chúng được sử dụng rộng rãi trong các giao thức DeFi và tổ chức tự trị phi tập trung (DAOs). Tính chuyển nhượng và giao diện tiêu chuẩn của ERC-20 giúp các governance tokens dễ dàng tích hợp với các hệ thống bỏ phiếu trên chuỗi.

Liquidity pool (LP) tokens

Khi người dùng gửi tài sản vào một bể thanh khoản DeFi, họ nhận được LP tokens đại diện cho phần chia của họ trong bể. Những token ERC-20 này có thể được đổi lấy các tài sản cơ bản cộng với bất kỳ khoản phí nào tích lũy. LP tokens là một trong những loại token ERC-20 phổ biến nhất đang được sử dụng tích cực trong DeFi tính đến năm 2025.

Security tokens

Security tokens tương tự như stablecoins ở cấp độ hợp đồng. Sự khác biệt xảy ra ở cấp độ nhà phát hành: security tokens đại diện cho chứng khoán như cổ phiếu, trái phiếu hoặc tài sản vật lý, và chúng thường cấp cho người nắm giữ một phần trong doanh nghiệp hoặc tài sản. Các tiêu chuẩn mới hơn như ERC-1400 và ERC-3643 xây dựng trên ERC-20 để thêm các tính năng tuân thủ cần thiết cho các chứng khoán được quy định.

Utility tokens

Utility tokens là một trong những loại token phổ biến nhất. Không giống như các token có tài sản đảm bảo, chúng không được bảo đảm bởi bất kỳ tài sản bên ngoài nào. Chúng có thể phục vụ như tiền tệ trong trò chơi, nhiên liệu cho các ứng dụng phi tập trung, điểm thưởng, hoặc thẻ truy cập vào các dịch vụ cụ thể.

Bạn có thể khai thác các token ERC-20 không?

Bạn có thể kiếm ether (ETH) thông qua staking, nhưng các token ERC-20 không thể được khai thác. Chúng tôi nói rằng chúng được tạo ra khi những cái mới được tạo ra. Khi một hợp đồng được triển khai, các nhà phát triển phân phối nguồn cung ban đầu theo kế hoạch và lộ trình của họ. Điều này thường được thực hiện thông qua một đợt chào bán tiền điện tử ban đầu (ICO), đợt chào bán trên sàn giao dịch đầu tiên (IEO), hoặc đợt chào bán token chứng khoán (STO). Ngày nay, airdrop cũng là một phương thức phân phối phổ biến. Các nhà đầu tư gửi ether đến địa chỉ hợp đồng và nhận các token mới đổi lại. Các khoản thu được thường được sử dụng để tài trợ cho sự phát triển tiếp theo.

Việc phân phối token không cần phải tự động. Nhiều sự kiện gây quỹ cộng đồng chấp nhận nhiều loại tiền tệ kỹ thuật số, với số dư token sau đó được phân bổ cho các địa chỉ mà người tham gia cung cấp.

Ưu điểm và nhược điểm của token ERC-20

Ưu điểm

  • Có thể chuyển đổi: Các token ERC-20 có thể chuyển đổi, có nghĩa là mỗi đơn vị có thể thay thế cho một đơn vị khác. Điều này lý tưởng cho tiền tệ, stablecoins và governance tokens nơi các đơn vị cá nhân không nên có các đặc điểm phân biệt.

  • Linh hoạt: Các token ERC-20 có thể tùy chỉnh cao và có thể được điều chỉnh cho nhiều ứng dụng khác nhau, từ tiền tệ trong trò chơi và chương trình trung thành đến công cụ DeFi và đại diện cho tài sản thực (RWA).

  • Tương thích: Sự phổ biến rộng rãi của ERC-20 có nghĩa là hầu hết các ứng dụng ví crypto, sàn giao dịch và hợp đồng thông minh đã tương thích với các token mới ra mắt. Tài liệu và công cụ cho nhà phát triển rất phong phú.

Nhược điểm

  • Khả năng mở rộng: Lớp cơ sở của Ethereum xử lý một số lượng giao dịch giới hạn mỗi giây, và sự tắc nghẽn có thể dẫn đến phí cao và chậm trễ. Các giải pháp Lớp 2 như Arbitrum, Optimism và zkSync đã giải quyết nhiều vấn đề này bằng cách xử lý các giao dịch ngoại tuyến trong khi vẫn giải quyết trên Ethereum, nhưng việc thêm một Lớp 2 sẽ tạo ra độ phức tạp bổ sung cho các nhà phát hành token và người dùng.

  • Lừa đảo: Việc dễ dàng khởi chạy một token ERC-20 là một lợi thế hai lưỡi. Nỗ lực kỹ thuật tối thiểu là cần thiết, có nghĩa là các dự án gian lận có thể phát hành token dễ như các dự án hợp pháp. Luôn thực hiện nghiên cứu của riêng bạn (DYOR) trước khi tham gia vào bất kỳ đợt chào bán token nào để đưa ra kết luận của riêng bạn về việc liệu một cơ hội có hợp pháp hay không.

ERC-20, ERC-721, ERC-1155, và ERC-404: Sự khác biệt là gì?

ERC-20 là tiêu chuẩn token Ethereum đầu tiên và vẫn là tiêu chuẩn được sử dụng rộng rãi nhất. Nhiều tiêu chuẩn khác đã xuất hiện kể từ đó, hoặc đề xuất cải tiến hoặc giải quyết các trường hợp sử dụng khác nhau.

ERC-721 là tiêu chuẩn cho các token không thể thay thế (NFT): mỗi token có một định danh duy nhất, làm cho nó không thể thay thế cho bất kỳ token nào khác. ERC-721 cung cấp sức mạnh cho nghệ thuật kỹ thuật số, đồ sưu tầm và các vật phẩm trong trò chơi nơi sự độc nhất của từng cá nhân là quan trọng.

ERC-1155 hỗ trợ cả token có thể thay thế và không thể thay thế trong cùng một hợp đồng. Một hợp đồng ERC-1155 duy nhất có thể quản lý nhiều loại token cùng một lúc, điều này giúp nó hiệu quả cho các ứng dụng trò chơi liên quan đến cả tiền tệ và các vật phẩm độc đáo.

ERC-404, được giới thiệu thử nghiệm vào đầu năm 2024, cố gắng kết hợp khả năng chuyển nhượng phân đoạn của ERC-20 với sự độc nhất của ERC-721 để tạo ra các token "bán thay thế". Nó chưa được chính thức thông qua như một EIP và thiếu sự hỗ trợ rộng rãi trong hệ sinh thái, nhưng nó minh họa cách mà khuôn khổ ERC-20 tiếp tục truyền cảm hứng cho các phương pháp tiếp cận mới.

Các tiêu chuẩn khác như ERC-223 nhằm mục đích thêm các biện pháp bảo vệ ngăn chặn việc chuyển token không mong muốn, giải quyết một hạn chế đã biết trong thiết kế ban đầu của ERC-20.

Câu hỏi thường gặp

Token ERC-20 là gì?

Token ERC-20 là một token có thể thay thế được tạo ra trên blockchain Ethereum theo tiêu chuẩn kỹ thuật ERC-20. Tiêu chuẩn này xác định sáu chức năng bắt buộc đảm bảo rằng tất cả các token tuân thủ hoạt động nhất quán trên các ví, sàn giao dịch và ứng dụng phi tập trung.

ERC-20 khác gì so với ERC-721?

Các token ERC-20 có thể thay thế: mỗi đơn vị là giống nhau và có thể thay thế, làm cho tiêu chuẩn phù hợp cho tiền tệ, stablecoins và governance tokens. Các token ERC-721 là không thể thay thế: mỗi token có một định danh duy nhất, khiến chúng phù hợp cho nghệ thuật kỹ thuật số, đồ sưu tầm, và các vật phẩm trong trò chơi nơi yêu cầu sự độc đáo của từng cá nhân.

Các token ERC-20 có thể được khai thác không?

Không. Các token ERC-20 được tạo ra (minted) khi một hợp đồng thông minh được triển khai, không phải khai thác. Tổng cung và phân phối ban đầu được thiết lập bởi các nhà phát triển của hợp đồng. Các token mới thường được phân phối thông qua các cơ chế như ICO, IEO, hoặc các chương trình khai thác thanh khoản.

Tại sao các giao dịch ERC-20 cần ETH?

Các giao dịch ERC-20 là các hoạt động được thực hiện trên mạng Ethereum. Tất cả các hoạt động trên Ethereum đều yêu cầu một khoản phí giao dịch (gọi là gas), được thanh toán bằng ETH. Ngay cả khi bạn chuyển 0 ETH, bạn vẫn cần ETH trong ví của mình để phủ phí gas khi gọi hợp đồng token.

Chức năng approve được sử dụng để làm gì trong ERC-20?

Chức năng approve cho phép một người nắm giữ token thiết lập một giới hạn chi tiêu cho một địa chỉ hoặc hợp đồng thông minh cụ thể. Điều này thường được sử dụng trong DeFi: thay vì cho phép một giao thức truy cập không giới hạn vào token của bạn, bạn có thể giới hạn số lượng mà nó có thể rút. Nếu một lỗi được phát hiện hoặc hợp đồng hoạt động không đúng, khả năng mất mát của bạn được giới hạn ở số lượng đã chấp thuận.

Kết luận

Tiêu chuẩn ERC-20 vẫn duy trì vị thế là khuôn khổ chính cho các token có thể thay thế trên Ethereum kể từ khi ra mắt. Sự đơn giản, khả năng tương thích rộng rãi và thiết kế linh hoạt của nó đã làm cho nó trở thành nền tảng cho stablecoins, governance tokens, các công cụ DeFi và vô số utility tokens.

Các thách thức về khả năng mở rộng tại lớp cơ sở của Ethereum đã chủ yếu được giải quyết bởi sự phát triển của các mạng Lớp 2, hiện đang xử lý phần lớn các hoạt động DeFi mới. Trong khi đó, các tiêu chuẩn token mới hơn đang mở rộng vào các trường hợp sử dụng chuyên biệt hơn. ERC-20 chính nó vẫn không thay đổi, điều này là một phần của độ bền của nó: một tiêu chuẩn đơn giản, có thể kiểm toán mà hoạt động đáng tin cậy trên toàn bộ hệ sinh thái Ethereum.

Đọc thêm

  • Ethereum là gì và nó hoạt động như thế nào?

  • Hợp đồng thông minh là gì và chúng hoạt động như thế nào?

  • Tài chính phi tập trung (DeFi) là gì?

  • Stablecoin là gì?

  • ICO (Đợt chào bán tiền điện tử ban đầu) là gì?

Tuyên bố miễn trừ: Nội dung này được trình bày cho bạn trên cơ sở "như hiện tại" chỉ để thông tin chung và mục đích giáo dục, không có bất kỳ đại diện hoặc bảo đảm nào. Nó không nên được hiểu là lời khuyên tài chính, pháp lý hoặc chuyên nghiệp khác, cũng như không có ý định khuyến nghị việc mua bất kỳ sản phẩm hoặc dịch vụ cụ thể nào. Bạn nên tìm kiếm lời khuyên từ các cố vấn chuyên nghiệp thích hợp. Khi nội dung được đóng góp bởi một bên thứ ba, hãy lưu ý rằng các quan điểm được diễn đạt thuộc về bên đóng góp thứ ba, và không nhất thiết phản ánh quan điểm của Binance Academy. Giá của tài sản kỹ thuật số có thể rất biến động. Giá trị đầu tư của bạn có thể giảm hoặc tăng và bạn có thể không lấy lại số tiền đã đầu tư. Bạn hoàn toàn chịu trách nhiệm về các quyết định đầu tư của mình và Binance Academy không chịu trách nhiệm cho bất kỳ tổn thất nào mà bạn có thể gánh chịu. Để biết thêm thông tin, hãy xem Điều khoản Sử dụng, Cảnh báo Rủi ro và Điều khoản của Binance Academy.