Cơ chế đồng thuận là tập hợp quy tắc giúp các máy tính trong một mạng phân tán thống nhất phiên bản hợp lệ của sổ cái, ngay cả khi một số máy bị lỗi, mất kết nối hoặc hành xử gian lận. Cơ chế này quyết định ai có quyền đề xuất dữ liệu, các nút kiểm tra dữ liệu ra sao, cách xử lý nhiều phiên bản cạnh tranh và khi nào giao dịch được xem là hoàn tất.
Nếu mới tìm hiểu blockchain là gì, có thể hình dung đồng thuận là phương thức để một mạng không có máy chủ trung tâm vẫn duy trì được lịch sử giao dịch chung.
Cơ chế đồng thuận blockchain là gì?
Consensus blockchain, hay cơ chế đồng thuận blockchain, là quy trình cho phép các nút mạng đi đến cùng một kết luận về trạng thái của hệ thống. Trạng thái đó có thể bao gồm:
- Giao dịch nào hợp lệ.
- Giao dịch được sắp xếp theo thứ tự nào.
- Khối nào được thêm vào chuỗi.
- Nhánh nào được công nhận khi xuất hiện nhiều lịch sử cạnh tranh.
- Khi nào một giao dịch khó hoặc không thể bị đảo ngược theo quy tắc của giao thức.
Đồng thuận không nhất thiết có nghĩa mọi nút bỏ phiếu trực tiếp cho từng giao dịch. Tùy thiết kế, mạng có thể sử dụng công việc tính toán, tài sản đặt cọc, quyền xác thực được cấp trước hoặc hình thức bỏ phiếu giữa các validator.
Cũng cần phân biệt đồng thuận với việc xác minh. Một nút có thể tự kiểm tra chữ ký số, số dư và quy tắc giao dịch, nhưng mạng vẫn cần một cách thống nhất thứ tự dữ liệu khi nhiều giao dịch hoặc khối hợp lệ xuất hiện gần như đồng thời.
Vì sao mạng blockchain cần cơ chế đồng thuận?

Trong cơ sở dữ liệu tập trung, máy chủ hoặc đơn vị quản trị có quyền quyết định bản ghi chính thức. Blockchain phân tán không dựa vào một bên điều phối duy nhất, nên các nút có thể nhận dữ liệu ở thời điểm khác nhau và tạm thời có góc nhìn khác nhau về trạng thái mạng.
Độ trễ và gián đoạn kết nối
Dữ liệu cần thời gian để truyền qua Internet. Một khối mới có thể đến nút A trước nút B, khiến hai nút tạm thời lưu các phiên bản khác nhau. Mạng cũng phải tiếp tục xử lý tình huống nút ngoại tuyến, đường truyền bị gián đoạn hoặc thông điệp đến không đúng thứ tự.
Ngăn chi tiêu hai lần
Một người có thể phát đi hai giao dịch sử dụng cùng một tài sản. Từng giao dịch riêng lẻ có thể mang chữ ký hợp lệ, nhưng chỉ một giao dịch có thể được ghi nhận nếu số dư không đủ cho cả hai. Cơ chế đồng thuận giúp mạng thống nhất giao dịch nào được ưu tiên theo quy tắc chung.
Đối phó với nút lỗi hoặc độc hại
Không phải nút nào cũng hoạt động đúng. Một số nút có thể gặp lỗi phần mềm, truyền dữ liệu sai hoặc cố tình tạo lịch sử có lợi cho mình. Giao thức đồng thuận phải giới hạn ảnh hưởng của các hành vi này trong những giả định bảo mật đã đặt ra.
Vai trò của từng máy tham gia cũng không hoàn toàn giống nhau. Bài giải thích về node blockchain, full node và validator giúp phân biệt nút tự xác minh dữ liệu với nút trực tiếp tham gia đề xuất hoặc xác nhận khối.
Cơ chế đồng thuận hoạt động thế nào?
Mỗi blockchain có quy trình riêng, nhưng một chu kỳ đồng thuận thường gồm các bước khái quát sau:
- Tiếp nhận giao dịch: Người dùng ký giao dịch và phát lên mạng.
- Kiểm tra ban đầu: Các nút kiểm tra chữ ký, số dư, định dạng và các điều kiện do giao thức quy định.
- Đề xuất khối hoặc tập dữ liệu: Một miner, validator hoặc nút có thẩm quyền chọn các giao dịch để đề xuất.
- Xác minh đề xuất: Những nút khác kiểm tra khối có tuân thủ quy tắc hay không.
- Lựa chọn lịch sử: Nếu có nhiều đề xuất cạnh tranh, mạng áp dụng quy tắc chọn chuỗi, bỏ phiếu hoặc xác định ưu tiên.
- Đạt mức hoàn tất: Sau một điều kiện nhất định, giao dịch được xem là đã có đủ độ chắc chắn để ứng dụng hoặc người dùng chấp nhận.
- Cập nhật trạng thái: Các nút hợp lệ cập nhật bản sao sổ cái của mình.
Một số mạng có tính hoàn tất theo xác suất: càng có nhiều khối được xây tiếp phía sau, khả năng giao dịch bị đảo ngược càng giảm. Một số giao thức khác sử dụng biểu quyết để tạo tính hoàn tất rõ ràng khi đạt đủ điều kiện. Vì vậy, số lần xác nhận cần chờ phụ thuộc vào từng blockchain và mức rủi ro của giao dịch.
Các tiêu chí đánh giá một cơ chế đồng thuận
Không nên đánh giá cơ chế đồng thuận chỉ bằng tốc độ. Một thiết kế thường phải cân bằng an toàn, khả năng duy trì hoạt động, chống lỗi, phi tập trung và chi phí vận hành.
An toàn
An toàn, thường được gọi là safety, là khả năng ngăn các nút trung thực chấp nhận những trạng thái mâu thuẫn là kết quả cuối cùng. Ví dụ, mạng cần tránh việc hai giao dịch chi tiêu cùng một tài sản đều được coi là đã hoàn tất.
Mức an toàn luôn đi kèm giả định: tỷ lệ hoặc sức mạnh của bên tấn công, điều kiện kết nối, cách phân phối quyền xác thực và việc người tham gia có tuân thủ phần mềm hay không. Không có cơ chế nào bảo vệ tuyệt đối trong mọi tình huống.
Khả năng tiếp tục hoạt động
Liveness là khả năng mạng tiếp tục xử lý và hoàn tất giao dịch hợp lệ. Một giao thức có thể ưu tiên giữ an toàn bằng cách tạm dừng khi mạng bị chia cắt, thay vì cho phép hai phía tạo ra kết quả cuối cùng xung đột.
Do đó, mạng vẫn tạo khối không đồng nghĩa mạng chắc chắn an toàn; ngược lại, việc tạm ngừng hoàn tất giao dịch đôi khi là phản ứng được thiết kế để bảo vệ sổ cái.
Khả năng chống lỗi
Khả năng chống lỗi cho biết hệ thống có thể duy trì tính đúng đắn hoặc hoạt động khi một số thành phần hỏng, ngoại tuyến hay hành xử tùy ý. Giới hạn chịu lỗi khác nhau giữa các giao thức và phụ thuộc vào mô hình mạng, cách tính quyền biểu quyết cùng các giả định bảo mật.
Khi đánh giá, cần hỏi quyền chi phối được đo bằng số nút, sức mạnh tính toán, lượng tài sản đặt cọc hay danh tính được cấp phép. Việc chỉ đếm số máy tham gia có thể tạo ra kết luận sai.
Mức độ phi tập trung
Phi tập trung không phải một thuộc tính có hoặc không. Nó có thể được xem xét qua nhiều khía cạnh:
- Quyền đề xuất và xác nhận khối có tập trung vào ít tổ chức không.
- Người dùng có thể tự chạy nút để kiểm tra dữ liệu hay không.
- Chi phí phần cứng và vận hành có tạo rào cản lớn không.
- Phần mềm máy khách, nhà phát triển hoặc hạ tầng mạng có phụ thuộc vào ít nhà cung cấp không.
- Quyền quản trị và nâng cấp giao thức được phân bổ như thế nào.
Một mạng có nhiều validator nhưng quyền biểu quyết tập trung vẫn có thể kém phân tán hơn vẻ bề ngoài.
Hiệu năng và khả năng mở rộng
Thời gian tạo khối, độ trễ hoàn tất và lượng giao dịch xử lý là các yếu tố quan trọng, nhưng thường có sự đánh đổi. Tăng số bên phải trao đổi thông điệp có thể cải thiện phân tán hoặc khả năng kiểm chứng, đồng thời làm quy trình đồng thuận phức tạp hơn.
Khuyến khích kinh tế
Blockchain công khai thường kết hợp quy tắc kỹ thuật với phần thưởng, phí giao dịch, tài sản đặt cọc hoặc hình phạt. Mục tiêu là khiến việc tuân thủ giao thức có lợi hơn hành vi gian lận. Tuy nhiên, cơ chế khuyến khích chỉ hiệu quả trong phạm vi giả định kinh tế của từng mạng.
BFT là gì trong blockchain?

BFT là viết tắt của Byzantine Fault Tolerance, thường được dịch là khả năng chịu lỗi Byzantine. Khái niệm này mô tả khả năng một hệ thống phân tán vẫn đi đến kết quả nhất quán khi có thành phần lỗi hoặc gửi thông tin mâu thuẫn cho những bên khác nhau.
Tên gọi bắt nguồn từ một bài toán kinh điển của hệ thống phân tán: nhiều bên phải phối hợp hành động thông qua thông điệp, nhưng không thể chắc chắn tất cả thành viên đều trung thực. Trong blockchain, lỗi Byzantine có thể là validator ký cho các đề xuất xung đột, cố tình không gửi thông điệp hoặc cung cấp dữ liệu khác nhau cho từng nút.
BFT không phải tên của một thuật toán duy nhất. Đây là một thuộc tính và cũng là nền tảng của nhiều họ giao thức. Các biến thể BFT thường tổ chức nhiều vòng đề xuất, bỏ phiếu và xác nhận để các validator thống nhất một khối. Ngưỡng biểu quyết và khả năng chịu lỗi cụ thể phụ thuộc vào từng giao thức, nên không thể áp dụng một con số chung cho mọi blockchain.
Cần phân biệt hai loại lỗi:
- Lỗi thông thường: Nút tắt máy, mất mạng hoặc phản hồi chậm.
- Lỗi Byzantine: Nút có thể hành xử tùy ý, kể cả gửi thông tin trái ngược cho các bên.
Chịu được lỗi Byzantine khó hơn chịu lỗi máy chủ thông thường vì giao thức phải tính đến hành vi chủ động gây rối.
Các họ cơ chế đồng thuận phổ biến
Proof of Work
Proof of Work sử dụng công việc tính toán để cạnh tranh quyền đề xuất khối. Các nút kiểm tra kết quả và tuân theo quy tắc chọn chuỗi của giao thức. Muốn thay đổi lịch sử, bên tấn công phải huy động nguồn lực tính toán đủ lớn trong điều kiện cụ thể của mạng.
Ưu điểm thường được nhắc đến là mô hình tham gia mở và lịch sử vận hành lâu ở một số blockchain. Hạn chế có thể gồm mức tiêu thụ tài nguyên, xu hướng chuyên môn hóa thiết bị và tính hoàn tất theo xác suất.
Proof of Stake
Proof of Stake phân bổ quyền đề xuất hoặc xác nhận dựa trên tài sản được đặt cọc cùng các quy tắc của giao thức. Validator có thể nhận phần thưởng khi làm đúng và chịu hình phạt nếu vi phạm một số điều kiện.
Thiết kế PoS rất đa dạng về cách chọn validator, biểu quyết, xử lý ngoại tuyến và tạo tính hoàn tất. Vì vậy, không nên coi mọi mạng PoS có cùng đặc tính bảo mật hoặc mức độ phi tập trung.
Để tránh lặp lại phần phân tích chuyên sâu, người đọc có thể xem bài so sánh PoW và PoS về nguồn lực bảo vệ mạng, cách chọn người tạo khối và các đánh đổi chính.
Các giao thức bỏ phiếu kiểu BFT
Nhóm này sử dụng nhiều vòng truyền thông điệp và biểu quyết giữa một tập validator. Khi đạt điều kiện của giao thức, khối có thể nhận tính hoàn tất rõ ràng. Các giao thức kiểu BFT thường phù hợp với mạng có tập validator được xác định tại mỗi thời điểm, nhưng chi phí trao đổi thông điệp có thể tăng khi số người tham gia lớn.
PoS và BFT không loại trừ nhau. Một blockchain có thể dùng staking để xác định quyền biểu quyết, sau đó sử dụng một giao thức kiểu BFT để thống nhất và hoàn tất khối.
Proof of Authority
Proof of Authority dựa vào một nhóm thực thể được phê duyệt để tạo hoặc xác nhận khối. Cách tiếp cận này có thể đơn giản và phù hợp với mạng doanh nghiệp hoặc mạng có cấp quyền, nhưng mức độ mở và khả năng chống kiểm duyệt thường phụ thuộc mạnh vào đơn vị quản trị.
Các mô hình kết hợp
Một số blockchain kết hợp nhiều thành phần, chẳng hạn cơ chế chống danh tính giả, quy tắc chọn người đề xuất và lớp hoàn tất riêng. Do đó, việc gắn một nhãn duy nhất như PoW hoặc PoS đôi khi chưa mô tả đầy đủ cách mạng đạt đồng thuận.
Những hiểu lầm thường gặp về đồng thuận blockchain

Đồng thuận không xác nhận dữ liệu ngoài đời là đúng
Các nút có thể đồng thuận rằng một giao dịch đã được ghi đúng quy tắc, nhưng điều đó không chứng minh dữ liệu đầu vào phản ánh sự thật ngoài chuỗi. Nếu hợp đồng thông minh nhận thông tin sai từ nguồn bên ngoài, cơ chế đồng thuận vẫn có thể ghi nhận thông tin đó một cách nhất quán.
Đồng thuận không đồng nghĩa mọi nút đều bỏ phiếu
Nhiều nút chỉ tự kiểm tra dữ liệu và theo dõi chuỗi, trong khi miner hoặc validator trực tiếp tham gia sản xuất, lựa chọn hay hoàn tất khối. Vai trò cụ thể phụ thuộc kiến trúc mạng.
Blockchain không bất biến tuyệt đối
Khả năng sửa lịch sử phụ thuộc vào cơ chế đồng thuận, mức độ phân tán, sức mạnh của bên tấn công và quyết định xã hội khi xảy ra sự cố. Vì vậy, nên hiểu tính bất biến của blockchain là mức độ khó thay đổi dữ liệu sau khi được xác nhận, không phải lời bảo đảm tuyệt đối.
Nhiều validator chưa chắc đã phi tập trung
Một người hoặc tổ chức có thể vận hành nhiều validator. Ngược lại, số validator ít hơn nhưng thuộc nhiều bên độc lập vẫn có thể tạo ra phân bổ quyền lực khác. Cần xem cả quyền biểu quyết, quyền sở hữu, hạ tầng và khả năng người dùng tự kiểm chứng.
Cơ chế đồng thuận không bảo vệ mọi rủi ro của người dùng
Đồng thuận không thể khôi phục khóa riêng bị mất, hủy giao dịch đã ký nhầm hoặc tự phát hiện mọi hợp đồng lừa đảo. Người dùng vẫn phải kiểm tra địa chỉ nhận, bảo vệ cụm từ khôi phục và hiểu các thuật ngữ crypto cơ bản trước khi sử dụng ví hoặc sàn giao dịch.
Cách tìm hiểu cơ chế đồng thuận của một blockchain
Khi đánh giá một mạng cụ thể, có thể lần lượt trả lời các câu hỏi sau:
- Ai có thể chạy nút xác minh và ai được tham gia tạo khối?
- Quyền đề xuất hoặc biểu quyết được phân bổ theo yếu tố nào?
- Nút kiểm tra tính hợp lệ của giao dịch bằng những quy tắc nào?
- Mạng xử lý hai khối cạnh tranh ra sao?
- Giao dịch có tính hoàn tất theo xác suất hay theo biểu quyết?
- Điều gì xảy ra khi validator ngoại tuyến, ký hai lần hoặc cố tình kiểm duyệt?
- Quyền lực có tập trung vào nhóm khai thác, đơn vị staking, nhà vận hành hay tổ chức quản trị không?
- Người dùng cần chờ điều kiện nào trước khi coi một giao dịch có giá trị lớn là hoàn tất?
Cơ chế đồng thuận là nền móng giúp các bên không hoàn toàn tin tưởng nhau duy trì cùng một sổ cái. Tuy nhiên, không có thiết kế tốt nhất cho mọi trường hợp. Mỗi blockchain lựa chọn cách cân bằng giữa an toàn, khả năng tiếp tục hoạt động, chống lỗi, hiệu năng, chi phí và mức độ phi tập trung. Hiểu các tiêu chí này hữu ích hơn việc chỉ ghi nhớ tên của từng thuật toán.
