Cơ chế đồng thuận là gì?
Cơ chế đồng thuận là tập hợp quy tắc mà mạng blockchain dùng để quyết định block nào được chấp nhận tiếp theo và lịch sử sổ cái nào được sử dụng. Các node nhận và kiểm tra dữ liệu một cách độc lập. Ngay cả khi thông điệp đến vào những thời điểm khác nhau hoặc có người gửi thông tin xung đột, các quy tắc chung vẫn phải giúp mạng tiếp tục hoạt động.
Đồng thuận không có nghĩa là mọi người đồng ý về mọi vấn đề hay mọi node nhìn thấy cùng dữ liệu tại cùng một thời điểm. Điều đó có nghĩa là, trong các điều kiện do giao thức quy định, những node tuân thủ quy tắc cuối cùng có thể sử dụng các lịch sử sổ cái tương thích và phân biệt dữ liệu còn có thể thay đổi với dữ liệu đã đạt mức chung cuộc do giao thức xác định.
Block hợp lệ chưa chắc là block được mạng chọn
Khi xác thực một block, node kiểm tra các quy tắc như chữ ký giao dịch, ngăn chi tiêu hai lần và giới hạn kích thước. Xác thực trả lời câu hỏi: “Ứng viên này có đủ điều kiện được chấp nhận không?”
Cơ chế đồng thuận còn phải trả lời: “Nếu có nhiều ứng viên hợp lệ, mạng sẽ tiếp tục xây dựng trên ứng viên nào?” Độ trễ mạng có thể khiến hai bên tham gia công bố các block khác nhau gần như cùng lúc. Cả hai có thể hợp lệ, nhưng không thể cùng chiếm một vị trí trong một lịch sử duy nhất. Vì vậy, các node dùng tổng công việc, phiếu bầu của validator, thứ tự được lập lịch hoặc tín hiệu khác của giao thức để lựa chọn nhất quán.
Quy tắc hợp lệ xác định dữ liệu nào được tham gia quá trình lựa chọn. Quy tắc chọn nhánh và tính chung cuộc sau đó xác định lịch sử mà các node tiếp tục sử dụng. Chúng thực hiện các nhiệm vụ khác nhau, nhưng bài viết dùng nghĩa rộng của đồng thuận, bao gồm các quy tắc cần thiết để duy trì trạng thái sổ cái chung.
Quy trình đồng thuận cơ bản
Chi tiết khác nhau giữa các mạng. Bốn giai đoạn sau đây tạo thành một mô hình chung. Trên các sổ cái theo block như Bitcoin và Ethereum, dữ liệu đang chờ thường được tập hợp thành block ứng viên.
Đề xuất hoặc thu thập dữ liệu đang chờ
Giao thức xác định ai có thể đề xuất, sắp xếp hoặc thu thập lô dữ liệu tiếp theo. Bằng chứng công việc cho phép các bên cạnh tranh cơ hội thông qua tính toán. Bằng chứng cổ phần thường lập lịch validator dựa trên tài sản stake, yếu tố ngẫu nhiên và giới hạn của giao thức. Mạng cần cấp quyền có thể cho các node được duyệt luân phiên đề xuất hoặc dùng nhiều vòng thông điệp để thống nhất thứ tự.
Trên mạng theo block, giai đoạn này phân bổ cơ hội tạo block. Xét rộng hơn, cơ chế phải ngăn một người có được lượng ảnh hưởng tương ứng với số danh tính giả mà họ tạo. Vì vậy, mỗi thiết kế yêu cầu công việc tính toán, tài sản stake, quyền tham gia hoặc một điều kiện khan hiếm khác.
Xác thực dữ liệu ứng viên
Các node thực hiện kiểm tra theo giao thức khi nhận giao dịch, block hoặc kết quả sắp xếp. Quyền đề xuất không biến dữ liệu không hợp lệ thành hợp lệ. Các node khác có thể từ chối chữ ký sai, giao dịch chi tiêu hai lần, thay đổi trạng thái không hợp lệ hoặc dữ liệu sai định dạng.
Xử lý các lịch sử cạnh tranh
Các node có thể nhận giao dịch theo thứ tự khác nhau hoặc thấy nhiều block hợp lệ ở cùng độ cao hay cùng slot. Giao thức phải xác định thứ tự xử lý hoặc nhánh cần theo. Ví dụ, các node Bitcoin so sánh tổng công việc của các nhánh, còn các node bằng chứng cổ phần Ethereum dùng trọng số stake được thể hiện qua chứng thực của validator để chọn đầu chuỗi hiện tại. Khi có thông tin mới, một nhánh vừa được chọn có thể bị thay bằng nhánh khác; thay đổi này gọi là tái tổ chức chuỗi.
Xác định khi nào giao dịch đủ tính chung cuộc
Xác nhận và tính chung cuộc mô tả khả năng một giao dịch bị thay thế. Một số cơ chế dùng xác nhận theo xác suất: khi có thêm block, việc viết lại lịch sử thường khó hơn và độ tin cậy tăng lên, nhưng không có một thời điểm duy nhất khiến block tuyệt đối không thể thay đổi. Cơ chế khác định kỳ chọn block tham chiếu để bỏ phiếu. Các điểm kiểm tra này đạt trạng thái chung cuộc theo giao thức sau khi vượt ngưỡng phiếu bầu.
Các kết quả chung cuộc xung đột thường cho thấy giả định về mức tham gia, hành vi trung thực hoặc liên lạc đã bị phá vỡ. Mạng có cơ chế cắt giảm tài sản stake cũng có thể phạt một số vi phạm, nhưng không phải cơ chế chung cuộc nào cũng có hình phạt.
Tính chung cuộc vẫn có điều kiện. Lỗi phần mềm, đủ nhiều bên độc hại, mạng bị chia cắt kéo dài hoặc biện pháp khẩn cấp ngoài giao thức có thể vượt quá giả định an toàn. Vì vậy, cần phân biệt số lần xác nhận, độ tin cậy xác suất tăng dần và quy tắc chung cuộc rõ ràng.
Các quy tắc thường có trong cơ chế đồng thuận
Một thiết kế đầy đủ không chỉ là một hành động đào hay bỏ phiếu. Nó thường quy định:
- Tham gia: ai có thể đề xuất, bỏ phiếu hoặc xác thực và cách hạn chế danh tính giả.
- Đề xuất: thời điểm và cách sắp xếp giao dịch, công bố block ứng viên.
- Xác thực: cách các node khác xác định block và giao dịch hợp lệ.
- Chọn nhánh: nhánh nào được theo khi có nhiều nhánh hợp lệ.
- Tính chung cuộc: điều kiện để block không còn bị đảo ngược trong hoạt động bình thường.
- Xử lý sự cố: cách mạng phản ứng khi bên tham gia ngoại tuyến, thông điệp bị trễ hoặc xung đột.
- Phần thưởng và hình phạt: phần thưởng block, phí, cắt giảm stake hay động lực khác ảnh hưởng hành vi ra sao.
Không phải cơ chế nào cũng tách các quy tắc thành từng mô-đun, và không phải mạng nào cũng dùng phần thưởng token. Cần đánh giá toàn bộ quy trình chứ không chỉ xem cơ chế dùng tính toán hay stake.
Khác biệt giữa các cơ chế phổ biến
Bằng chứng công việc
Bằng chứng công việc yêu cầu bên tạo block lặp lại phép tính cho đến khi tìm được kết quả đáp ứng độ khó của giao thức. Khi các chuỗi hợp lệ cạnh tranh, node thường theo nhánh có tổng công việc lớn hơn. Kẻ tấn công muốn viết lại lịch sử phải thực hiện lại công việc liên quan và bắt kịp mạng trung thực.
Cách tiếp cận này gắn ảnh hưởng với công việc tính toán có thể kiểm chứng. Chi phí gồm năng lượng, thiết bị, vận hành và thời gian xác nhận. Mức an toàn thực tế còn phụ thuộc vào phân bổ năng lực tính toán, kết nối mạng, quy tắc độ khó và việc các node xác thực đúng.
Bằng chứng cổ phần
Bằng chứng cổ phần cho phép validator khóa tài sản của giao thức để đề xuất block hoặc bỏ phiếu. Giao thức quy định cách chọn validator, trọng số phiếu bầu, phần thưởng, hình phạt khi không hoạt động và cách xử lý phiếu xung đột. Một số thiết kế đánh dấu rõ một block là chung cuộc sau khi đạt ngưỡng phiếu bầu.
Stake không đơn giản là “giữ tài sản rồi bỏ phiếu”. Validator vẫn phải chạy phần mềm, kiểm tra block và gửi thông điệp đúng hạn. Quy tắc lựa chọn, hình phạt và tính chung cuộc cũng khác nhau giữa các mạng.
Bỏ phiếu cần cấp quyền hoặc luân phiên đề xuất
Một số blockchain cần cấp quyền xác định trước tổ chức hoặc node nào được tham gia. Các node có thể luân phiên đề xuất block hoặc dùng nhiều vòng thông điệp và phiếu bầu để xác nhận thứ tự. Vì danh tính và số lượng bên tham gia bị giới hạn, hệ thống có thể nêu rõ số node ngoại tuyến hoặc độc hại mà nó chịu được và điều kiện liên lạc cần có. Đây là các giả định sự cố.
Những thiết kế này không cần cạnh tranh tính toán mở hay stake công khai, nhưng phụ thuộc vào kiểm soát thành viên, quản lý khóa và quản trị tổ chức. Mức phù hợp phụ thuộc vào quan hệ tin cậy và mục tiêu của hệ thống.
Cân bằng giữa an toàn và khả năng tiếp tục hoạt động
Hệ thống phân tán thường đánh giá đồng thuận bằng hai câu hỏi: các node có thể xác nhận kết quả xung đột không, và mạng có thể tiếp tục tạo block không? Thuộc tính thứ nhất thường gọi là an toàn, thuộc tính thứ hai là tính sống.
Giả sử một phần mạng tạm thời không thể liên lạc với phần còn lại, tạo ra phân vùng mạng. Một giao thức có thể tạm dừng xác nhận chung cuộc để hai nhóm không xác nhận kết quả xung đột, nhưng việc quyết toán cũng dừng lại. Giao thức khác có thể cho cả hai nhóm tiếp tục rồi dùng quy tắc chọn nhánh khi kết nối trở lại. Cách thứ nhất ưu tiên tránh xung đột; cách thứ hai ưu tiên tiến độ nhưng có thể phải đảo ngược một nhánh gần đây.
Mỗi thiết kế đặt ra giả định khác nhau về số bên tham gia, tỷ lệ độc hại, độ trễ và đồng bộ. Vì vậy, xác nhận nhanh hơn không đủ để kết luận một cơ chế tốt hơn.
Các đánh đổi khác gồm mức độ mở, yêu cầu phần cứng hoặc stake, thời gian xác nhận, thông lượng, khôi phục sự cố, mức tiêu thụ tài nguyên và sự tập trung quyền tham gia. Cải thiện một thuộc tính có thể làm tăng chi phí của thuộc tính khác.
Đồng thuận không chứng minh thông tin ngoài chuỗi là đúng
Đồng thuận có thể khiến các bên chấp nhận cùng một bản ghi số theo quy tắc giao thức. Nó không thể tự chứng minh rằng thông tin về thế giới bên ngoài là chính xác. Nếu validator cùng xử lý một giá trị giá, điều đó chỉ cho thấy giá trị được ghi theo giao thức, không chứng minh nguồn dữ liệu chính xác hoặc không bị thao túng.
Đồng thuận cũng không bảo đảm hợp đồng thông minh không có lỗi, khóa riêng không bị đánh cắp hoặc người dùng hiểu giao dịch đã ký. Nguồn dữ liệu, an toàn phần mềm, bảo vệ khóa và ủy quyền người dùng vẫn là các vấn đề riêng.
Quy tắc đồng thuận và quản trị giao thức
Quy tắc đồng thuận xác định cách các node xử lý block hiện tại. Quản trị giao thức xác định cách các quy tắc có thể thay đổi trong tương lai. Nhà phát triển có thể đề xuất nâng cấp, đơn vị vận hành có thể chọn cài phần mềm và validator có thể thể hiện ủng hộ. Việc công bố mã không buộc mọi node áp dụng quy tắc mới.
Nếu các bên chạy quy tắc không tương thích, mạng có thể tách thành các lịch sử riêng. Trao đổi và áp dụng trong quá trình nâng cấp là vấn đề quản trị; xác thực và chọn block sau khi nâng cấp có hiệu lực là thực thi đồng thuận. Hai chủ đề liên quan nhưng không giống nhau.
Câu hỏi thường gặp
Cơ chế đồng thuận có phải chỉ là bỏ phiếu không?
Không. Một số cơ chế dùng phiếu bầu rõ ràng, còn bằng chứng công việc chủ yếu dùng tính toán có thể kiểm chứng và quy tắc chọn chuỗi. Ngay cả hệ thống bỏ phiếu cũng thường gồm đề xuất, xác thực, chọn nhánh và tính chung cuộc.
Mọi node có phải đồng ý cùng lúc không?
Không. Các node có thể nhận thông điệp theo thứ tự khác nhau và tạm thời theo các nhánh khác nhau. Mục tiêu là để các node tuân thủ quy tắc hội tụ về kết quả tương thích trong phạm vi giả định về sự cố và tấn công.
Giao dịch có chung cuộc ngay khi vào block không?
Không nhất thiết. Giao dịch có thể mới chỉ có xác nhận ban đầu và block vẫn có thể bị thay thế khi chuỗi tái tổ chức. Cần xem quy tắc xác nhận và tính chung cuộc của mạng cụ thể.
Đồng thuận có thể ngăn mọi cuộc tấn công không?
Không. Nó chỉ xử lý những sự cố và xung đột cụ thể trong các giả định về mạng, bên tham gia và tài nguyên. Lỗi phần mềm, khóa bị đánh cắp, dữ liệu ngoài chuỗi sai, mạng bị cô lập hoặc hành vi phối hợp vượt ngưỡng an toàn vẫn có thể gây ra vấn đề.
Khái niệm liên quan
Đọc tiếp về blockchain và block, cùng các khái niệm node blockchain và hàm băm mật mã, hoặc quay lại Thuật ngữ crypto.
Nguồn
- NISTIR 8202: Tổng quan về công nghệ blockchain — đồng thuận, xử lý xung đột và các mô hình chung.
- Sách trắng Bitcoin — phát giao dịch, bằng chứng công việc, lựa chọn chuỗi và xác nhận.
- Hướng dẫn nhà phát triển Bitcoin: blockchain — tổng công việc, xác thực block và chọn chuỗi.
- Ethereum.org: bằng chứng cổ phần — đề xuất, chứng thực, chọn nhánh và tính chung cuộc.
- Ethereum.org: Gasper — kết hợp chọn nhánh với tính chung cuộc theo điểm kiểm tra.
- Bài báo Raft: In Search of an Understandable Consensus Algorithm — an toàn, khả năng tiếp tục hoạt động và điều kiện liên lạc trong đồng thuận phân tán.
© 2025 OKX. Bài viết này có thể được sao chép hoặc phân phối toàn bộ, hoặc trích dẫn các đoạn không quá 100 từ, miễn là không sử dụng cho mục đích thương mại. Mọi bản sao hoặc phân phối toàn bộ bài viết phải ghi rõ: “Bài viết này thuộc bản quyền © 2025 OKX và được sử dụng có sự cho phép.” Nếu trích dẫn, vui lòng ghi tên bài viết và nguồn tham khảo, ví dụ: “Tên bài viết, [tên tác giả nếu có], © 2025 OKX.” Một số nội dung có thể được tạo ra hoặc hỗ trợ bởi công cụ trí tuệ nhân tạo (AI). Nghiêm cấm các tác phẩm phái sinh hoặc hình thức sử dụng khác đối với bài viết này.







