ERC-1155 là một tiêu chuẩn token trên Ethereum cho phép tạo và quản lý nhiều loại token, bao gồm cả token có thể thay thế (fungible) và không thể thay thế (non-fungible) trong cùng một smart contract. ERC-1155 kết hợp các tính năng của ERC-20 (dành cho fungible token) và ERC-721 (dành cho non-fungible token) để mang lại sự linh hoạt và hiệu quả hơn. Hãy cùng Block24 tìm hiểu cụ thể hơn thông qua bài viết này nhé.

ERC-1155 là gì?

ERC-1155 là tiêu chuẩn token trên Ethereum được giới thiệu bởi đội ngũ của Enjin (một dự án game blockchain và NFT) vào năm 2018, nhằm khắc phục các hạn chế của ERC-20 và ERC-721. Điểm đặc biệt của ERC-1155 là nó cho phép một smart contract duy nhất quản lý nhiều loại token khác nhau, gồm cả token có thể thay thế (FT) lẫn token không thể thay thế (NFT), và thậm chí cả semi-fungible token (SFT, chứa cả 2 thuộc tính). Đây là một trong những tiêu chuẩn ERC phổ biến, được sử dụng trong nhiều lĩnh vực khác nhau,

Lịch sử & nguồn gốc ra đời

ERC-1155 ra đời từ nhu cầu thực tiễn trong lĩnh vực game blockchain, khi các tiêu chuẩn token trước đó bộc lộ nhiều hạn chế.

Trước năm 2018, Ethereum đã có ERC-20 cho token có thể thay thế (FT) như ETH, USDT, USDC,… và ERC-721 cho token không thể thay thế (NFT) như CryptoKitties. Tuy nhiên, cả hai tiêu chuẩn này đều chỉ xử lý được một loại tài sản trong một contract, nếu triển khai song song nhiều loại thì sẽ rất tốn kém và phức tạp.

Với các tựa game blockchain có hàng trăm vật phẩm (loại thường, loại đặc biệt,...) và tiền tệ trong game, việc dùng nhiều contract riêng biệt dẫn đến phí gas cao, quản lý phức tạp, và hạn chế khả năng giao dịch hàng loạt. Enjin, một nền tảng game blockchain hoạt động từ năm 2017, đã đề xuất giải pháp về ERC-1155 để khắc phục những hạn chế này.

Trong quá trình xây dựng Enjin Platform và phát triển hệ thống vật phẩm cho game blockchain, đội ngũ dự án nhận thấy cần một chuẩn token đa năng hơn, có thể quản lý cả FT, NFT và SFT chỉ trong một smart contract. Mục tiêu là vừa tiết kiệm phí giao dịch, vừa đơn giản hóa quy trình phát hành, di chuyển, và giao dịch nhiều loại tài sản cùng lúc, đồng thời đảm bảo tính linh hoạt cho nhà phát triển.

Tháng 6/2018, Witek Radomski (CTO của Enjin) đã công bố đề xuất EIP-1155 trên GitHub Ethereum. Sau quá trình thảo luận và chỉnh sửa cùng cộng đồng, EIP-1155 được chính thức phê duyệt vào tháng 6/2019 và trở thành tiêu chuẩn ERC-1155. Kể từ đó, tiêu chuẩn này nhanh chóng được áp dụng rộng rãi, đặc biệt trong mảng game blockchain, NFT collections, và các ứng dụng cần quản lý đa dạng token.

Một đoạn nội dung của đề xuất EIP-1155 trên GitHub Ethereum (Nguồn: Github)
Một đoạn nội dung của đề xuất EIP-1155 trên GitHub Ethereum (Nguồn: Github)

Cơ chế hoạt động

ERC-1155 hoạt động giống như một kho đa năng chứa đủ mọi loại “vật phẩm” khác nhau, thay vì phải xây nhiều kho riêng lẻ như ERC-20 hay ERC-721.

Mỗi loại vật phẩm trong kho sẽ có một mã số riêng gọi là tokenId. Ví dụ:

  • tokenId = 1: Tiền vàng trong game (có thể thay thế, ai giữ cũng giống nhau).
  • tokenId = 42: Thanh kiếm huyền thoại duy nhất (không thể thay thế).
  • tokenId = 100: Vé concert (ban đầu giống nhau, nhưng sau khi sự kiện kết thúc thì mỗi vé trở thành vật kỷ niệm khác nhau).

Khi muốn gửi token ERC-1155 cho ai đó, bạn cần cho smart contract biết muốn gửi số lượng bao nhiêu và của tokenId nào:

  • Nếu chỉ gửi các token cùng loại -> dùng hàm safeTransferFrom.
  • Nếu gửi nhiều loại token cùng lúc -> dùng hàm safeBatchTransferFrom (giúp tiết kiệm phí gas vì gộp tất cả vào một giao dịch).

Ngoài ra, mỗi tokenId có thể gắn với một đường link thông tin (URI), nơi lưu hình ảnh, tên và mô tả của tài sản kỹ thuật số (mà NFT đại diện). URI giúp ví và marketplace hiển thị NFT một cách trực quan trên internet.

Tóm lại, ERC-1155 như một chiếc vali đa ngăn, mỗi ngăn chứa một loại token khác nhau, bạn có thể cất giữ, mang đi, trao đổi, và sắp xếp tất cả chúng chỉ với một contract duy nhất, vừa gọn gàng vừa tiết kiệm chi phí.

Cơ chế hoạt động của ERC-1155
Cơ chế hoạt động của ERC-1155

Ứng dụng thực tế của ERC-1155

ERC-1155 có nhiều ứng dụng thực tế vì nó vừa hỗ trợ fungible token, vừa hỗ trợ non-fungible token, và cả semi-fungible token. Cụ thể:

  • Game blockchain: Giúp quản lý tiền tệ (FT), vật phẩm hiếm (NFT), và các vật phẩm đặc biệt (SFT) chỉ bằng một contract để tiết kiệm phí gas và thuận tiện hơn so với việc dùng ERC-20 và ERC-721 riêng biệt.
  • Bộ sưu tập NFT nhiều loại: Thay vì triển khai nhiều smart contract cho mỗi loại NFT khác nhau, ERC-1155 cho phép lưu toàn bộ trong một contract duy nhất.
  • Coupon & thẻ quà tặng: Các mã giảm giá, phiếu quà tặng có thể được phát hành dưới dạng FT hoặc SFT, tùy mục đích sử dụng. Một hợp đồng ERC-1155 sẽ quản lý nhiều loại mã giảm giá cùng lúc.
  • Sản phẩm vật lý kết hợp NFT: Mỗi tokenId đại diện cho một sản phẩm thật, có thể là hàng sản xuất hàng loạt (FT) hoặc sản phẩm đặc biệt giới hạn (NFT).
  • Marketplace đa dạng tài sản: Một sàn giao dịch có thể listing và cho phép giao dịch nhiều loại token (FT, NFT, SFT) từ cùng một hợp đồng ERC-1155, giúp giảm phí vận hành và tăng tốc độ.
Các sàn NFT như Opensea có thể listing nhiều loại token khác nhau
Các sàn NFT như Opensea có thể listing nhiều loại token khác nhau

Ưu điểm & hạn chế

Ưu điểm của ERC-1155

  • Quản lý nhiều loại token trong một contract: Hỗ trợ FT, NFT, và SFT cùng lúc, giúp tiết kiệm thời gian triển khai, chi phí sử dụng, vận hành, và bảo trì.
  • Cho phép giao dịch hàng loạt (Batch transfer): Chuyển nhiều loại token trong cùng một giao dịch, giúp tiết kiệm phí gas đáng kể.
  • Tiết kiệm tài nguyên mạng: Giảm số lượng contract cần triển khai, từ đó giảm tải cho blockchain, tránh nghẽn mạng và phí giao dịch tăng cao.
  • An toàn khi gửi token: Chỉ gửi token vào smart contract nếu nó hỗ trợ chuẩn ERC-1155, tránh bị mắc kẹt hoặc mất tài sản khi gửi nhầm.
  • Linh hoạt trong thiết kế: Có thể chuyển đổi linh hoạt trạng thái token, từ FT sang NFT (SFT) hoặc ngược lại, dựa trên sự kiện hoặc thời gian.
  • Quản lý metadata hiệu quả: Mỗi tokenId có thể có URI riêng, thuận tiện cho NFT và các vật phẩm có thông tin riêng biệt.
TokenID và URI tương ứng của một NFT trên sàn Opensea
TokenID và URI tương ứng của một NFT trên sàn Opensea

Hạn chế của ERC-1155

  • Phức tạp hơn cho người mới: Việc sở hữu cả 2 tính năng của ERC-20 và ERC-721 khiến cho việc lập trình và sử dụng ban đầu khó khăn hơn.
  • Chưa tương thích 100% với ví và dApps: Dù hiện tại đã phổ biến hơn, nhưng một số ví và marketplace vẫn chủ yếu tối ưu cho ERC-721 thay vì ERC-1155.
  • Khó phân biệt FT và NFT: Không có quy tắc cụ thể để nhận biết tokenId nào là FT, NFT, hay SFT, phải dựa vào nội dung của contract.
  • Tính chuẩn hóa ở cấp độ ứng dụng chưa cao: Các dự án có thể triển khai cách dùng ERC-1155 khác nhau, gây khó khăn cho việc tương thích về sau.

Cách kiểm tra một token có phải ERC-1155 hay không

Cách chính xác nhất để kiểm tra trên loại tiêu chuẩn token là dùng blockchain explorer của mạng tương ứng. Các bước cụ thể như sau:

Bước 1: Truy cập explorer tương ứng với blockchain của token (Etherscan, BscScan, PolygonScan...)

Bước 2: Dán địa chỉ smart contract của token vào ô tìm kiếm.

Bước 3: Kiểm tra phần contract/code, ở phần Contract Source Code (Solidity), tìm kiếm dãy ký tự “0xd9b67a26”, nếu thấy xuất hiện kết quả trong mã nguồn thì đó là token chuẩn ERC-1155.

Kiểm tra tiêu chuẩn token qua mã nguồn trên blockchain explorer
Kiểm tra tiêu chuẩn token qua mã nguồn trên blockchain explorer

Hoặc bạn cũng có thể kiểm tra phần contract/read contract, mở mục supportsInterface, nếu nhập 0xd9b67a26 và trả về true -> token đó là ERC-1155.

Kiểm tra tiêu chuẩn token qua contract trên blockchain explorer
Kiểm tra tiêu chuẩn token qua contract trên blockchain explorer

FAQ

Ai đã phát triển ERC-1155?

Tiêu chuẩn này được đề xuất bởi Witek Radomski, CTO của Enjin, vào năm 2018 để giải quyết hạn chế của ERC-20 và ERC-721 trong game blockchain.

ERC-1155 có thể dùng trên các blockchain khác ngoài Ethereum không?

Có. Nhiều blockchain tương thích EVM như Polygon, BNB Chain, Avalanche,... cũng hỗ trợ ERC-1155.

Semi-fungible token là gì?

Đây là loại token có thể thay thế ở một giai đoạn, sau đó trở thành không thể thay thế ở giai đoạn khác, thường được ứng dụng trong vật phẩm trong game.

ERC-1155 có được dùng nhiều ngoài lĩnh vực game không?

Có. Ngoài game, ERC-1155 còn được ứng dụng trong vé sự kiện, quyền sở hữu tài sản số, nghệ thuật số, và RWA.

ERC-1155 có nhược điểm gì?

Việc triển khai ERC-1155 phức tạp hơn ERC-20 và ERC-721, ngoài ra, một số ví và marketplace chưa hỗ trợ đầy đủ cho tiêu chuẩn token này.