logo
  • Tin tức
  • Báo cáo
  • Sự kiện
  • Nổi bật
  • Coin68 TV
  • E-Magazine
  • Góc nhìn
  • Báo cáo
  • Sự kiện
  • Nổi bật
  • Coin68 TV
  • E-Magazine
  • Góc nhìn
ads

Lí giải về token ERC-20

-14/05/2018
Lí giải về token ERC-20 là gì
Bản quyền bài viết thuộc về Coin68 – Trang tin tức tiền điện tử mỗi ngày.

Token ERC-20 là gì?

Token ERC-20  là gì? Nó là dạng token được thiết kế và chỉ có thể sử dụng trên nền tảng Ethereum.
Chúng tuân theo một danh sách các yêu cầu và tiêu chuẩn để từ đó có thể mang đi giao dịch, trao đổi lấy các token khác hoặc chuyển về một ví tiền điện tử.
Theo quy định của cộng đồng Ethereum, có tất cả 9 yêu cầu, với 3 trong số đó là người dùng có quyền tự chọn, và những cái còn lại là phải bắt buộc phải có theo khung định sẵn.

Tự chọn

• Tên token
• Tên mã
• Decimal – Độ chia nhỏ nhất cho token (tối đa 18 số 0 – tương đương 1 tỉ tỉ đơn vị)

Bắt buộc

• totalSupply – tổng cung
• balanceOf – số dư tài khoản
• transfer – chuyển tiền về tài khoản
• transferFrom – chuyển tiền từ tài khoản này sang tài khoản khác
• approve – đối chiếu giao dịch
• allowance – cho phép

Thấy khó hiểu quá ư? Vậy hãy cùng chậm lại một chút.

Trước tiên, Ethereum là gì?

Ethereum là một mạng lưới máy tính phi tập trung với hai chức năng chính.
Đó là: hoạt động như một Blockchain phục vụ lưu trữ các giao dịch, và đóng vai trò như một máy ảo (virtual machine) để sản sinh ra hợp đồng thông minh smart contract.
Bởi vì hai chức năng này, Ethereum có thể hỗ trợ các ứng dụng phân quyền (Dapp). Những Dapp này được xây dựng ngay trên Blockchain Ethereum có sẵn, sử dụng công nghệ nền tảng của nó. Đổi lại, Ethereum tính phí các nhà phát triển ứng dụng dựa trên năng lực máy tính của họ bằng Ether (ETH) – đồng tiền nội bộ của Ethereum.
Tuỳ thuộc vào mục đích của mình, các Dapp có thể tạo ra token ERC-20 để làm đơn vị tiền tệ, điểm tích luỹ hay thậm chí là cổ phần công ty.

Vậy smart contract đóng vai trò như thế nào đối với Ethereum?

Cần phải lập smart contract thì mới có thể tạo nên các token ERC-20.

  • Xem thêm: Lí giải về Hợp đồng thông minh (Smart Contract)

Hợp đồng thông minh được dùng để xử lí giao dịch của token, và ghi lại số dư của token trong một tài khoản.
Smart contract được viết bằng ngôn ngữ lập trình “Solidity” dựa trên nền tảng logic nhân quả là “Nếu xảy ra điều này thì mới dẫn đến thứ kia” – “If-This-Then-That” (IFTTT).
Hãy cứ mường tượng hợp đồng thông minh như là một chiếc máy bán hàng tự động vậy.

smart contract đóng vai trò như thế nào đối với Ethereum, token ERC-20 là gì
Cách thức hoạt động của hợp đồng thông minh cũng chẳng khác máy bán hàng tự động là bao.

Đối với máy bán hàng tự động (vending machine), bạn nhét tiền của mình vào, nhấn nút và máy sẽ trả về thứ mà bạn muốn mua.
Còn đối với smart contract token ERC-20, bạn lập hợp đồng, hoạch định chi tiết các điều khoản, và mạng lưới Ethereum sẽ trả về dạng ERC-20 theo ý muốn.

Chuyện gì sẽ xảy ra sau khi smart contract tạo nên token?

Đây là lúc ERC-20 bắt đầu xuất hiện.
Sau khi token đã được tạo nên, thì nó có thể được mang đi trao đổi, tiêu xài hoặc tặng cho người khác.
ERC-20 cứ như là ngôn ngữ chung mà mọi token trên mạng lưới Ethereum sử dụng. Nó cho phép một token có thể được đem chuyển đổi với token khác.
Giả dụ chúng ta đang muốn mở một casino chỉ chấp nhận tiền số. Cũng tương tự như sòng bài ngoài đời thực, chúng ta cũng chỉ muốn người chơi phải dùng xèng riêng của nhà cái, đơn giản hoá các ván bài đến mức tối đa.
Do đó, người chơi phải đổi từ tiền mặt sang token của chúng ta và tiến đến bàn poker.

Đã hiểu được những khái niệm cơ bản rồi, sau đó thì sao nữa?

Hãy cứ tiếp tục phân tích ví dụ token ERC 20 dùng trong “casino tiền số” của chúng ta.
Chúng ta cùng quay trở lại với các yêu cầu và tiêu chuẩn của ERC-20 như đã đề cập ở trên.
Trước tiên là những yếu tố tuỳ chọn.

• Tên token: Blu Chip
• Tên mã: BLU
• Decimal – Độ chia nhỏ nhất: 2 – vậy là token của chúng ta sẽ có độ chia nhỏ nhất là 2 chữ số thập phân, tương đương với 0.01 BLU.

Và giờ là đến các yêu cầu bắt buộc – [totalSupply] của ERC-20 là gì?

[totalSupply] là hàm xác định tổng số lượng ERC-20 có thể được tạo nên.
Điều đầu tiên mà sòng bạc của chúng ta cần phải định sẵn là tổng cung BLU được phép lưu hành trong nội bộ. Giả sử bàn chơi poker của chúng ta đang có tổng cộng 10 tay chơi, mỗi người nắm trong tay 1 BLU – vậy tổng cung là 10 BLU.

Lí giải về token ERC-20
Ván poker tại casino tiền số của chúng ta đang có 10 người chơi với tổng cộng 10 token BLU đang được đặt trên bàn.

Thế còn [transfer] thì sao?

Hàm [transfer] cho phép một lượng token nhất định có thể được chuyển từ tổng cung về tài khoản người dùng.
Trước khi ván bài có thể diễn ra, thì người chơi nhận được phần BLU tương ứng với nhau từ nhà cái. Tức tài sản mỗi con bạc bây giờ đang là 1 BLU.

Lí giải về token ERC-20
Token đã được chia đều, và chúng ta hãy cùng bắt đầu đi tìm “Ai là thần bài”!

Vậy còn chức năng của [balanceOf]?

Khi hàm [balanceOf] được thựcc hiện, nó sẽ trả về số dư token mà một tài khoản đang có.
Ví dụ, trong ván poker đầu tiên, sau khi chia bài thì 5 người chơi quyết định bỏ bài, không chơi nữa. Còn 5 người kia thì quyết định cược 0.5 BLU mỗi người. Sử dụng hàm [balanceOf], ta có thể thấy đang có 5 tài khoản có số dư 1 BLU, trong khi 5 tài khoản còn lại thì chỉ sở hữu 0.5 BLU.

Lí giải về token ERC-20
Ván bài đầu tiên: 5 tay chơi bỏ bài từ sớm, nên họ vẫn giữ nguyên số tiền ban đầu của mình là 1 BLU; trong khi 5 người còn lại, mỗi người cược 0.5 BLU, nên số dư của họ chỉ còn 0.5 BLU.

Làm sao để nhận token của người khác ư? Dùng hàm [transferFrom]

[transferFrom] là hàm mà cho phép người dùng chuyển token thuộc quyền sở hữu của mình sang cho người khác.
Hay quá! Giả sử bạn thắng được ván đầu và ăn 2.5 BLU (số token đang được đặt ra trên bàn). Nhưng để lấy chúng về, bạn cần phải dùng hàm [transferFrom]. Nếu không có nó thì điều gì sẽ ngăn người khác khỏi việc ăn cắp tiền BLU của bạn?

Lí giải về token ERC-20
Người chơi được “xì vàng” thắng sớm và ăn trọn số tiền trên cả bàn, tức là 2.5 BLU.

Liệu có cách nào để người ta làm giả token được không?

Không hẳn là vậy, bởi sẽ có đó hàm [approve] để đối chiếu giao dịch lại với tổng cung token.
Nó sẽ đảm bảo rằng tổng cung token không thừa mà cũng không thiếu.
Một cách khác để bảo đảm tính trung thực của ván poker giả dụ của chúng ta là chắc chắn rằng không ai có thể gia tăng số BLU mình đang nắm giữ. Do đó, hàm [approve] sẽ kiểm tra xem thử số tiền trên bàn lúc nào cũng giữ nguyên giá trị ban đầu là bằng 10 hay không.

Liệu có cách nào để người ta làm giả token được không, token ERC-20 là gì
Để bảo đảm không có “cờ gian bạc lận”, nhà cái có thể theo dõi số lượng tiền đang được cá cược trong ván bài, chắc chắn nó luôn là 10 BLU.

Tôi có thể “nói dối” là mình có nhiều token hơn thực tế được không?

Không.
Trước khi giao dịch diễn ra, hàm [allowance] sẽ kiểm tra số dư tài khoản người dùng và tiến hành huỷ giao dịch nếu xuất hiện điều gì đó “bất hợp lý”.
Chúng ta sẽ không cho phép vay tín dụng trong casino tiền số của mình, nên phải có quy định là người chơi phải có đủ BLU mới được tiếp tục đặt cược. Nếu họ chỉ còn 1 BLU, họ sẽ không thể tham gia ván bài mà tiền cược tối thiểu là 2 BLU.

Lợi ích của token ERC-20 là gì

Về cơ bản, nó giúp mọi thứ trở nên đơn giản hơn rất nhiều.
Trước ngày token ERC-20 tới, các nhà phát triển mỗi người có thể dùng một thuật ngữ khác nhau trong mã lệnh của mình – ví dụ như một token thì dùng [totalAmount], trong khi cái khác thì lại xài [totalNumber].
Các sàn giao dịch và nền tảng ví khi ấy phải tốn thêm thời gian công sức để có thể tích hợp mã nguồn token của từng đồng tiền mới.
Tuy nhiên, với sự xuất hiện của ERC-20, một bộ khung tiêu chuẩn chung đã được vạch ra, từ đó giúp token mới gần như ngay lập tức được ghi nhận trên sàn giao dịch hay tự động chuyển về ví người dùng một khi đã được tạo nên.
ERC-20 còn giúp việc xây dựng những token mới trở nên dễ dàng hơn bao giờ hết, và đây cũng chính là lí do khiến Ethereum trở thành “bệ phóng” ICO phổ biến nhất trong năm 2017.

Thế còn các nhược điểm của ERC-20 là gì?

ERC-20 không phải là hoàn hảo.
Vẫn còn đó rất nhiều vấn đề mà tiêu chuẩn token ERC-20 không thể nào giải quyết.
Vẫn có các trường hợp mà token vô tình bị phá huỷ khi chúng được dùng để thanh toán cho hợp đồng thông minh, thay vì là bằng Ether. Theo thống kê thì giá trị số token mà đã thất thoát theo cách này đã lên đến 3 triệu USD.
Để khắc phục khiếm khuyết trên, cộng đồng Ethereum hiện đang nỗ lực để đưa ra một tiêu chuẩn mới, tên là ERC-223.
Mặc dù vậy, nó hiện vẫn chưa tương thích với ERC-20, vì thế nên các nhà phát triển vẫn được khuyên là nên tiếp tục dùng ERC-20 cho đến khi nào xử lí xong bất cập này.
Và gần đây nhất, vào tháng 04/2018, một loạt các sàn giao dịch bất ngờ ngừng hoạt động rút và gửi token trên nền tảng Ethereum vì lỗi batchOverflow. Nó được cho là có thể giúp kẻ tấn công vào mạng lưới “tự cho mình sở hữu một số lượng lớn token”.

Lý thuyết như thế là đủ rồi, những trường hợp đời thực của ERC-20 là gì?

Gần như mọi token trên nền tảng Ethereum lúc này là token ERC-20.
Con số ấy đang là 82.233 loại token ERC-20 khác nhau, và sau đây là một số cái tên nổi bật.
EOS (EOS): hiện đang là đồng tiền điện tử có vốn hoá thị trường lớn thứ 5 thế giới, đạt xấp xỉ 12 tỉ USD, đặt mục tiêu xây dựng một mạng lưới mà có thể tích hợp liên lạc nội Blockchain.
TRON (TRX): là đồng tiền xếp hạng 10 thế giới, tự mô tả mình là “một giao thức mã nguồn mở cho ngành giải trí kỹ thuật số”. Nó hiện cũng đang có mục tiêu triển khai một hệ sinh thái kết nối toàn bộ những nhà sáng tạo content lại với nhau, và chuẩn bị tách ra khỏi Ethereum để tự phát triển Blockchain của riêng mình.
VeChain (VEN): là một “nền tảng Blockchain công cộng cấp tập đoàn”, đồng tiền có vốn hoá thứ 15 thế giới này đang dự định tích hợp công nghệ Internet of Things (Vạn vật kết nối Internet) để tạo private keys cho từng sản phẩm, từ đó dễ dàng theo dõi mọi thứ hơn. VEN mới đây cũng vừa thiết lập quan hệ đối tác với PwC – một trong 4 hãng kiểm toán hàng đầu thế giới.

Theo CoinTelegraph

-14/05/2018
logo-footer
Kết nối với chúng tôi
    Coin68 là nơi cung cấp cái nhìn tổng quan nhanh và chính xác nhất về tiến bộ công nghệ blockchain trên toàn cầu.
      Copyright © 2016 by Coin68