Business Information Learning

  1. Trang chủ
  2. Lưu
  3. Thẻ
  4. Hỏi - Đáp

 
 
LeVanLoi'log, ⌚ 2019-06-20
***
☕ Nhàn đàm ICT: Libra (≋) vs. Bitcoin (₿) vs. Ethereum (Ξ)
Tác giả: Lê Văn Lợi
Bài đã đăng trên diễn đàn ICT_VN (ict_vn@googlegroups.com).
Ngày đăng: 20-6-2019.
-
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à MastercardVisa.

- Đ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.

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?

 

≋|₿|Ξ

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.