ERC20 và ERC721

Phân biệt ERC20 và ERC721

Giải thích đơn giản các thông tin kỹ thuật của ERC20 và ERC721.

Các torken dựa trên nền tảng Ethereum được phổ biến từ 2016-2017 khi được áp dụng rộng rãi cho các ICO. Sau đó, vào nằm 2017, Token trên nền Ethereum bắt đầu được dùng như vật phẩm game, giống mô hình của game CryptoKitties.

Một trong những tính năng thú vị của các loại token là có thể dùng để trao đỗi với nhau. Nếu tôi mua một token, tôi muốn có thể trao đổi hoặc bán thành Ether. Để có được tính năng đó, chúng ta cần chuẩn hoá các token. Và ERC (Ethereum Request for Comments) được tạo ra vì điều đó. Lấy cảm hứng từ một tiêu chuẩn nổi tiếng của Internet là RFCs (Request For Comments), ERC là hệ thống mở và mang tính cộng đồng khi mà mọi người có quyền khởi tạo và chú giải các điều khoản cho `hợp đồng thông minh` cũng như các token.

Có nhiều tiêu tuẩn ERC, nhưng hiện tại có hai loại phổ biến nhất là ERC20 và ERC721. Cả hai được sử dụng một cách độc lập để điện diện cho những tài sản thây thế được và những tài sản không thây thế được. Bạn sẽ thấy cách hoạt động của hai tiêu chuẩn này bằng cách chia nhỏ cấu trúc của ERC20 và ERC721.

Khác biệt giữa tài sản thay thế được và tài sản không thay thế được

Trong thế giới của đồng Etherum, các tài sản củng được chia thành thay thế được và không thay thế được.

Tài sản thây thế được được thể hiện bằng token ERC20. Các token này đại diện quyền sở hửu trong các dự án, phiếu giảm giá thuê quyền sử dụng dịch vụ, hoặc các token quản lý.

Các tài sản không thây thế được được thể hiện bằng token ERC721. Hiện tại, các ứng dụng quan trọng nhất của các token ERC721 là vật phẩm game. Điển hình nhất là game CryptoKitties, nơi bạn có thể thu thập và nuôi dưởng các chú mèo ảo, mỗi chú mèo được đại diện bằng một token ERC721. Token hóa khi ứng dụng thực tế trong đời thực trong tương lai, ví dụ như nhà cửa, có thể dùng ERC721.

Tiền ảo trong tiền ảo

Trước khi nói sâu hơn vào thông số kỹ thuật của ERC20 ERC721, một điều bạn cần biết là token được sinh ra và tồn tại trong hợp đồng thông minh (smart contract), và hợp đồng thông minh thì tồn tại trong blockchain của Ethereum. Có thể nói token là tiền ảo trong tiền ảo.

Bản thân blockchain Ethereum không có token từ hai tiêu chuẩn ERC20 và ERC721. Đối với Ethereum, token chỉ là những biến số được định nghỉa trong hợp đồng thông minh. Nó chỉ là hợp đồng được viết bởi con người, và con người này có quyết định quy định giá trị cho những biến trong hợp đồng thông minh.

Tới thời điểm này, những gì chúng ta nói về ERC20 và ERC721 chỉ là phát thảo sơ khởi, nhưng vài phần tới chúng ta sẽ nói sâu hơn về những tiêu chuẩn này, và cách hoạt động của chúng.

Tiêu chuẩn ERC20

Tiêu chuẩn ERC20 được tạo ra bởi Fabian Vogelsteller vào năm 2015. Bộ tài liệu về tiêu chuẩn này được dẩn trong link sau. Nhằm mục đích rút gọn, chúng ta sẽ chỉ nêu ra những phần quan trọng nhất.

Đầu tiên, chúng ta chỉ định nghĩa những phần tiếp nhận của hợp đồng thông minh, và không nói về phần xử lý các tiếp nhận đó.

Khi bạn vào McDonald's và mua một bánh burge, bạn chỉ cần nói với người thu ngân loại bánh bạn cần, nhưng bạn không nói thật chi tiết như làm sao nướng một cái burger. Trong nhà bếp, đầu bếp biết mình phải làm gì. Mua bánh là phần tiếp nhận của cửa hàng Mcdonald, và nướng burger là phần xử lý (xử lý tiếp nhận).

Trong những hợp đồng thông minh, các đoạn mã được quản lý trong những nhóm logic được gọi là hàm (function). Phần tiếp nhận của hợp đồng thông minh là một phần mô tả hành động của các hàm, và phần xử lý tiếp nhận là mã (lập trình) thực sự của những hàm đó.

Một token ERC20 là một hợp đồng thông minh tuân thủ tiêu chuẩn ERC20. Thực tế, điều này có nghĩa là những hàm trong hợp đồng thông minh phải tuân theo những định nghĩa trong tiêu chuẩn ERC20.

Nếu muốn hiểu tiêu chuẩn ERC20, chúng ta cần phải nhìn qua các hàm tiếp nhận được định nghĩa bởi tiêu chuẩn này.

Có hàm quy định thông tin để mô tả hợp đồng thông minh bao gồm:

  • name - quy định tên
  • symbol - quy định ký hiệu
  • decimals - quy định bao nhiêu số thập phân

Bất kỳ ai gọi những hàm đó. Hợp đồng thông minh sẽ trả kết quả với thông tin tương ứng mà nó có được.

Hệ thống kế toán chiếm phần lớn trong tiêu chuẩn ERC20. Một token ERC20 quản lý các địa chỉ Ethereum và số lượng token trong một sổ cái, giống như ngân hàng quản lý các khách hàng của mình và tiền mặt bằng một sổ cái.

Trong khi một ngân hàng quản lý dữ liệu trong sổ cái này theo cách truyền thống, thì token ERC20 quản lý bằng những biến trong hợp đồng thông minh. Nếu bạn chưa bao giờ nghe về biến số trong lập trình, thì chúng đơn giản là những ô có thể đưa dữ liệu vào và lấy dữ liệu ra.

Bên cạnh lưu trữ các token, một token ERC20 phải còn có thể chuyển các token. Để làm như vậy, có hai hàm trong tiêu chuẩn ERC20 là:

  • transfer
  • transferFrom

Tại sai lại cần hai mà không phải một?

Hàm đầu tiên cho phép người sở hửu token (định danh bởi địa chỉ Ethereum) để chuyển token cho địa chỉ Ethereum khác. Hệ thống thuật toán trong blockchain Ethereum sẽ đảm bảo người sở hữu thực sự kích hoạt hàm đó.

Hàm thứ hai cho phép địa chỉ Ethereum bên thứ ba thay mặt người sở hữu chuyển token. Nó cũng rất giống thẻ tính dụng, khi mà người bán được cho phép thanh toán trên danh nghĩa người sở sửu thẻ. Khác ở đây là với token ERC20 chúng ta chỉ cho phép chuyển một lượng token nhất định, không phải là một lượng lớn hay không giới hạn như thẻ tính dụng.

Tiến trình thanh toán bên thứ ba chỉ bao gồm 2 bước:

  1. Đầu tiên, người sở hửu cho phép bên thứ ba gửi số token trên danh nghĩa của họ.
  2. Sau đó, người được cho phép có thể gửi toàn bộ số token được cho phép này. Chúng có thể được gửi cho bất kỳ địa chỉ Etthereum nào.

Nếu bạn sử dụng các sàn tiền ảo như IDEX, bạn có thể thấy cơ chế đó. Điều này giải thích tại sao bạn cần phải thực hiện nhiều giao dịch khi mua bán với họ.

Tiêu chuẩn ERC721

Tiêu chuẩn này được giới thiệu lần đầu vào cuối năm 2017 bằng một tựa game nổi tiếng là CryptoKitties. Như đã nói trước đó, trong game này, người cho thu thập những chú mèo ảo, mỗi chú mèo ảo này được đại diện bằng token ERC721.

Vậy nó khác gì với token ERC20? token ERC20 là đại diện cho một tài sản nào đó, token ERC721 đại diện cho một nhóm tài sản. Trong game CryptoKitties, hợp đồng thông minh tạo ra token ERC721 đại diện cho toàn bộ chú mèo trong game, cũng như người sở hữu mèo.

Khi so sánh ERC721 với ERC20, khác biệt là phân quyền đơn giản hơn: người chơi có toàn quyền sở hữu tài sản, hoặc không. Ví dụ bạn không thể sở hữu chỉ nữa chú mèo trong CryptoKitties. Đó là lý do tại sao chúng ta nói ERC721 là tiêu chuẩn cho tài sản không thay thế được.

Đó là điều quan trọng nhất trong tiêu chuẩn ERC721. Phần còn lại của tiêu chuẩn rất giống tiêu chuẩn ERC20, nhất là phần chuyển token. Thông số kỹ thuật của những hàm trong tiêu chuẩn được nêu rõ trong tài liệu mô tả tiêu chuẩn của ERC721.

Kết luận

ERC20 và ERC721 đang được hoàn thiện. Cả hai có những vấn đề kỹ thuật riêng và không ngừng được thảo luận để cải tiến. Điển hình như là ERC20 có thể mất token trong ví nếu ví nhận hoặc hợp đồng thông minh khác không tương thích với ERC20. ERC223 và eRC777 được tạo ra để hạn chế vấn đề đó. Với ERC721, việc tốn quá nhiều phí khi gửi nhiều tài sản là một trở ngại, và người ta tạo ra tiêu chuẩn ERC721x để sửa vấn đề đó.

Nguồn

Tags