Tổng quan về giao thức đồng thuận trong Blockchain

Giao thức đồng thuận trong Blockchain: Tổng quan, mục đích chung và phân loại

Chia sẻ kiến thức 02/07/2021

Tiếp theo bài viết về phi tập trung (decentralized), anh Nguyễn Việt Dinh - Admin nhóm Diễn đàn phổ cập Blockchain có bài chia sẻ thứ 2 về giao thức đồng thuận (Consensus). Ở bài viết, anh làm rõ khái niệm tổng quan, mục đích chung và các loại giao thức đồng thuận phổ biến.

Ở tập 1, mình đã viết về khái niệm phi tập trung.

Nhắc lại 1 chút, bitcoin hiện có 10.000 máy tính đang chạy node. Chủ nhân của các node đó có toàn quyền sửa, xóa dữ liệu, sửa đổi logic…. trên node của họ.

Vậy làm sao để các máy tính này hợp tác với nhau để tạo ra được 1 mạng lưới lưu trữ tài sản có giá trị 600 tỷ đô, mà vẫn chạy ổn định hơn 10 năm nay

Giao thức đồng thuận

1. Giao thức đồng thuận là gì?

Giao thức đồng thuận là 1 tập hợp các quy tắc, phương pháp để các máy tính trong mạng lưới cần tuân theo, để từ đó đạt được sự đồng thuận trên toàn mạng lưới.
Các node không tuân theo sẽ tự bị đào thải nếu dữ liệu nó gửi đến node khác không hợp lệ.
Trong thế giới blockchain, có rất nhiều các giao thức đồng thuận khác nhau đã được đưa vào sử dụng. Các giao thức phổ biến có thể kể tên:
  • Proof of Work: Bitcoin, Ethereum, Litecoin,DogeCoin,Monero
  • Proof of Stake/Delegate Proof of Stake : Ethereum v2, Cardano, KardiaChain, Solana,NaNo
  • Proof of Authority: VeChain
  • XRP có giao thức đồng thuận riêng, gọi tên là XRP
  • Stellar cũng có giao thức đồng thuận riêng, gọi là SCP
  • Proof of space: Chia network
  • Byzantine Fault Tolerance: Đang ngày càng phổ biến và BFT thường được kết hợp với các giao thức đồng thuận khác, nhất là PoS, DPoS.
Mỗi giao thức đồng thuận giống như luật pháp và hiến pháp của 1 đất nước. Mỗi đất nước có 1 bộ luật riêng, có nhiều nước có luật gần gần giống nhau, có sửa đổi đi 1 chút.
Blockchain cũng vậy. Mỗi cái tên kể trên đại diện cho 1 kiểu mindset trong việc xây dựng một bộ luật. Khi áp dụng vào mỗi dự án thì sẽ có những chỉnh sửa, biến thể cho phù hợp và tối ưu. Hoặc kết hợp giữa các loại khác nhau.
Các giao thức đồng thuận đều có mục đích chung:
  • Toàn mạng lưới thống nhất về việc xác nhận các giao dịch và block. Nếu mạng lưới không thống nhất được thì sự đồng thuận sẽ thất bại, gọi là consensus failure.
  • Hạn chế tối đa việc thống trị của 1 cá nhân, tổ chức (Điều này cũng đặc biệt quan trọng, chính là thể hiện tính phi tập trung cao hay thấp của 1 blockchain).

>>> Xem thêm tại: Học lập trình blockchain ở đâu tốt nhất?

2. Làm sao để hạn chế việc thống trị?

Cách 1: Thi đua và cạnh tranh.

Thông thường các giao thức sẽ sử dụng tư tưởng như sau:
  1. Để có thể xác nhận các giao dịch, thì mọi người cần thi đua với nhau
  2. Càng nhiều người thi đua nhau thì càng khó để thống trị, vì càng cần nguồn lực lớn để lấn át phần còn lại.
⇒ Sử dụng phần thưởng để khuyến khích càng nhiều người tham gia càng tốt. Mọi thứ đều cần được dẫn dắt bởi lợi ích.

Đó chính là nguyên tắc chung của phần lớn các giao thức, còn điểm khác nằm ở việc “cạnh tranh cái gì“.

Với PoW là đua nhau làm việc (tính toán),
Với PoS/DPoS là đua nhau về vốn, cổ phần
Với Proof of Space là đua nhau về không gian ổ cứng.
BFT nguyên bản: Bản chất là đua nhau về sở hữu số lượng các validator.

Cách 2: Không có thi đua và cạnh tranh,không có phần thưởng, cố gắng phân bổ quyền lực càng đều càng tốt.

Một số giao thức đồng thuận khác như SCP của Stellar không sử dụng phần thưởng để thúc đẩy, mà khuyến khích tất cả mọi người tham gia vào việc xác nhận giao dịch, điều này đỏi hỏi thuật toán phức tạp hơn trong phần tổ chức network.
Mặc dù có một số nhược điểm, nhưng đây cũng là ý tưởng rất tuyệt vời. Mình sẽ có bài phân tích sau.
Tác giả: Anh Nguyễn Việt Dinh
ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!