Phác họa bài post:
1. Libra Association.
2. Ví tiền ảo.
3. Libra Blockchain.
4. Libra Node (Validator).
5. Đúc (hủy) tiền ảo.
6. Proof-of-Work vs. Proof-of-Stake.
7. Lập trình trên Blockchain.
-
Hôm 18/06/2019, trên mạng xã hội Facebook, Mark Zuckerberg
thông báo sự ra đời của Hiệp hội Libra (Libra Association) và đồng tiền ảo
Libra (https://www.facebook.com/zuck/posts/10107693323579671).
Nhiều tờ báo mô tả đây là thông tin “địa chấn”, rất nóng (“hot”). Nhân sự kiện
này, xin gửi tới anh/chị tóm lược so sánh Libra với 2 đồng tiền ảo đi trước là
Bitcoin và Ethereum trong lúc anh/chị nhâm nhi cà phê. Đảm bảo với anh/chị hết
cà phê là hết nhàn đàm!
Trong bài viết này tôi chỉ bàn về “kỹ thuật”, còn các tác động
khác của đồng Libra thì xin không đề cập. Dù sao thì đồng Libra chưa tồn tại
mà, hãy để đến đầu năm 2020 anh/chị sẽ có dịp trải nghiệm xem nó thế nào!
Còn về mặt “công nghệ”, rất dễ nhận thấy Libra mượn ý tưởng
chính từ Bitcoin và Ethereum. Tất nhiên, trong quá trình tiến hóa, người đi sau
mượn ý tưởng của người đi trước là chuyện bình thường (bản thân Ethereum cũng
mượn ý tưởng từ Bitcoin).
≋|₿|Ξ
1. Libra Association.
Mọi người cứ mặc nhiên gán Facebook đưa ra tiền ảo Libra,
nhưng trên thực tế đây là Hiệp hội Libra đưa ra đấy chứ 😊.
Không tin anh/chị đọc “Sách Trắng Libra” - Libra White Paper (https://libra.org/en-US/white-paper/)
mà xem! Đáng kể nhất về các thành viên của hiệp hội này có 2 tên tuổi mà chắc
anh/chị ai cũng biết, đó là Mastercard và Visa.
- Điểm này Libra khác hẳn Bitcoin. Libra làm rầm rộ, lôi kéo
đủ các loại đối tác. Còn Bitcoin? Chỉ một mình Satoshi Nakamoto lặng lẽ tạo ra
Bitcoin và Blockchain, rồi sau đó cũng lặng lẽ rút lui và “biến mất”.
- Libra khởi động có vẻ hơi giống cách Ethereum. Năm 2014
khi công bố ra mắt Ethereum có một danh sách dài các thành viên sáng lập. Đến
năm 2017, Ethereum lập liên minh Enterprise Ethereum Alliance (EEA) với
150 thành viên.
<Ngoài lề>
Chữ “Libra” đọc na ná như chữ “Libre”
trong tiếng Pháp. Nghĩa của từ “Libre” trong tiếng Pháp là “Tự do”. Có lẽ họ
hàm ý đây là đồng tiền “Tự do” chăng?
</Ngoài lề>
≋|₿|Ξ
2. Ví tiền ảo.
Cũng trong thông báo trên, Mark Zuckerberg cho biết Facebook
sẽ cấp ví điện tử cho người dùng với tên gọi là Calibra. Libra giống Bitcoin ở
điểm là đều sử dụng công nghệ Blockchain. Blockchain lưu “tài khoản” là cặp
khóa Public – Private (mỗi tài khoản giữ một cặp chìa khóa gồm chìa khóa bí mật:
private key và chìa khóa công khai: public key). Tất nhiên, một người dùng có
thể có nhiều ví điện tử. Khái niệm trên được đưa ra bởi Satoshi Nakamoto. Về điểm
này thì Libra đồng nhất với Bitcoin và cả Ethereum: không lưu định danh người
dùng trong blockchain, chỉ lưu “địa chỉ tài khoản” – mời anh/chị tham khảo
thêm: https://developers.libra.org/docs/life-of-a-transaction
≋|₿|Ξ
3. Libra Blockchain.
Chúng ta còn nhớ là Satoshi Nakamoto tạo ra blockchain sau mỗi
10 phút và khối sau là hàm số “băm” (hàm hashcash) của khối trước ghép với độc
số nonce. Blockchain của Libra chọn một cách tiếp cận khác: mỗi một giao dịch sẽ
tạo ra một “lá” (leaf) mới của Cây Merkle (xem https://en.wikipedia.org/wiki/Merkle_tree:
cấu trúc Cây Merkle giống cấu trúc Cây thông thường chỉ đặc biệt ở chỗ là tất cả
các nút và lá đều là kết quả các hàm băm – hash function.) Có thể nói Satoshi
Nakamoto tạo ra blockchain là một cấu trúc “List”, còn Libra tạo ra blockchain
là một cấu trúc “Tree”. Cách tiếp cận này Libra giống Ethereum, cải tiến hơn “một
tẹo” so với Bitcoin. (Độ phức tạp tính toán của cấu trúc “List” là O(N), trong
khi độ phức tạp tính toán của cấu trúc “Tree” là O(log(N)) – trong đó N là số
block.)
≋|₿|Ξ
4. Libra Node (Validator).
Trong Bitcoin của Satoshi Nakamoto, sổ cái (Ledger) được lưu
giống hệt nhau ở hàng chục ngàn nút (Node). Mỗi một giao dịch mới sẽ được “đại
đa số” các nút cùng xác nhận. (“Đại đa số”, theo hệ thống Byzantine Fault
Tolerance, là đạt được trên 2/3 tổng số nút.) Các nút ở trong Bitcoin hoàn toàn
tự do được tạo ra, miễn là phải có Proof-of-Work. Libra phân biệt hai loại nút
(Node - còn được gọi là Validator): loại Permissioned (đã được cấp phép) và loại
Permissionless (không được cấp phép). Hiện tại chỉ có loại nút đã được cấp phép
mới có quyền xác nhận giao dịch. Mỗi một nút được cấp phép là “cơ sở dữ liệu
phân tán” do một thành viên của hiệp hội Libra vận hành! Trong tương lai, Libra
sẽ chuyển dần sang nút Permissionless. Nhưng đó là tương lai. Đây là điểm còn
“kém” của Libra so với hệ thống Bitcoin của Satoshi Nakamoto: tất cả ngay từ đầu
là Permissionless! Cách tiếp cận này Libra giống Ethereum, khác “một tẹo” so với
Bitcoin.
≋|₿|Ξ
5. Đúc (hủy) tiền ảo.
Chúng ta biết rằng cả hai hệ thống Bitcoin và Ethereum, người
dùng phải “đào mỏ” (mining) mới “khai quật” được tiền ảo. Libra thì sao? Người
dùng muốn có tiền phải đổi tiền “thật” sang đồng Libra. Libra có cả Ngân hàng
Trung ương Libra (Libra Reserve) anh/chị ạ! Đổi tiền “thật” với tiền ảo “Libra”
giống như đổi tiền lúc đi du lịch nước ngoài vậy (chắc trong tương lai phải có
quầy phục vụ đổi tiền Libra chứ nhỉ 😊). Khi đổi tiền “thật” sang đồng Libra thì
Libra Reserve sẽ nhập một lượng tiền tương đương và ghi vào ví điện tử của người
dùng đúng bằng lượng tiền Libra Reserve nhập vào. Quá trình này gọi là đúc tiền
(minted). Ngược lại, khi người dùng đổi tiền Libra ra tiền “thật” thì một lượng
Libra tương đương sẽ bị hủy (burned).
Hiện nay các thành viên của Hiệp hội Libra đóng góp một khoản
tương đương 10 triệu đô la Mỹ. Sau khi đóng góp mỗi thành viên nhận được Libra
Investment Token (một dạng chứng nhận đầu tư vào Libra). Đây là điểm khác
biệt rõ nhất của Libra so với Bitcoin và Ethereum.
≋|₿|Ξ
6. Proof-of-Work vs. Proof-of-Stake.
Để bảo vệ blockchain, chống lại việc kẻ gian có thể tấn
công, Satoshi Nakamoto đã tạo ra một khái niệm có tên gọi là Proof-of-Work: Để
tạo ra khối tiếp theo, người đào mỏ phải tạo ra một kết quả “băm” (hàm hashcash
tác động lên khối ngay đằng trước và độc số nonce) và phải nhỏ hơn một ngưỡng
quy định. Vì hàm số băm không có hàm giải ngược nên người “đào mỏ” chỉ mỗi một
cách là biến đổi dần số nonce và kiểm tra từng kết quả. Việc này đòi hỏi rất
nhiều tính toán. Đây là điểm bị chỉ trích của Bitcoin: lãng phí về lượng tính
toán (hàng chục nghìn hệ thống cùng làm một việc giống nhau và độc lập với
nhau) và không có cơ chế hợp tác của những người “đào mỏ”.
- Hệ thống Ethereum lúc đầu cũng cùng nguyên tắc với Bitcoin
(nghĩa là sử dụng Proof-of-Work). Nhưng Ethereum sẽ chuyển sang một khái niệm mới
gọi là Proof-of-Stake. Trong hệ thống Proof-of-Stake, người “đào mỏ” sẽ được
thay bằng “Validator” (người xác nhận). Trong hệ thống này người xác nhận không
cần giải bài “đánh đố” hàm hashcash, nhưng phải đặt cược một lượng tiền ảo
(Ether). Nếu có hành vi gian lận thì lượng tiền này sẽ bị mất. Tiền thưởng cho
Validator là phí giao dịch. Người chuyển tiền phải trả phí giao dịch (cái này
giống ngân hàng 😊). Phí giao dịch và lưu trữ trong Ethereum được
gọi là Gas Price (Gas là khái niệm ảo, không có thật trong đời thường).
- Hệ thống Libra sử dụng Proof-of-Stake và nhiều khái niệm của
hệ thống Ethereum. Chú ý rằng Proof-of-Stake kém an toàn hơn Proof-of-Work, dễ
bị tấn công. Và đã gọi là có “người xác nhận” thì hệ thống này chưa thực sự
“phân tán” theo đúng nghĩa của nó.
≋|₿|Ξ
7. Lập trình trên Blockchain.
Để thực hiện các giao dịch trên blockchain, mỗi một hệ thống
có “ngôn ngữ lập trình” riêng.
- Bitcoin sử dụng ngôn ngữ kịch bản Bitcoin Script.
Công việc chính của lập trình trên blockchain của Bitcoin là xử lý giao dịch:
chuyển Bitcoin từ A đến B.
- Ethereum sử dụng Ethereum Virtual Machine bytecode
(EVM). Hệ thống Ethereum đã mở rộng tính năng của blockchain, không đơn
thuần chỉ dùng trong thanh toán. Hệ thống Ethereum đưa Smart Contract vào để lập
trình trên blockchain. Ngôn ngữ EVM có nhiều tính năng hơn Bitcoin Script: có
thể tạo cấu trúc dữ liệu, có vòng lặp, có định nghĩa các thủ tục (user-defined
procedure) và gọi hàm. Tuy nhiên, tính “mở” của EVM lại vô tình có thể tạo ra
nhiều lỗi lập trình, thiếu tính tự kiểm duyệt logic giữa đầu vào và đầu ra như
của Bitcoin Script.
- Libra sử dụng ngôn ngữ lập trình trên blockchain có tên là
Move: first-class assets, flexibility, safety, and verifiability.
Lập trình trên Libra tương tự như trên Ethereum: xử lý giao dịch và Smart
Contract. Trong ngôn ngữ Move, Smart Contract được đặt tên là Module.
Nói gọn lại, Libra có vẻ như tích hợp các ưu điểm của
Bitcoin và Ethereum, nhưng kém “ảo” hơn, chưa thoát ra khỏi hoàn toàn … a
middleman.
Tôi tin là anh/chị đã hoàn tất tách cà phê của mình.
Không có nhận xét nào:
Đăng nhận xét