Đầu tiên, Consensus – Cơ chế đồng thuận là gì ?
Hệ thống đồng thuận là cách các nodes trong một hệ thống, mạng lưới phân tán đồng ý đưa ra cùng một quyết định.
Đối với một hệ thống blockchain, quyết định quan trong nhất là khối nào sẽ là khối tiếp theo trong chuỗi.
Các cơ chế đồng thuận
Trước khi Avalanche consensus xuất hiện, chỉ có 2 thuật toán tồn tại lúc bấy giờ là: Classical và Nakamoto.
Classical consensus
Ở Classical consensus hay cơ chế đồng thuận cổ điển sẽ có nhiều vòng bỏ phiếu.
Mỗi node sẽ nói chuyện với các node khác để truyền đạt lựa chọn của mình. Bởi vì các node cần nói chuyện với nhau và lắng nghe ý kiến từ những người còn lại, quá trình này cần một giao thức danh sách thành viên chính xác nhất.
Cơ chế cổ điển rất thuận tiện với một nhóm node nhỏ, nhưng số node trong các mạng lưới thì ngày càng gia tăng. Một mạng lưới có càng nhiều node, hiệu suất của cơ chế này càng bộc lộ rõ yếu điểm.
Classical consensus không thể phù hợp, thích nghi với các mạng lưới phi tập trung đang lớn dần.
Một vài blockchain cũ đã cố để giấu điểm yếu của cơ chế này, bằng cách chỉ chọn ra một phần nhỏ trong tổng số node để tham gia vào quá trình đồng thuận. Ví dụ như blockchain A có 1000 validators, nhưng chỉ có 100 validator tham gia đồng thuận.
Nakamoto consensus
Đây là cơ chế đồng thuận của Bitcoin và rất nhiều đồng tiền điện tử khác sử dụng.
Cơ chế này hoạt động bằng cách tận dụng quy tắc chuỗi dài nhất. Các thợ đào (Miner) sẽ không tham gia bỏ phiếu, họ chỉ làm việc và phân phối kết quả.
Ưu điểm của cơ chế đồng thuận Nakamoto là có thể mở rộng quy mô đến số lượng người dùng lớn mà không làm giảm hiệu suất. Nhưng hiệu suất của Nakamoto vốn lại không được cao.
Các miner có thể đến hoặc đi tùy thích và bất kì số lượng nào cũng có thể tham gia vào quá trình đồng thuận. Điều này có thể gây ra sự chậm trễ, các quyết định sẽ không được đưa ra và các khối có thể bị cấu trúc lại bất kì lúc nào.
Bạn hẳn đã từng nghe về điều này của mạng lưới Bitcoin, cứ sau mỗi 6 khối được thêm vào , dữ liệu các giao dịch sẽ không thể thay đổi. Điều này chỉ đúng 1 phần. Càng nhiều giao dịch được xác nhận, càng ít khả năng một chuỗi dài hơn xuất hiện và thay thế phiên bản lịch sử. Nhưng điều này không đảm bảo 100% rằng sẽ không xuất hiện một chuỗi dài hơn. Do đó Nakamoto đã ước tính rằng 6 khối là độ dài hợp lí với độ tin cậy lên đến 99%.
Cơ chế đồng thuận Avalanche
Đây là thuật toán đồng thuận hoàn toàn mới hoạt động bằng cách lấy ngẫu nhiên một số “mẫu con” (subsampling).
Thuật toán này được phát minh, nghiên cứu và phát triển bởi các nghiên cứu viên ở đại học Cornell, trong đó bao gồm các nhà sáng lập của Avalanche như ngài Emin Gun Sirer, ngài Ted Yin và ngài Kevin.
Để tôi lấy một ví dụ giúp bạn hiểu về Avalanche consensus:
Giả sử có 1000 người tham gia một cuộc họp, đã đến giờ trưa và họ phải quyết định món ăn cho mình, một số người thích ăn cơm, số người còn lại thích ăn bún. Tuy mỗi người một sở thích nhưng họ phải thống nhất một món ăn cho tất cả.
Bạn hãy tiến hành bốc ngẫu nhiên 1 nhóm 10 người và khảo sát. Với nhóm đầu tiên, 7/10 nói rằng họ muốn ăn cơm. Vậy phần đa của nhóm người đã chọn cơm.
Tiếp đó, bạn hãy bốc ngẫu nhiên thêm 1 nhóm 10 người khác. Nếu đa số thích ăn bún, hãy thay đổi câu trả lời của mình nếu ai hỏi. Còn nếu vẫn là cơm, hãy note lại rằng bạn đã nhận được câu trả lời này 2 lần liên tiếp.
Hãy tiếp diễn quá trình này cho đến khi bạn nhận được 100 câu trả lời giống nhau liên tiếp. Khi đó, quyết định đã được đưa ra.
Bời vì các node chỉ giao tiếp với nhau trong một nhóm nhỏ và có số lượng cố định, giảm độ phức tạp đến mức tối thiểu. Không như phương thức đồng thuận cổ điển, sự phức tạp sẽ tăng lên khi càng đông người tham gia.
Phải chăng bạn đang tự hỏi rằng: “Nếu cứ chọn theo lượt như thế, sẽ mất bao nhiêu lượt để có thể đưa ra một quyết định ?”. Điều này hoàn toàn dựa trên kích thước của mạng lưới. Tuy nhiên, độ phức tạp của nó vẫn khá đơn giản, có thể được tính bằng hàm O(log n), khá dễ để quản lý.
Vì có cơ chế đặc biệt, Avalanche consensus có tính xác suất. Có thể 1 node chỉ có thể lấy kết quả thiểu số từ các node khác và đưa ra kết quả sai. Tuy nhiên, thuật toán lại là một tham số, thứ không thể thay đổi được. Chúng ta có thể làm cho xác suất xảy ra điều đó nhỏ tùy ý, thậm chí nhỏ hơn 0.0000000000001%.
Và bởi vì có tính đồng thuận cao, các quyết định giao dịch đã đưa ra trên Avalanche sẽ bị khóa mãi mãi và khối đó sẽ không tái cấu trúc được.
Những thuộc tính của cơ chế đồng thuận Avalanche
Số 1
Đây là một giao thức hiệu quả về mặt tính toán. Các yếu tố bắt buộc là độ trễ tin nhắn và băng thông.
Nghĩa là bạn không cần phải sắn một con máy quá đắt, quá xịn để chạy node Avalanche
Số 2
Giao thức có quãng nghỉ. Nghĩa là nó sẽ chỉ chạy khi có công việc cần làm, tránh trường hợp lãng phí năng lượng tính toán.
Số 3
Avalanche consensus cực kì thân thiện với môi trường. Bởi vì yêu cầu phần cứng không cao, giao thức của Avalanche sẽ tác động rất ít lên môi trường.
Số 4
Avalanche consensus có tốc độ cực kì nhanh. Trong quá trình mô phỏng cũng như thực tế, cơ chế đồng thuận này đã đạt được con số 4500 giao dịch một giây với các quyết định cuối được đưa ra trong khoảng 1-2s
Số 5
Avalanche có thể sử dụng giao thức bảo vệ Sybil.
Avalanche là một chuỗi proof-of-stake. Nhưng proof-of-stake không phải là cơ chế của Avalanche consensus. Đây chính là một giao thức bảo vệ Sybil hiệu quả.
Số 6
Avalanche consensus có thể được tùy biến. Vì đây là một dòng giao thức đồng thuận hoàn toàn mới, không hề có một cách triển khai khuôn mẫu nào cho nó.
Tổng kết
Với cơ chế đồng thuận riêng biệt này, Avalanche đạt được mức độ an toàn cực kì cao. Bitcoin sẽ bị tấn công khi 51% node bị hack, còn với Avalanche, bạn sẽ cần hack đến 80% node của mạng lưới này đấy.
Đương nhiên là điều gì cũng có 2 mặt, đánh đổi cho những lợi ích trên là rủi ro nếu các node đồng loạt ngưng hoạt đồng. Giả sử nếu 1/3 node ngưng hoạt động, tiến trình đồng thuận sẽ bị chậm lại, thậm chí là tạm dừng.
Follow me on: Instagram or Twitter
Ủng hộ và Theo dõi CoinF tại các kênh:
Youtube
Telegram Channel
Telegram Group
Twitter
Discord
Facebook Group
Facebook Fanpage