Các Loại Thuật Toán Đồng Thuận Khác Nhau

Một thuật toán đồng thuận là một quy trình được sử dụng trong khoa học máy tính, trong đó các bên tham gia của một mạng lưới phân tán đồng ý về trạng thái của mạng hoặc trạng thái của một giá trị dữ liệu đơn lẻ và thiết lập niềm tin giữa các đối tác chưa quen biết trong mạng.

Các thuật toán đồng thuận được thiết kế để các thành viên của một blockchain đạt được thỏa thuận nhằm xác thực một giao dịch trên mạng, thay đổi các tham số mạng, quyết định những node nào được tin cậy để xử lý các block mới, và các chức năng quan trọng khác.

Đừng để tính chất kỹ thuật của bài viết này làm bạn chệch hướng—“đồng thuận” hiện diện xung quanh chúng ta ở khắp mọi nơi—đó là một khái niệm rất mang tính con người, nhưng được áp dụng cho thứ có thể được tự động hóa.

**Trước hết, trong các hệ thống tập trung, các tác vụ đồng thuận được thực hiện bởi một cơ quan quản lý trung tâm. **

Trong các hệ thống phi tập trung như Bitcoin, chúng ta có một mạng lưới gồm hàng trăm, hàng nghìn, và thậm chí hàng trăm nghìn thợ đào hoặc node tham gia, cùng thực hiện một hoặc nhiều tác vụ để tạo ra một hệ sinh thái đáng tin cậy và hiệu quả.

Nghĩ về cơ chế đồng thuận phi tập trung với ví dụ này, hãy giả sử bạn đang ở trong một nhóm gồm bốn người bạn, và một trong các thành viên, Alex, giới thiệu thêm một người thứ năm, Bob. Khi Bob rời đi, rất có thể, cả nhóm sẽ bắt đầu bàn tán về Bob (đây là giao thức) để xem họ có thích anh ấy không (kết quả sẽ là “sự đồng thuận”)

José: “Bob có vẻ là một anh chàng tuyệt.”



Kevin: “Ừ, anh chàng tuyệt thật. Hai người gặp nhau thế nào?”

Alex: “Anh ấy học chung một trong các lớp tài chính của tôi hồi đại học; chúng tôi chia sẻ mẹo giao dịch crypto, và cuối cùng anh ấy lại là một người khá hài hước.”

Kevin: “Hay đó, nhưng meme của anh ấy chỉ siêu kỳ lạ.”

John: “Cậu đơn giản là không hiểu văn hóa meme.”

José: “Ừ, cậu đâu có dành nhiều thời gian lướt TikTok—tôi thấy chúng cũng khá vui.”

Trong ví dụ này, “đồng thuận” đã đạt được về việc liệu Bob có hòa nhập tốt vào nhóm bạn hay không. Thường sẽ tồn tại một sự đồng thuận cần thiết về quan điểm ngay cả khi không có các cam kết hay hợp đồng cụ thể được lập ra. Một người tham gia, Kevin, còn ngần ngại khi cho Bob gia nhập nhóm, nhưng José, Alex và John thì lại thoải mái với Bob.

Trong trường hợp này, nếu chúng ta mã hóa ví dụ ở trên thành một thuật toán đồng thuận: thì sẽ là 3 “anh ấy tuyệt” và 1 “anh ấy tuyệt nhưng tôi không chắc về XYZ” vẫn cho ra kết quả “anh ấy tuyệt”. Số đông thắng, nên Bob sẽ được phép đi chơi với hội bạn “ngầu” bất chấp ý kiến của Kevin.

Ví dụ, Bitcoin được xây dựng để tìm ra sự đồng thuận về việc liệu các giao dịch mới có hợp lệ hay không (“ngầu”) và ngược lại.

Ở đây, chúng ta sẽ xem xét các loại thuật toán đồng thuận blockchain phổ biến nhất —và cũng không mấy phổ biến— trên cả các mạng lưới công khai và mạng lưới riêng tư.

Proof of Work là gì?

**Proof of Work (PoW) là thuật toán đồng thuận phổ biến và lâu đời nhất, ra đời cùng với việc tạo ra Bitcoin vào năm 2009 bởi Satoshi Nakamoto. **Hệ thống PoW bao gồm một mạng lưới toàn cầu các thợ đào —được gọi là các network node— cạnh tranh để giải các câu đố toán học. Thợ đào nào giải được câu đố thành công sẽ giành quyền thêm một block mới vào blockchain và nhận phần thưởng dưới dạng một loại tiền mã hóa mới được tạo ra.

Proof of work về cơ bản là cách thợ đào chứng minh rằng họ đã cung cấp năng lực tính toán để đạt được sự đồng thuận của mạng và xác thực tính xác thực của từng block. Hơn nữa, mỗi block (giao dịch) được sắp xếp theo thứ tự tuần tự, loại bỏ rủi ro chi tiêu gấp đôi.

Cho đến nay, PoW vẫn là cơ chế đồng thuận an toàn nhất đối với các blockchain tiền mã hóa. Việc thay đổi mạng sẽ đòi hỏi kẻ tấn công phải đào lại toàn bộ các block hiện có trong chuỗi. Blockchain càng phát triển thì càng khó để độc quyền năng lực tính toán của mạng, vì điều đó sẽ đòi hỏi mức tiêu thụ năng lượng rất lớn và thiết bị đắt tiền.

Khi một thợ đào giải được câu đố, họ sẽ tìm ra nonce (viết tắt của number used once—số được dùng một lần) tạo ra một hash có giá trị thấp hơn hoặc bằng mức được đặt bởi độ khó của mạng.

Nonce là một phần trung tâm trong các hệ thống PoW vì nó cho phép thợ đào tạo ra một block header được băm bằng hàm băm SHA-256, tức là đặt một số tham chiếu cho một block trong chuỗi. Block header cũng chứa một timestamp và hash của block trước đó.

Những nhược điểm của PoW

Các thợ đào cần cung cấp một lượng lớn năng lực tính toán để giải các câu đố. Nhưng vì các phép tính rất phức tạp, lượng điện mà một thợ đào S9 Antminer tiêu thụ thường nằm trong khoảng 1400 – 1500 watt mỗi giờ đối với hashrate 14.5 TH/s. S19, một phiên bản mạnh hơn, tiêu thụ 3250 watt mỗi giờ với hashrate 110 TH/s.

Với một chút toán học, chúng ta có thể tính toán lượng năng lượng mà các trung tâm dữ liệu hoặc các công ty khai thác tiêu thụ với hàng trăm hoặc hàng nghìn dàn thiết bị khai thác ở cùng một địa điểm mỗi ngày. Mức tiêu thụ năng lượng cao và tác hại đến môi trường là lời chỉ trích chính rút ra từ proof of work.

Để hình dung rõ hơn, Trước khi Ethereum chuyển sang Proof of Stake, các thợ đào Ethereum trên toàn thế giới đang tiêu thụ khoảng 10 TWh/yr, tương đương với Cộng hòa Séc.

Tiếng ồn lớn cũng gây hại đến mức độ thính giác của con người —vượt quá 80 dBa. Vì vậy, các dàn khai thác thường được để trong tầng hầm hoặc cơ sở khai thác để tránh làm ảnh hưởng đến các hoạt động hằng ngày.

Proof of Stake là gì?

Proof of Stake (PoS) là thuật toán đồng thuận phổ biến thứ hai. Thay vì thợ đào, các blockchain PoS có các bộ xác thực (validators) của mạng, những người sử dụng đồng/ token của họ làm bằng chứng cho cam kết với mạng thay vì dựa vào năng lực tính toán.

Staking có nghĩa là “khóa” các tài sản crypto trong một khoảng thời gian trên một nền tảng blockchain, và đổi lại, người dùng sẽ nhận phần thưởng bằng nhiều tiền mã hóa hơn.

PoW so với PoS: Các khác biệt chính

Trong PoS, người dùng có thể staking một phần tài sản của mình chỉ với mục đích tạo thu nhập thụ động. Lựa chọn còn lại là trở thành một validator. Không giống như các hệ thống PoW, các validator không cạnh tranh để tạo ra các block mới vì họ được chọn ngẫu nhiên bởi một thuật toán. Số coin/token mà người dùng staking càng nhiều thì cơ hội trở thành validator và tạo ra các block mới trong blockchain càng cao.

Trong các hệ thống PoW, thời gian để tạo ra các block mới được quyết định bởi độ khó khai thác; số lượng người tham gia càng nhiều thì hashpower càng lớn, tức là năng lực tính toán cần thiết để khai thác các block mới. Ngược lại, các blockchain PoS có thời gian tạo block cố định được chia thành các slot — thời gian để tạo ra một block — và epochs, là các đơn vị thời gian gồm các slot.

Để giải thích rõ hơn, một slot trong Ethereum gồm 12 giây, là khoảng thời gian mạng cần để tạo ra một block, và 32 slot tạo thành một epoch. Do đó, một epoch là 6.4 phút. Mỗi slot trong một blockchain PoS có một số lượng validator được xác định trước, những người bỏ phiếu về tính hợp lệ của block đang được đề xuất. Nếu block hợp lệ, nó được thêm vào chuỗi, và block proposer và attestors nhận phần thưởng bằng ETH.

Các blockchain PoS trừng phạt các tác nhân độc hại khi tấn công mạng theo kiểu tấn công 51%, được gọi là slashing, trong đó các validator trung thực sẽ loại bỏ validator độc hại khỏi mạng và rút cạn số dư của họ. Điều này khiến các tác nhân độc hại nản lòng vì số tiền stake cần thiết là khá lớn. Trong trường hợp của Ethereum, là 32 ETH.

Ưu điểm của PoS:

  • Ít tốn năng lượng hơn so với PoW
  • Phù hợp để làm việc với các giải pháp layer-2 hơn so với PoW
  • Có khả năng đạt thông lượng cao hơn vì đồng thuận được thiết lập trước khi các block được chuyển đi.
  • Chi phí thấp hơn so với các blockchain PoW vì không cần phần cứng “cao cấp” để tạo các block mới.

Nhược điểm của PoS

  • Các hệ thống PoS vẫn có thể bị tập trung hóa nếu các validator nắm giữ một lượng lớn token được stake có thể gây ảnh hưởng đến mạng.
  • Chưa được chứng minh về mặt bảo mật bằng PoW so với các blockchain PoW.

Proof of History là gì?

**Proof of History (PoH) là một thuật toán đồng thuận được giới thiệu bởi blockchain Solana và bao gồm việc gán một timestamp cho tất cả các sự kiện trên mạng để chứng minh rằng chúng đã diễn ra vào một thời điểm nhất định. **PoH có thể được mô tả như một “đồng hồ” mật mã học xác nhận các giao dịch theo thứ tự tuần tự.

Solana kết hợp phương pháp PoH của mình với PoS. Do đó, các thành viên mạng phải stake SOL để trở thành validator và xử lý các block mới, và cơ chế PoH xác minh tính hợp lệ của các giao dịch đó diễn ra trong thời gian thực. Nói cách khác, PoH duy trì bảo mật, trong khi PoS mang đến một mạng lưới validator có thể xác minh các timestamp và xác nhận các giao dịch.

Tuy nhiên, Solana đánh đổi tính phi tập trung để cung cấp thông lượng giao dịch cực nhanh. Blockchain dựa trên một kiến trúc bán tập trung, trong đó một node duy nhất được bầu làm leader, người chịu trách nhiệm triển khai một nguồn thời gian duy nhất, tức là đồng hồ PoH, và tất cả các node còn lại phải theo các chuỗi thời gian tương ứng. Các leader được bầu định kỳ thông qua các cuộc bầu cử theo PoS.

Mặc dù Solana là một trong những blockchain nhanh nhất trong ngành, nhưng nó vẫn thường xuyên gặp sự cố ngừng hoạt động. Kể từ khi ra mắt vào năm 2020, mạng đã gặp khoảng mười lần downtime, trong đó năm lần xảy ra vào năm 2022. Lý do chính của các lần ngừng dịch vụ này là một “node cấu hình sai.”

Delegated Proof of Stake là gì?

Delegated Proof of Stake** (DPoS) là một biến thể của khái niệm PoS, trong đó cộng đồng đóng vai trò trung tâm.**

Trong các blockchain DPoS, các thành viên cộng đồng stake tiền mã hóa của họ để bỏ phiếu cho các witness hoặc delegate tiếp theo để sản xuất block. Để làm điều này, người dùng phải gom các token của mình vào “staking pool” của blockchain và sau đó liên kết số tiền đó với một delegate được chỉ định.

DPoS được phát triển bởi cựu CTO của EOS Dan Larimer, người đã triển khai thuật toán trên BitShares vào năm 2015. Larimer và các nhà ủng hộ DPoS khác đã nói rằng DPoS mở rộng phạm vi theo hướng dân chủ hơn, vì chính cộng đồng là bên chọn validator tiếp theo. Ngày nay, các blockchain như TRON và Cardano sử dụng DPoS.

Tuy nhiên, lời chỉ trích dành cho DPoS là phương pháp của nó ưu tiên người dùng giàu có. Những người có số lượng token lớn có thể có ảnh hưởng lớn hơn đến mạng. Vitalik Buterin là một trong những người phản đối DPoS đầu tiên, khi cho rằng trong một bài đăng trên blog rằng thuật toán đồng thuận này khuyến khích các witness hình thành cartel và hối lộ cử tri để giành được sự ủng hộ.

Proof of Authority là gì?

**Proof of Authority (PoA) là một thuật toán đồng thuận trong đó chỉ các thành viên được cấp quyền mới có thể tương tác với blockchain, thực hiện giao dịch, tạo hoặc đề xuất thay đổi các tham số mạng, xem lại lịch sử giao dịch, v.v. **

Thuật ngữ này được đặt ra bởi Gavin Wood, một nhà phát triển blockchain, người đồng sáng lập Ethereum, Polkadot và mạng Kusama.

Trong một blockchain PoA, **mọi thứ đều xoay quanh danh tiếng—các thành viên mạng đang stake danh tính của họ thay vì stake coin. **Họ cung cấp mức độ mở rộng và thông lượng cao hơn vì nó chỉ dựa vào một số lượng giới hạn validator. Ta có thể nghĩ đây là một mô hình cực kỳ tập trung, nhưng các blockchain PoA thường là mạng riêng và phù hợp hơn với các doanh nghiệp và tổ chức sử dụng công nghệ blockchain để nâng cao hoạt động kinh doanh và các hệ thống vận hành.

Proof of Elapsed Time là gì?

Proof of Elapsed Time (PoET) là một thuật toán đồng thuận khác, hoạt động tốt nhất với các blockchain riêng tư.

Thuật toán PoET lần đầu được giới thiệu bởi các nhà phát triển phần mềm của Intel và được triển khai trên Hyperledger Sawtooth, hướng đến các blockchain riêng tư và các tổ chức.

Thuật toán này có thể không phổ biến bằng các blockchain khác vì nó không được định nghĩa một cách đầy đủ. Nhưng ý tưởng là đưa ra một “cỗ máy” có sẵn theo kiểu Nakamoto, cho phép các blockchain riêng tư chọn nhà sản xuất block tiếp theo. Vậy chúng khác nhau như thế nào? Ừm, thuật toán tạo ra một “thời gian chờ ngẫu nhiên” cho từng network node, và trong khoảng thời gian đó, node phải “ngủ”. Node có thời gian chờ ngắn nhất sẽ thức dậy trước và giành quyền tạo block trong chuỗi.

Vì vậy, điểm khác biệt chính là các thợ đào trong PoET không chạy 24/7 và tiêu thụ ít năng lượng hơn. Hơn nữa, trong một mạng PoW, các thợ đào cạnh tranh để băm block header tiếp theo, trong khi ở PoET đó là một hệ thống chọn ngẫu nhiên hơn.

Câu hỏi thường gặp về Thuật toán Đồng thuận:

Ethereum sẽ trở nên nhanh hơn bây giờ khi nó đã chuyển sang PoS chứ?

Một quan niệm sai lầm phổ biến là Ethereum sẽ tự động mở rộng quy mô ngay khi nó trở thành một blockchain dựa trên PoS. Tuy nhiên, quá trình chuyển đổi này được thực hiện để cải thiện Ethereum bằng:

  • Giảm tiêu thụ năng lượng
  • Giảm rào cản gia nhập bằng cách loại bỏ yêu cầu về phần cứng
  • Cho phép áp dụng các hình phạt kinh tế đối với hành vi sai trái của node
  • Giới thiệu một mô hình mới cho việc phát hành token
  • Và xây dựng cơ sở hạ tầng tốt hơn để làm việc với các giải pháp Ethereum Layer-2.

**Blockchain permissionless và permissioned là gì?: **

Một blockchain permissionless đề cập đến một blockchain công khai, trong đó bất kỳ ai cũng có thể thực hiện giao dịch, xem lịch sử giao dịch, stake coin, trở thành validator, v.v. Mặt khác, trong các blockchain permissioned (riêng tư), chỉ các thành viên có quyền (permission) mới được truy cập mạng để thực hiện giao dịch, tương tác với các node mạng, theo dõi hoạt động on-chain, v.v.

PoW có phải là thuật toán đồng thuận an toàn nhất không? PoW có những nhược điểm nhất định, nhưng cho đến nay, nó vẫn là cách được chứng minh và tin cậy nhất để duy trì sự đồng thuận và bảo mật của một mạng trong blockchain.

Những suy nghĩ cuối cùng: Thuật toán đồng thuận được giải thích

Blockchain là một công nghệ có khả năng giải quyết nhiều thách thức và điểm đau nhức trong các ngành công nghiệp khác nhau, không chỉ trong ngân hàng và tài chính. Tuy nhiên, nó cũng có phần rủi ro của riêng mình. Do đó, các nhà phát triển đã tạo ra nhiều loại và phiên bản của các thuật toán đồng thuận để giải quyết các vấn đề phổ biến, như tập trung hóa, thiếu khả năng mở rộng và thông lượng thấp.

Nhưng để nói về tương lai của các thuật toán blockchain là rất khó do một thách thức: Blockchain Trilemma. Được Vitalik Buterin phác thảo lần đầu, nó nêu rằng các mạng blockchain không thể đồng thời cung cấp được hai trong ba lợi ích: phi tập trung, bảo mật và khả năng mở rộng (scalability). Có một số nền tảng blockchain, như Fantom và Solana, đã triển khai các phiên bản hybrid của thuật toán đồng thuận của riêng họ nhằm cố gắng giải quyết blockchain trilemma, nhưng cho đến nay vẫn chưa nền tảng nào thực sự thành công.

Các cách tiếp cận kỹ thuật khác cũng đã được đưa ra để tăng cường các thuộc tính của blockchain, và một trong những hướng phổ biến nhất là layer-2s, là các chuỗi được kết nối với layer-1, ví dụ như Arbitrum với Ethereum, và sharding, là việc chia toàn bộ blockchain thành nhiều mạng nhỏ hơn. Nhưngerin xem sharding là cách tiếp cận tốt nhất để cung cấp cả ba thuộc tính của một blockchain hoàn hảo.

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Đăng lại
  • Retweed
Bình luận
Thêm một bình luận
Thêm một bình luận
Không có bình luận
  • Ghim