Thuật toán đồng thuận Blockchain là gì?

Vậy thuật toán đồng thuận blockchain là gì? Tại sao blockchain lại cần cơ chế đồng thuận? Có những loại thuật toán blockchain nào? Cơ chế của thuật toán đồng thuận này có gì khác nhau?

Thuật toán đồng thuận blockchain là gì?

Thuật toán đồng thuận blockchain là 1 quy tắc hoặc cơ chế để những node tuân theo, nhằm đảm bảo những thanh toán được thực hành trên blockchain là chính xác, sáng tỏ và giống nhau trên mọi những node* của mạng.

*Node là những thiết bị (máy tính, điện thoại…) đảm nhiệm vai trò gửi, nhận, xác thực và ghi thanh toán lên blockchain. Toàn bộ những node trên 1 blockchain được kết nối sở hữu nhau thông qua mạng lưới ngang hàng, chúng liên tục trao đổi dữ liệu mới nhất để mọi những node luôn được cập nhật.

Bí quyết hoạt động của cơ chế đồng thuận trên blockchain

Về bản chất, blockchain bao gồm nhiềunodekết hợp lại tạo ra 1 mạng lưới. Để 1 thanh toán được ghi lại trên blockchain, nó bắt buộc được xác thực đồng thời bởi mọi những node trên mạng lưới dựa trên cơ chế đồng thuận.

Trước tiên, cần hiểu rằng cấu trúc của blockchain bao gồm nhiều block (khối) hợp tác sở hữu nhau và tạo thành 1 chain (chuỗi). Mỗi block sẽ chứa thông tin về mã băm (hash) của khối trước ấy. Mã hash này được tạo ra dựa trên những thông tin đầu vào đã được xác định sẵn của 1 khối, bao gồm cả thông tin thanh toán đã được xác thực bởi node.

Lúc khách hàng thực hành 1 thanh toán, những node sẽ dựa trên thuật toán đồng thuận của blockchain (như PoS, PoW, PoA…) để xác thực và ghi thanh toán vào khối mới trên blockchain. Sau ấy, mọi những node đều bắt buộc tải xuống thông tin về khối thanh toán mới được xác thực, để đảm bảo tính thống nhất và toàn vẹn dữ liệu trên mạng lưới.

Thuật toán đồng thuận cũng giúp việc thay đổi dữ liệu trên blockchain là ko thể:

  • Lúc 1 block bị thay đổi dữ liệu thì mã hash của block cũng bị thay đổi theo.
  • Chúng sẽ được so sánh sở hữu dữ liệu của khối khác để đảm bảo tính đúng đắn và ưu thích giữa mã hash của khối trước và sau nó.
  • Ví dụ thấy có sự khác biệt, dữ liệu kia sẽ ko được phép ghi vào blockchain.

Thí dụ: Nhái sử có hacker tấn công và thay đổi thông tin trên khối n. Tại thời điểm ấy:

  • Hash của khối n bị thay đổi.
  • Hệ thống sẽ so sánh hash khối n sở hữu mã hash của khối trước ấy để phát hiện sai lệch.
  • Hacker bắt buộc thay đổi hash của khối trước n. Hệ thống lại phát hiện ra sai lệch ở khối n-1. Hacker bắt buộc tiếp tục thay đổi hash của khối n-2.
Xem Thêm  High 6 web site thương mại điện tử hàng đầu thế giới

Như vậy, để thay đổi được thanh toán thì hacker bắt buộc thay đổi mọi những khối để đảm bảo theo cơ chế đồng thuận của blockchain.

Tại sao 1 blockchain cần có cơ chế đồng thuận?

Giúp đảm bảo node thực hành đúng vai trò

Blockchain hoạt động phi tập trung dựa trên mạng lưới nhiều node trên toàn cầu, chứ ko có bất kỳ 1 bên trung gian nào kiểm soát hay điều khiển blockchain.

Vậy làm cho thế nào để đảm bảo rằng những node này có thể xác thực thanh toán hợp lệ, vận hành blockchain đúng phương pháp và ko có gian lận? Ấy là lúc cơ chế đồng thuận phát huy tác dụng. Những node buộc bắt buộc tuân thủ theo thuật toán đồng thuận để thực hành đúng vai trò của mình. Ví dụ ko, họ bắt buộc bị phạt theo cơ chế slashing.

Giúp blockchain trở nên hệ thống chịu lỗi Byzantine (BFT)

“Bài toán những vị tướng Byzantine” là 1 bài toán mô tả việc 1 nhóm những vị tướng Byzantine gặp vấn đề trong việc liên lạc sở hữu nhau lúc cố gắng đạt sự đồng thuận về hành động tiếp theo (tấn công hay phòng thủ). Cụ thể:

  • Lúc mọi (hoặc số đông hơn) cùng đồng thuận về việc tấn công, họ sẽ thắng.
  • Lúc số ít tấn công và phần còn lại phòng thủ, họ sẽ thua.

Nó đồng thời trở nên 1 bài toán khó lúc vận dụng vào lĩnh vực khoa học máy tính. Câu hỏi đặt ra là: Trong 1 môi trường mà vấn đề trao đổi (communication) có thể xảy ra lỗi, làm cho thế nào để đảm bảo được sự thống nhất giữa những bên để vận hành 1 phương pháp trơn tru?

Tuy nhiên, nhờ có thuật toán đồng thuận mà blockchain đã có thể giải quyết được bài toán trên. Theo ấy, blockchain trở nên 1 Hệ thống Chịu lỗi Byzantine (Byzantine Fault ToleranceBFT). Tức là mạng lưới blockchain vẫn có thể hoạt động bình thường ngay cả lúc có 1 số node bị lỗi, gây gian lận hoặc có hành vi gây hại cho mạng (miễn là phần lớn node còn lại tuân thủ theo cơ chế).

Lưu ý rằng blockchain sẽ có cơ chế thưởng và phạt khác nhau nhằm khuyến khích những node bắt buộc tuân thủ theo cơ chế đồng thuận.

Tìm hiểu thêm: Byzantine Fault Tolerance là gì?

Những thuật toán đồng thuận blockchain phổ biến

Proof of Work (PoW)

Proof of Work (PoW) hay bằng chứng công việc là cơ chế đồng thuận phi tập trung trước tiên, được dùng để bảo mật blockchain Bitcoin.

PoW bắc buộc những node dùng sức mạnh tính toán của máy tính để giải những bài toán và tạo ra mã hash. Node trước tiên giải bài toán và giành quyền xác thực thanh toán thì sẽ được nhận phần thưởng là đồng coin native của blockchain (dí dụ như BTC, ETH). Quá trình này được gọi là “mining” (đào coin), và node này được gọi là miner node (thợ đào).

Xem Thêm  Optimism là gì? Dự án Layer 2 nổi bật trên Ethereum & OP Token

Ví dụ 1 miner node giải bài toán, xác thực và ghi thanh toán lên khối mới, khối này sẽ được gửi tới mọi những node khác trong mạng lưới. Lúc có đủ số lượng node xác thực khối, chúng sẽ đạt được sự đồng thuận và thanh toán sẽ được xử lý.

Tuy nhiên, PoW sẽ có 1 số nhược điểm như:

  • PoW dùng sức mạnh máy tính để bảo mật cho blockchain, do ấy bắc buộc điện năng tiêu thụ lớnchi chi phí đắt đỏ cho những phần cứng bắt buộc.
  • 1 block trên blockchain PoW cần nhiều thời kì hơn để được tạo ra và xác thực, làm cho thuật toán này kém hiệu quảtốn tài nguyên (thậm chí là ko thân thiện sở hữu môi trường) hơn những thuật toán đồng thuận khác.

Đây là cơ chế đồng thuận gắn liền sở hữu Bitcoin (BTC), Litecoin (LTC)…

Trước lúc thực hành bản nâng cấp The Merge, mạng Ethereum (ETH) cũng hoạt động dưới cơ chế PoW, hiện tại đã chuyển sang PoS.

Proof of Stake (PoS)

Proof of Stake (PoS) hay bằng chứng cổ phần là thuật toán đồng thuận phổ biến nhất hiện nay, được giới thiệu trước tiên bởi Peercoin vào 5 2013.

Thay vì dùng sức mạnh máy tính, Proof of Stake bắc buộc những node tham dự xác thực thanh toán bắt buộc đặt cược (stake) 1 số lượng nhất định đồng coin native của blockchain để giành quyền tham dự xác thực và tạo khối.

Số token này nhằm đảm bảo những node hoạt động phải chăng, tức là giả dụ node ấy offline quá lâu hoặc có những hành vi gian lận, số token đã stake có thể bị thu 1 phần hoặc mất toàn bộ tuỳ thuộc vào mức độ và quy định slashing (phạt).

Trong cơ chế PoS, node sẽ đóng vai trò là những validator thay vì miner như trong PoW.

Những validator trong mạng lưới PoS sẽ nhận được chi phí thanh toán làm cho phần thưởng. Lúc 1 thanh toán diễn ra, những validator sẽ được chọn để xác thực thanh toán dựa trên số lượng token và thời kì stake. Stake càng nhiều và thời kì càng lâu thì tỉ lệ được chọn sẽ càng cao.

Có phương pháp hoạt động trên, Proof of Stake là thuật toán tiết kiệm chi chi phí, thân thiện sở hữu môi trường hơn Proof of Work. Để trở nên 1 validator node cũng đơn giản hơn và ko bắt buộc dùng những thiết bị phần cứng chuyên dụng quá “khủng”.

Thí dụ: Ban đầu, blockchain Ethereum dùng cơ chế đồng thuận PoW, sau ấy đã chuyển sang PoS vào 5 2022. Lúc này, để trở nên validator của Ethereum, khách hàng bắt buộc stake ít nhất 32 ETH.

Delegated Proof of Stake (DPoS)

Delegated Proof of Stake (DPoS) hay bằng chứng uỷ quyền cổ phần, là thuật toán đồng thuận được phát triển thành từ Proof of Stake.

Thay vì trở nên validator, DPoS cho phép người nắm giữ token (holder) stake token và chọn 1 người đại diện (delegator) để uỷ quyền xác thực thanh toán, duy trì bảo mật cho blockchain. Đổi lại, holder sẽ được chia sẻ phần thưởng từ việc gián tiếp vận hành mạng lưới.

Xem Thêm  Aleo là gì? Toàn tập về tiền điện tử ALEO Token

Thông thường, delegator sẽ được chọn dựa trên danh tiếng (chứ ko bắt buộc tài sản) của họ và có số lượng giới hạn khoảng 20-100 delegator trên mỗi block.

So sở hữu PoS, DPoS được đánh giá là nhanh hơn và hiệu suất phải chăng hơn. DPoS giúp đảm bảo sự sáng tỏ, công bằng và đáng tin cậy thông qua việc liên tục thực hành những hoạt động bỏ phiếu và xáo trộn trong hệ thống, nhằm đảm bảo những delegator được chọn là trung thực và có trách nhiệm.

1 số dự án dùng cơ chế này là: Cosmos (ATOM), EOS (EOS), Tron (TRX)…

Proof of Authority (PoA)

Proof of Authority (PoA) hay bằng chứng uỷ quyền là thuật toán đồng thuận dựa trên danh tiếng, phát triển thành dựa trên Proof of Stake.

Thay vì stake coin, validator stake “uy tín” của mình để được tham dự vào mạng lưới node xác thực thanh toán và khối của blockchain, đồng thời đóng vai trò như là những người vận hành của hệ thống.

PoA đề cao giá trị danh tính, tức là những người được chọn để trở nên validator bắt buộc thật sự đáng tin cậy. Điều này làm cho những blockchain PoA bắt buộc đối mặt sở hữu sự đánh đổi giữa tính phi tập trung và khả năng mở rộng:

  • Vì tính chất chỉ lựa chọn những người uy tín và có danh tiếng, blockchain PoA thường có ít validator node, dẫn tới việc ít phi tập trung hơn so sở hữu những thuật toán đồng thuận khác.
  • PoA có số lượng validator giới hạn, giúp giảm thời kì xác nhận thanh toán, nâng cao thông lượng và khả năng mở rộng cho mạng lưới.

Nói phương pháp khác, thuật toán đồng thuận PoA sẽ ưu thích hơn sở hữu những hệ thống tập trung.

1 số blockchain dùng cơ chế PoA: Vechain (VET), HECO Chain (HECO)…

Cơ chế đồng thuận khác

Bên cạnh ra, còn có siêu nhiều thuật toán đồng thuận khác có thể đề cập tới như Proof of Weight (PoWeight), Proof of Capability (PoC), Proof of Burn (PoB), Direct Acyclic Graph Tangle (DAG)…

Điều quan yếu cần lưu ý là dù rằng những node và cơ chế đồng thuận cho phép blockchain hoạt động mà ko cần sự kiểm soát của 1 bên thứ cha, nhưng điều ấy ko đồng nghĩa sở hữu việc chúng hoàn toàn phân quyền (phi tập trung). 1 số cơ chế đồng thuận có tính tập trung cao hơn (như PoA) những cơ chế khác bởi nó ưu thích sở hữu mục đích hoạt động của blockchain ấy.

Vì mỗi mạng lưới sẽ chuyên dụng cho cho những nhu cầu đa dạng và mục tiêu khác nhau, sẽ có lẽ chúng ta cũng sẽ thấy sự xuất hiện của nhiều cơ chế đồng thuận hơn nữa trong tương lai.