NỘI DUNG
Kết thúc nội dung Penetration Testing Step 3 – Các thể loại SQL injection phổ biến (Part 1), tôi định kỳ này sẽ tiếp tục chinh chiến với cái vũng lầy Pentest. Tuy nhiên, tình hình cái crypto market đổ máu đỏ chót đón tết khiến tôi sực nhớ lại đến câu chuyện còn đang dang dở với Blockchain ở nội dung Giải ngố Blockchain – Phần 4: Cơ chế đồng thuận Proof Of Work và kịch bản Bitcoin sụp đổ.
Dù nhìn thị trường crypto nhuốm máu cũng hơi thốn nhưng trên phương diện cá nhân, tôi lại khá thích những giai đoạn như thế này. Chỉ những lúc thế này, tôi mới có thể tạm gạt bỏ các yếu tố kim tiền qua một bên mà tập trung vô cái “vẻ đẹp tâm hồn” của cái đám Blockchain. Cụ thể hôm nay tôi sẽ bàn tiếp về nhân vật số 2 trong làng Blockchain là Ethereum, bàn về những điểm lý thú mà Ethereum mang lại bên cạnh những yếu tố quen thuộc đã có với Bitcoin.
#1. Trước hết Ethereum là gì cái đã
Ethereum là nền tảng điện toán phân tán mã nguồn mỡ dựa trên công nghệ Blockchain tương tự như Bitcoin. Điểm nổi bật của Ethereum so với Bitcoin là khả năng thực thi Smart Contract – Hợp đồng thông minh. Bạn có thể xem thông tin so sánh tóm lược 2 cái Blockchain đầu sỏ này như sau.
Blockchain | Bitcoin | Ethereum |
Token | BTC | ETH |
Max Supply – Tổng cung | 21,000,000 | Không |
Consensus – Quy tắc đồng thuận | Proof of Work | Proof of Work (hoặc Proof of Stake với Ethereum 2.0) |
Algorithm – Thuật toán | SHA-256 | Ethash |
Max Transaction Per Seconds – TPS – Số giao dịch tối đa trong 1 giây | 7 | 25 |
Smart Contract | No | Yes |
Ngoài ra, Ethereum cũng cho phép bạn và đặc biệt là mấy ông lập trình viên xây dựng các Decentralized Application (dapps) – Ứng dụng phi tập trung và Dencentralized Autonomous Organizations (DAOs) – Các tổ chức tự trị phi tập trung. Thông tin tóm lược về đám này như sau.
#1.1 Smart Contract – Hợp đồng thông minh
Smart Contract – Hợp đồng thông minh có thể hiểu đại khái là cái hợp động có thể tự động thực hiện theo các điều kiện thiết lập trước chứ không cần bố con thằng nào thực thi giúp. Điểm thú vị ở đây là bạn có thể dễ dàng theo dõi việc triển khai hợp đồng, ngăn chặn việc can thiệp, lật kèo cũng như bỏ qua vai trò của bên thứ ba trong quá trình bảo đảm khả năng thực thi của hợp đồng. Để làm được việc này, các điều khoản hợp đồng (bao gồm cả việc kiểm tra quá trình thực thi) cũng như dữ liệu đám tài sản, của cải liên quan phải được đưa vào các block để phân phối lên Blockchain và đẩy về các Nodes trong hệ thống. Ngoài ra, cũng như các hợp đồng thông thường, các cụ tham gia vào hợp đồng cũng phải ký xác nhận đồng ý với các điều khoản của hợp đồng, tất nhiên không phải kiểu ký thông thường, mà sẽ ký thông qua việc sử dụng private key kiểu Digital Signature như tôi đề cập trong nội dung Giải ngố Pretty Good Privacy (PGP) – Phần 3: Sử dụng PGP trong xác thực và chữ ký số như thế nào.
#1.2 Decentralized Application (dapps) – Ứng dụng phi tập trung
Decentralized Application (dapps) – Ứng dụng phi tập trung có thể hiểu đơn giản là các ứng dụng triển khai phân tán trên nhiều máy chủ. Để làm được điều này, nhìn chung dapps sẽ cần ở dạng Open Source – Mã nguồn mở để có thể tiếp cận rộng rãi bởi quần chúng nhân dân. Các thay đổi, cập nhật của dapps cần thông qua sự biểu quyết đồng thuận của quần chúng sử dụng, chứ không chơi kiểu quan liêu một ông che trời, tự ý thay đổi được. Đồng thời, các dữ liệu hoạt động của dapps cũng cần được lưu trữ phân tán kèm theo việc sử dụng token trên Blockchain tương ứng (tất nhiên phải dựa trên giải pháp kiểm soát chuẩn cmnm kiểu như Proof of Work). Bạn có thể bơi vào Decentralized applications (dapps) | ethereum.org để xem các dapps phổ biến trên Ethereum Blockchain như sau.

#1.3 Dencentralized Autonomous Organization (DAOs) – Các tổ chức tự trị phi tập trung
Dencentralized Autonomous Organization (DAOs) – Các tổ chức tự trị phi tập trung, có khả năng hoạt động tự động dựa trên các quy tắc định sẵn theo dạng code. DAOs sẽ không có bộ sậu lãnh đạo CEO, CFO,… như tổ chức thông thường mà quyền hạn sẽ phân bổ cho các thành viên (tất nhiên tùy thuộc mức độ đóng góp). Loại hình tổ chức này sẽ cho phép bạn giao lưu phối hợp góp vốn đầu tư với các giang hồ mạng khác mà không nhất thiết phải tìm hiểu rõ thân thế, chân tơ kẽ tóc của nhau.

Nguồn: ethereum.org
DAOs có thể phân chia thành hai dạng chính như sau:
- Token-based DAO với các đại diện như Bitcoin, Ethereum hoặc dạng protocol như Maker DAO, Uniswap;
- Shared-based DAO là kiểu của một nhóm chung mục tiêu ví dụ như các quỹ đầu tư.
#2. Rồi vậy thì có gì trong Ethereum Blockchain?
Cũng tương tự như các Blockchain khác, Ethereum cũng được cấu thành từ mạng lưới các Nodes máy tính (có cài đặt Ethereum Client) liên kết lại với nhau. Với Ethereum Client đã được cài đặt, các Nodes sẽ chạy Ethereum Virtual Machine – EVM để thực thi các Smart Contract.

Nguồn: ethereum.org
Và để tung tóe hoạt động trên Ethereum Blockchain, người dùng sẽ phải trả phí Gas với Ether token – ETH (đây là chỗ dễ nhầm lẫn nhất, ETH là viết tắt của Ether, native token, tạm dịch là đồng tiền gốc của Ethereum Blockchain chứ không phải viết tắt của Ethereum). Các giao dịch cũng sẽ cần được xác nhận bởi các Miner node với các kiểu Consensus – luật đồng thuận như Proof of Work của Bitcoin (hoặc Proof of Stake với Ethereum 2.0). Bước xác thực này thực chất cũng là quá trình giải toán với kết quả là sinh ra block mới Ethash với đặc tính không thể thay đổi để duy trì yếu tố Integrity – toàn vẹn.
Như vậy bạn cần nhớ Ether hay ETH là đồng tiền chính thức theo Token Standard ERC-20, dùng làm gas trên Ethereum Blockchain. ETH cũng được dùng làm phần thưởng cho miner tương tự như Bitcoin tuy nhiên cần lưu ý là ETH không giới hạn lượng cung “21 trẹo” như Bitcoin.
#3. Khoan! ERC là cái vẹo gì?
#3.1 ERC – 20, chuẩn mực ứng xử trên Ethereum Blockchain
Ethereum Request for Comments – ERC là kiểu bộ quy tắc ứng xử trên Ethereum Blockchain, giúp bạn và mấy ông lập trình viên biết đường triển khai Smart Contract trên nền tảng này. Cụ thể ERC-20 là bộ quy tắc chung cho việc phát hành token trên Ethereum Blockchain để có chuẩn chung khi triển khai Fungible Token (tạm dịch là token có thể hoán đổi, ví dụ bạn có thể đổi tờ 500k của bạn với tờ 500k của người khác mà vẫn duy trì được giá trị tờ tiền, tất nhiên điều này chỉ đúng khi bạn không vớ trúng tiền giả).
ERC-20 bao gồm 6 yêu cầu bắt buộc:
- totalSupply: Tổng số token phát hành;
- balanceOf: Khả năng kiểm tra số dư token trong wallet (ví);
- transfer: Khả năng chuyển token vào ví người dùng;
- transferFrom: Khả năng chuyển token từ ví người dùng;
- approve: Khả năng kiểm tra các giao dịch và so với tổng nguồn cung để bảo đảm lượng chính xác token;
- allowance: Khả năng kiểm tra số dư token của ví để xác định có đủ token để chuyển hay không.
Và 3 yêu cầu tùy chọn bao gồm:
- Token Name: Tên token;
- Symbol: Ký hiệu token;
- Decimal: Số thập nhỏ nhất được hỗ trợ của token.
Ví dụ, bạn có thể kiểm tra thử Contract của Tether USD trên etherscan kiểu như sau:

#3.2 ERC – 721, nguồn cội cho đám Non Fungible Tokens mới nổi
Với ERC – 721, bạn sẽ có bộ tiêu chuẩn để triển Non Fungible Tokens (đại khái là hàng độc, là riêng, duy nhất, có 102) trên Ethereum Blockchain. Đại diện nổi tiếng trong đám này là CryptoKitties, ứng dụng nuôi mèo ảo hay ngôi sao đang lên gần đây là game Axie Infinity. Bạn có thể xem thêm thử thông tin minh họa liên quan tại Axie (AXIE) Token Tracker | Etherscan.

Thông tin liên quan đến đám này khá lí thú tuy nhiên sẽ hơi tốt giấy mực nên tôi xin tạm kết thúc nội dung kỳ này ở đây. Trong các kỳ tới, tôi sẽ sắp xếp giới thiệu lần lượt các nội dung liên quan sau.
1 thought on “Giải ngố Blockchain – Phần 5: Đã có Bitcoin sao còn đẻ ra Ethereum làm gì?”