ERC-20 là gì?
ERC-20 là token được thiết kế và chỉ sử dụng trên nền tảng Ethereum.
Chúng tuân theo một danh sách các tiêu chuẩn để chúng có thể được chia sẻ, trao đổi với các token khác, hoặc chuyển sang một ví tiền điện tử.
Cộng đồng Ethereum đã tạo ra các tiêu chuẩn này với ba quy tắc tùy chọn và sáu quy tắc bắt buộc.
Không bắt buộc
- Tên token
- Ký hiệu
- Thập phân (tối đa 18)
Bắt buộc
- totalSupply
- balanceOf
- Transfer
- transferFrom
- Approve
- Allowance
Bạn vẫn còn bối rối về những thuật ngữ trên? Hãy tiếp tục xem những giải thích dưới đây
Ethereum là gì?
Ethereum là một mạng lưới phân tán các máy tính với hai chức năng cơ bản.
Đó là: blockchain có thể ghi lại các giao dịch và một máy ảo có thể tạo ra các hợp đồng thông minh.
Bởi vì hai chức năng này, Ethereum có thể hỗ trợ các ứng dụng phi tập trung (DApps). Những DApps này được xây dựng trên blockchain Ethereum hiện có, được hỗ trợ bởi công nghệ cơ bản của Etherum. Đổi lại, Ethereum tính phí các nhà phát triển cho sức mạnh tính toán mà họ đã sử dụng, các phí này chỉ có thể được trả bằng Ether, tiền tệ liên nền tảng duy nhất.
Tùy thuộc vào mục đích, DAPPs có thể tạo các token ERC-20 hoạt động như một loại tiền tệ tương tự các điểm trong chương trình khách hàng trung thành hoặc có thể là bằng chứng về quyền sở hữu.
Vai trò của các hợp đồng thông minh
Hợp đồng thông minh được sử dụng để tạo token ERC-20.
Chúng cũng được sử dụng để hỗ trợ cho các giao dịch của các token và ghi lại số dư các token trong một tài khoản.
Hợp đồng thông minh được viết bằng ngôn ngữ lập trình “Solidity” trên cơ sở logic If-This-Then-That (IFTTT).
Điều này tương tự như một máy bán hàng tự động.
Điều gì xảy ra khi hợp đồng thông minh tạo ra một token?
Đây là nơi mà ERC-20 xuất hiện.
Sau khi một token đã được tạo, nó có thể được giao dịch, chi tiêu hoặc trao cho người khác.
ERC-20 là ngôn ngữ phổ quát mà tất cả các token được sử dụng trên mạng Ethereum. Nó cho phép một token được giao dịch với một token khác.
Hãy tưởng tượng chúng tôi muốn làm một sòng bạc crypto. Giống như trong một sòng bạc truyền thống, chúng tôi muốn người chơi của mình sử dụng chip của chúng tôi, vì mục đích đơn giản hóa các giao dịch.
Vì vậy, một người chơi sẽ đổi tiền thông thường để đổi lấy thẻ của chúng tôi và dùng nó để đi chơi poker.
Tương tự với sòng bài nhưng thực sự nó hoạt động như thế nào?
Hãy xem xét từng quy tắc cho ERC-20 trong ví dụ sòng bài crypto của chúng tôi.
Chúng rất quan trọng đối với các nhà phát triển.
Hãy bắt đầu với các quy tắc tùy chọn:
Tên token: Blu Chip
Biểu tượng: BLU
Thập phân: 2 *
* Chúng tôi muốn các token của chúng tôi có thể chia hết để số tối thiểu người chơi đặt cược là 0,01 BLU. Chúng tôi có thể để số thập phân ở 0 và tạo mức tối thiểu cho 1 BLU hoặc tăng số thập phân lên 18 dẫn đến mức phân chia thấp nhất có thể là .000000000000000001 BLU, nhưng hãy giữ cho nó đơn giản.
Nguyên tắc [totalSupply] hoạt động như thế nào?
[totalSupply] xác định tổng số token ERC-20 được tạo.
Điều đầu tiên mà casino của chúng tôi cần có là tổng số lượng token BLU đang lưu hành. Giả sử bảng poker của chúng tôi có tổng cộng 10 BLU với mười người chơi.
Còn [transfer] hoạt động như thế nào?
[transfer] cho phép một số lượng token nhất định được chuyển từ tổng nguồn cung cấp sang tài khoản người dùng.
Trước khi trò chơi có thể bắt đầu, người chơi phải nhận được BLU của họ từ người chia bài.
Mỗi người chơi nhận được 1 BLU.
Chức năng [balanceOf] dùng để làm gì?
Khi chức năng [balanceOf] được thực hiện, nó trả về số lượng token mà một địa chỉ cụ thể có trong tài khoản.
Trong vòng đầu tiên của trò chơi poker của chúng tôi, 5 trong số các người chơi nhìn vào bài của họ và quyết định không chơi. Mỗi người trong số 5 người còn lại đã quyết định đặt cược .5 BLU. Sử dụng [balanceOf], chúng tôi thấy rằng 5 trong số các người chơi có 1 BLU và 5 người có .5 BLU.
Làm sao để nhận token ERC-20 từ những người dùng khác?
[transferFrom] là chức năng cho phép người dùng chuyển token cho người dùng khác.
Tin tốt! Bạn là người chiến thắng đầu tiên và đạt được 2,5 BLU từ những người chơi khác.
Nhưng để lấy nó từ họ, bạn cần [transferFrom]. Nếu không có [transferFrom] thì làm sao ngăn cản được việc người khác trộm BLU từ bạn?
Có cách nào để tạo token giả không?
Không hẳn, bởi vì [approve] kiểm tra một giao dịch với tổng số lượng token được cung cấp
Điều này đảm bảo rằng không có token nào bị thiếu hoặc bị dư.
Một cách khác để đảm bảo tính toàn vẹn của trò chơi poker giả định là đảm bảo không ai mang thêm BLU vào bàn. Vì vậy, [approve] cho phép trao đổi bằng cách kiểm tra tổng số BLU trên bảng bằng 10.
Tôi có thể nói dối rằng tôi có nhiều token hơn số lượng thực tế tôi có không?
Không.
Bởi vì trước khi giao dịch diễn ra, chức năng [allowance] kiểm tra số dư tài khoản của người dùng và sẽ hủy giao dịch nếu không có đủ token.
Chúng tôi không cho phép tín dụng trong ‘crypto-casino’ của chúng tôi, vì vậy chúng tôi cần đảm bảo rằng mỗi người chơi có đủ số lượng BLU để đặt cược. Nếu họ chỉ có 1 BLU, thì họ không thể đặt cược 2 BLU.
Những lợi ích của ERC-20 là gì?
Về cơ bản, nó làm cho mọi thứ đơn giản hơn.
Trước token ERC-20, nhà phát triển có thể sử dụng thuật ngữ khác nhau trong mã – ví dụ:
một mã thông báo sử dụng [totalAmount] trong khi một mã thông báo khác sử dụng [totalNumber].
Sàn giao dịch và ví là cần thiết để xây dựng nền tảng phù hợp cho từng mã của token.
Với một tiêu chuẩn toàn cầu, các token mới có thể được trao đổi trên sàn hoặc chuyển giao sang ví một cách tự động, một khi nó được tạo ra.
ERC-20 cũng làm cho việc tạo ra các token mới cực kỳ dễ dàng, và đó là lý do tại sao Ethereum đã trở thành nền tảng phổ biến nhất cho ICO vào năm 2017.
Có vấn đề gì với ERC-20 không?
ERC-20 không hoàn hảo.
Có một số vấn đề mà những tiêu chuẩn của token ERC-20 không thể giải quyết được.
Có những tình huống mà các token có thể vô tình bị phá hủy khi chúng được sử dụng để thanh toán cho một hợp đồng thông minh thay vì sử dụng Ether. Ước tính 3 triệu đô la đã bị mất vì điều này.
Để khắc phục lỗi này, cộng đồng Ethereum hiện đang làm việc trên một tiêu chuẩn mới có tên là ERC-223. Tuy nhiên, các tiêu chuẩn này không tương thích với ERC-20, vì vậy các nhà phát triển được khuyến khích tiếp tục sử dụng ERC-20 cho đến khi khả năng tương thích được nhận diện.
Vào tháng 4 năm 2018, một số sàn giao dịch đã tạm ngưng các khoản tiền gửi và tiền rút của các token dựa trên Ethereum do lỗi batchOverflow. Nó được mô tả là “vấn đề tràn số nguyên cổ điển” và có khả năng cho phép kẻ tấn công “sở hữu một lượng lớn các token”.
Điều đáng lưu ý là không có phương pháp bảo mật truyền thống nào để sửa các lỗ hổng này tại thời điểm này.
Đã có đủ các giả thuyết rồi, vậy một ví dụ thực tế là gì?
Mọi token trên nền tảng Ethereum đều là token ERC-20.
Đó là số 82815 tại thời điểm thông cáo, hãy phân tích một vài trong số đó
EOS (EOS), hiện là đồng tiền điện tử lớn thứ 5 với gần 12 tỷ USD vốn hóa thị trường, đang cố gắng xây dựng một mạng lưới có thể sử dụng giao tiếp nội mạng blockchain.
TRON (TRX) được xếp hạng thứ 10 trong số tất cả các tiền kĩ thuật số tại thời điểm viết và được mô tả như là một ‘giao thức nguồn mở cho ngành công nghiệp giải trí kỹ thuật số’. Mục đích của nó là xây dựng một nền tảng nội dung với hệ sinh thái kết nối tất cả mọi người tạo ra các loại nội dung khác nhau.
Một “nền tảng công cộng khối doanh nghiệp” VeChain (VEN), nền tảng tiền điện tử thứ 15 xét về vốn hóa thị trường, đang có kế hoạch triển khai công nghệ Internet of Things (IoT) để cung cấp khóa bảo mật riêng cho mỗi sản phẩm, trợ giúp trong việc theo dõi chúng.