Skip to main content

Hiểu về Cơ chế đồng thuận Nakamoto

Ngày 06 tháng 12 năm 2023 - Chia sẻ bài viết này trên Twitter | FacebookTelegram

Cardano sử dụng một biến thể của đồng thuận Nakamoto có tên là Ouroboros. Đó là Cơ chế đồng thuận (Consensus) Bằng chứng cổ phần (PoS) sử dụng các nguyên tắc cơ bản do Satoshi Nakamoto phát minh cho Bitcoin. Ouroboros được thiết kế để cung cấp các đảm bảo bảo mật tương tự như Proof-of-Work (PoW) đồng thời tiết kiệm năng lượng hơn. Trong bài viết, chúng ta sẽ giải thích các nguyên tắc cơ bản của Cơ chế đồng thuận Nakamoto và nêu bật sự khác biệt giữa PoW và PoS. Trọng tâm sẽ là các nguyên tắc và cơ chế cơ bản.

Đồng thuận Nakamoto

Đồng thuận Nakamoto được phát minh bởi Satoshi Nakamoto, người ẩn danh đã sáng tạo ra Bitcoin. Đây là một giải pháp cho Bài toán Tướng quân Byzantine, câu hỏi liệu có thể đạt được sự đồng thuận trong một mạng lưới phi tập trung gồm nhiều node độc lập hay không.

Ouroboros được thiết kế để cung cấp sự đảm bảo bảo mật tương tự như Bitcoin trong khi tiết kiệm năng lượng hơn. PoW của Bitcoin và PoS của Cardano chia sẻ các nguyên tắc chung của Cơ chế đồng thuận Nakamoto, bất chấp sự khác biệt trong cơ chế và cách triển khai của chúng.

Sự khác biệt chính giữa PoW và PoS nằm ở cách chúng thực hiện các nguyên tắc này.

  • PoW yêu cầu người khai thác giải các câu đố mật mã phức tạp bằng sức mạnh tính toán để thêm các khối mới vào blockchain.

  • PoS chọn nhà sản xuất khối (pool) để đúc các khối mới dựa trên số lượng ADA mà họ sở hữu hoặc đã được ủy quyền cho họ.

Sự khác biệt cơ bản là ở nguồn tài nguyên đắt tiền mà Cơ chế đồng thuận PoW và PoS sử dụng.

  • PoW cần một lượng lớn tốc độ băm (sức mạnh tính toán) để hoạt động. Điều này tiêu tốn rất nhiều năng lượng. Điện là nguồn tài nguyên đắt tiền và có thể tái tạo. Số lượng là không giới hạn.

  • PoS tiết kiệm năng lượng hơn vì tiền kỹ thuật số được sử dụng làm tài nguyên. Một lượng điện nhỏ được tiêu thụ để vận hành các node. Token ADA là một nguồn tài nguyên đắt tiền, không thể tái tạo và khan hiếm.

Việc sử dụng các nguồn tài nguyên đắt tiền khác nhau đã ảnh hưởng đến việc thực hiện các nguyên tắc của Cơ chế đồng thuận Nakamoto. Cả Cơ chế đồng thuận của PoW và PoS đều sử dụng các cơ chế khác nhau để đạt được thời gian sản xuất khối, tính ngẫu nhiên, bảo mật, Phi tập trung, tính toàn diện, triết lý bình quân hóa, v.v.

PoW và PoS khác nhau ở các yếu tố riêng lẻ, nhưng cả hai đều có Cơ chế đồng thuận rất giống nhau về các nguyên tắc của đồng thuận Nakamoto.

Chúng ta sẽ không đề cập đến tất cả các yếu tố trong bài viết. Chúng ta chủ yếu tập trung vào việc giải thích cách đạt được Cơ chế đồng thuận. Trước khi đi sâu vào vấn đề, hãy giải thích lý thuyết cần thiết.

Cơ chế đồng thuận để làm gì?

Mục đích của Cơ chế đồng thuận trong mạng phi tập trung là để đảm bảo rằng tất cả các node tham gia, có thể trải rộng trên các vị trí khác nhau, cùng đồng ý về một trạng thái duy nhất của mạng mặc dù thiếu cơ quan trung ương.

Thỏa thuận này cho phép mạng duy trì trạng thái nhất quán và đáng tin cậy của sổ cái. Mạng phải đạt được thỏa thuận đều đặn, cho phép thay đổi trạng thái của sổ cái.

Trong mạng Blockchain, trạng thái sẽ thay đổi mỗi khi thêm một khối mới. Giao dịch của người dùng được chèn vào các khối. Trong trường hợp Cardano, chứng chỉ cũng có thể được chèn vào các khối.

Chúng ta có ý nghĩa gì khi nói đến Cơ chế đồng thuận?

Cơ chế đồng thuận có thể đề cập đến một bộ quy tắc cho phép các node trong mạng phi tập trung đạt được thỏa thuận chung (thông qua trao đổi thông tin lẫn nhau và đưa ra quyết định tự chủ).

Các quy tắc này được mã hóa trong mã nguồn của giao thức mạng. Một giao thức về cơ bản là một bản thiết kế và máy trạm là phần mềm thực hiện bản thiết kế này. Bằng cách cài đặt máy trạm trên máy tính của họ, người dùng sẽ trở thành các node đóng góp vào hoạt động của mạng phi tập trung (phi tập trung).

Cơ chế đồng thuận cũng có thể đề cập cụ thể đến việc thực hiện quy trình thỏa thuận này, chẳng hạn như thông qua các cơ chế PoW hoặc PoS.

Cơ chế đồng thuận có thể là khả năng của mạng đạt được thỏa thuận nhưng cũng là một cách triển khai cụ thể. Thuật ngữ tương tự có thể đề cập đến một khả năng và một công cụ cùng một lúc.

Trong hình, bạn có thể thấy các máy trạm sử dụng Cơ chế đồng thuận Ouroboros PoS cho phép họ đạt được thỏa thuận chung về việc thay đổi trạng thái của sổ cái. Lưu ý rằng sổ cái là một phần của mỗi máy trạm. Thay đổi trạng thái đang diễn ra trên tất cả các node.

Yêu cầu đồng thuận mạng

Trước khi bắt đầu giải thích Cơ chế đồng thuận Nakamoto, cần phải giải thích một số khía cạnh quan trọng được ứng dụng cho tất cả các loại đồng thuận mạng đối với mạng phi tập trung.

Cơ chế đồng thuận phải đảm bảo rằng mạng hoạt động chính xác ngay cả khi có các node bị lỗi hoặc độc hại. Những kẻ độc hại muốn phá vỡ khả năng đạt được Cơ chế đồng thuận và do đó làm hỏng mạng có thể tham gia mạng mở bất cứ lúc nào.

Một số node trong mạng có thể ngoại tuyến cùng lúc vì nhiều lý do.

Trong mạng phi tập trung, bất kỳ ai sở hữu một tài nguyên đắt tiền (tỷ lệ băm bằng Bitcoin hoặc token trong Cardano) đều có thể giành được một phần quyền lực (tức là tham gia đạt được thỏa thuận).

Độ tin cậy và bảo mật của mạng dựa trên giả định rằng những người tham gia trung thực nắm giữ một phần tài nguyên đắt tiền lớn hơn mức mà các tác nhân độc hại cần để phá vỡ Cơ chế đồng thuận.

Một giả định khác là nếu nhiều node đột nhiên ngoại tuyến thì vẫn có thể đạt được Cơ chế đồng thuận. Không phải mọi loại đồng thuận đều có thể cung cấp điều này.

Mạng phải có thể xử lý các lỗi và lỗi, cả trong mạng và các node tham gia mà không ảnh hưởng đến chức năng tổng thể của hệ thống. Mạng phải có thể chịu tải được các lỗi phát sinh.

Tất cả các node không bị lỗi cuối cùng phải đồng ý về cùng một trạng thái của sổ cái, đảm bảo tính nhất quán và toàn vẹn trên toàn bộ hệ thống. Mạng không được rơi vào tình huống trạng thái bị chia thành hai pool trạng thái khác nhau (Blockchain có thể phân tách thành hai chuỗi cạnh tranh nhau) mà không thể giải quyết tình huống này.

Bạn có thể thấy trong hình rằng mạng duy trì trạng thái thống nhất của sổ cái cho đến khối N+3. Sau đó, trạng thái không rõ ràng. Có một cặp khối có cùng chiều cao N+4 và N+5.

Tại một thời điểm nhất định, không thể xác định trạng thái sổ cái nào hợp lệ.

Các quy tắc giao thức phải được chuẩn bị cho mọi tình huống và đảm bảo tính nhất quán của trạng thái. Trong trường hợp bị phân nhánh (fork) trạng thái, mạng phải có thể phát hiện sự cố và quyết định một cách rõ ràng trạng thái nào là đúng (quy tắc chuỗi dài hơn).

Trong hình, bạn có thể thấy mạng đã loại bỏ các khối thấp hơn N+4 và N+5 (chúng mồ côi). Các khối mới N+6 và N+7 đã được thêm vào phía sau khối N+5 phía trên. Chuỗi này đã thắng và thể hiện trạng thái hiện tại (đã được thống nhất) của sổ cái.

Mọi quy trình không có lỗi cuối cùng đều phải đưa ra quyết định, đảm bảo giao thức đồng thuận cuối cùng sẽ kết thúc. Nói cách khác, mạng không được phép rơi vào tình huống không có cách nào để đạt được sự đồng thuận. Tính liên tục phải được đảm bảo.

Nếu mạng dừng sau khi thêm một cặp khối N+5 và không thể thêm khối khác theo cách quyết định trạng thái nào là đúng thì một thực thể (pool) tập trung (ví dụ như pool phát triển hoặc người đứng đầu) sẽ phải can thiệp. Đây là điều không mong muốn (không Phi tập trung).

An toàn và tính Liên tục

An toàn và tính Liên tục là hai thuộc tính quan trọng đảm bảo mạng hoạt động chính xác và an toàn. Cơ chế đồng thuận của các pool xây dựng mạng lưới phải cân bằng các đặc tính này. Họ phải quyết định xem họ thích cái nào hơn.

Hãy mô tả những đặc tính này.

An toàn đề cập đến sự đảm bảo rằng mạng sẽ không gặp phải đồng thuận sai lầm. Nói cách khác, nó đảm bảo rằng bất kỳ giao dịch nào được coi là hoàn tất bởi một node hoạt động đúng cách cuối cùng sẽ được coi là hoàn tất bởi mọi node hoạt động đúng cách. Điều đó cũng có nghĩa là sẽ không có hai giao dịch nào được coi là hoàn tất xác thực bởi hai node hoạt theo hai cách khác nhau.

Trong trường hợp cực đoan, điều này có thể được hiểu là mạng thích dừng Cơ chế đồng thuận hơn là giải quyết các giao dịch không chính xác. Trong một mạng ưu tiên tính An toàn hơn là tính Liên tục, việc tránh fork là rất quan trọng vì fork ngụ ý rằng có sự bất đồng về trạng thái của sổ cái, điều này có thể dẫn đến vi phạm an toàn.

Việc loại bỏ các giao dịch là điều không mong muốn đối với một mạng như vậy vì nó có thể làm suy yếu độ tin cậy và độ tin cậy của hệ thống. Người dùng mong đợi các giao dịch của họ là cuối cùng và không thể thay đổi sau khi chúng được đưa vào một khối và được thêm vào blockchain.

Bạn có thể thấy tình huống không mong muốn này trong hình. Mạng đã tạo hai khối N+4 và có các giao dịch khác nhau trong mỗi khối (hộp nhỏ màu đỏ và xanh lam). Mạng phải loại bỏ một trong các khối N+4 bao gồm cả các giao dịch.

Đây là những yêu cầu khác với các mạng ưa thích tính Liên tục hơn là tính An toàn.

tính Liên tục là sự đảm bảo rằng mạng sẽ tiếp tục phát triển và không bị đình trệ. Điều này có nghĩa là miễn là có các giao dịch chưa được hoàn tất thì tập hợp các giao dịch đã hoàn tất sẽ tiếp tục tăng lên. Nó đảm bảo rằng mọi giao dịch hoàn thành sẽ được giải quyết bởi tất cả các node trung thực.

Một mạng ưu tiên tính Liên tục hơn là bảo mật sẽ không dừng lại khi fork. Thay vào đó, nó cho phép hai chuỗi tồn tại tạm thời và dựa vào những người tham gia mạng để tiếp tục xây dựng on-chain mà họ tin là đúng. Nói cách khác, trạng thái không nhất quán của sổ cái sẽ tạm thời được chấp nhận.

Trong hình, bạn thấy một tình huống tương tự như trên. Các quy tắc của mạng cho phép tình huống này. Khối N+4 phía dưới bị loại bỏ (bao gồm cả giao dịch màu đỏ). Khối N+5 được thêm vào để chèn giao dịch màu đỏ vào. Cả hai giao dịch hoàn thành đều nằm trong Blockchain.

Tôi hy vọng bạn biết tài sản nào thích mạng sử dụng Cơ chế đồng thuận Nakamoto hơn. Cardano và Bitcoin đều ưu tiên tính Liên tục hơn là tính An toàn.

Sự lựa chọn thiết kế này được thể hiện rõ ràng trong cách thức đồng thuận xử lý các nhánh của Blockchain. Trong Cơ chế đồng thuận của Nakamoto, các node được hướng dẫn đi theo chuỗi dài nhất khi xảy ra fork. Quy tắc này đảm bảo rằng mạng tiếp tục đạt được tiến bộ và mở rộng blockchain, ngay cả khi có những bất đồng hoặc fork tạm thời.

Tuy nhiên, cách tiếp cận này có thể dẫn đến vi phạm tính An toàn tạm thời, chẳng hạn như khi hai miner khai thác một khối có cùng độ lớn trong cùng một thời điểm, dẫn đến bị phân nhánh. Ở Cardano, có thể có hai Slot leader có thể được bầu cùng lúc.

Cuối cùng, mạng cũng sẽ hội tụ về một trong các khối (chuỗi) này như một phần của quy tắc chuỗi dài nhất, nhưng cho đến lúc đó, có thể có những trạng thái trái ngược nhau về lịch sử giao dịch. Thuộc tính An toàn cuối cùng sẽ được khôi phục khi Cơ chế đồng thuận tiếp tục được thêm vào các khối mới. Một chuỗi trở nên dài hơn đáng kể so với các chuỗi khác, khiến nó trở thành chuỗi được chấp nhận rộng rãi.

Mặc dù Cơ chế đồng thuận của Nakamoto nhằm mục đích cung cấp cả tính An toàn và tính Liên tục, nhưng nó được thiết kế để đảm bảo rằng mạng vẫn tồn tại và có thể xử lý các giao dịch ngay cả khi gặp phải những bất đồng tạm thời hoặc các vấn đề về mạng. Tính An toàn đạt được khi Blockchain mở rộng và khả năng tổ chức lại trở nên không quan trọng.

Tính hoàn tất theo xác suất

Các đặc tính An toàn và tính Liên tục có liên quan đến tính Hoàn tất (finality) theo xác suất của Cơ chế đồng thuận Nakamoto.

Tính Hoàn tất theo xác suất đề cập đến khái niệm rằng Tính Hoàn tất của một giao dịch không phải là tuyệt đối tại thời điểm nó được chèn vào một khối mới. Tính Hoàn tất của một giao dịch ngày càng trở nên rõ ràng hơn khi có nhiều khối hơn được thêm vào phía trên khối chứa giao dịch.

Tính An toàn và tính Liên tục liên quan đến tính hoàn tất theo xác suất theo cách sau:

An toàn có nghĩa là khi một giao dịch đã được đưa vào một khối và một số khối đã được thêm vào bên trên nó (làm sâu sắc thêm slot của nó trong chuỗi), khả năng giao dịch đó bị đảo ngược (hoàn nguyên) trở nên rất thấp.

Tuy nhiên, nó không phải là không xảy ra. Luôn có một xác suất nhỏ là một chuỗi cạnh tranh dài hơn có thể xuất hiện, mặc dù xác suất giảm theo cấp số nhân với mỗi khối bổ sung.

Tính Tiên tục đảm bảo rằng các giao dịch hoàn thành sẽ được xác thực và thêm vào Blockchain. Miễn là các pool (nhà sản xuất khối) tiếp tục mở rộng blockchain bằng cách thêm các khối mới, mạng sẽ thể hiện tính Liên tục.

Các giao dịch không được đảm bảo sẽ được đưa vào khối tiếp theo, nhưng cuối cùng chúng sẽ được đưa vào miễn là chúng hợp lệ và mạng tiếp tục hoạt động.

So với Cơ chế đồng thuận của mạng khác thiên về tính An toàn hơn là tính Liên tục, thì Cơ chế đồng thuận của Nakamoto có thể sẽ xác thực chậm hơn.

Người dùng phải đợi mạng thêm một số khối lên trên khối mà giao dịch của anh ấy được chèn vào. Giao dịch chỉ không thể đảo ngược sau khi thêm nhiều khối hơn. Mọi khối mới được thêm vào khác (ở trên khối có giao dịch của người dùng) thể hiện Cơ chế đồng thuận với trạng thái của sổ cái. Chúng ta sẽ tìm hiểu chi tiết sau.

Hình ảnh cho thấy giao dịch của Alice (hộp nhỏ màu xanh) đã được chèn vào khối N+3. Tính Hoàn tất của giao dịch là 0 vì chưa có khối nào được thêm vào. Với mỗi khối bổ sung được thêm vào, Tính Hoàn tất của giao dịch (và cả khối N+3) sẽ tăng lên. Khi khối N+4 được thêm vào, số cuối cùng là 1, v.v. Nếu Alice cần 3 khối là đủ số lượng xác thực (3 nhà sản xuất khối khác đồng ý chặn N+3), cô ấy có thể coi giao dịch đã hoàn tất (không thể đảo ngược) trong khối N+6.

Lưu ý: Tính Hoàn tất của giao dịch có thể được xem dưới dạng giá trị nhị phân. Vậy giao dịch có phải là Hoàn tất (được ghi vĩnh viễn trong Blockchain) hay không (chưa). Đó là lý do tại sao chúng ta hay nhắc đến khái niệm về số lượng xác thực. Mỗi khối được thêm vào sau khối với giao dịch của bạn thể hiện thêm một lần xác thực. Trong khối N+6, giao dịch có 3 xác thực. Nếu Alice coi đây là số lượng xác thực đủ cho một giao dịch với số tiền nhỏ hơn, cô ấy có thể coi giao dịch đã hoàn tất. Việc tổ chức lại Blockchain vẫn có thể xảy ra nhưng với xác suất thấp hơn.

Các mạng ưu tiên tính An toàn hơn là tính Liên tục có thể thu thập được Cơ chế đồng thuận của trạng thái nhanh hơn. Nghĩa là, không phải thông qua việc thêm khối, mà thông qua một số hình thức bỏ phiếu trước hoặc ngay sau khi thêm khối. Kiểu đồng thuận này thường yêu cầu một số lượng lớn các node tham gia tích cực vào việc bỏ phiếu trên mỗi khối.

Tính Hoàn tất của các giao dịch chỉ có thể đạt được một cách nhanh chóng nếu có thể nhận được sự chấp thuận cho trạng thái (khối) mới từ phần lớn các node trong một thời gian ngắn.

Hãy sản xuất một khối mới theo cách Nakamoto

Chúng ta đã nói rằng Cơ chế đồng thuận là sự đồng thuận giữa các node về việc thay đổi trạng thái của sổ cái. Cơ chế đồng thuận của Nakamoto có thể được mô tả đơn giản như sau.

Trong một khoảng thời gian nhất định, hãy chọn ngẫu nhiên một node trong mạng có quyền tạo khối mới. Khối này sẽ được phát tán lên mạng lưới. Nếu một node được chọn ngẫu nhiên khác đồng ý với khối này, nó sẽ nối khối mới của nó lên trên khối (mới nhất) này. Nếu nó không đồng ý, nó sẽ thêm một khối mới lên trên khối trước đó (tức là, khối mới được thêm vào mà không phải sau khối gần nhất trước đó).

Hãy mô tả bức tranh sau đây.

Alice đã thêm khối N+2. Khối này sẽ được các node khác trong mạng nhận được. Vì vậy Bob và Carol cũng sẽ nhận được nó. Bob được bầu ngẫu nhiên làm nhà sản xuất khối tiếp theo. anh ấy nối khối N+3 (màu xanh lá cây) sau khối N+2.

Carol nhận được khối N+3 do Bob sản xuất. Cô ấy được bầu ngẫu nhiên làm nhà sản xuất khối tiếp theo. Carol có hai lựa chọn. Cô ấy có thể nối khối N+4 sau khối N+3 hiện có. Đây là kịch bản được mong đợi (vì sẽ không có sự thiếu nhất quán trong sổ cái). Nhưng cô ấy không thích khối N+3 của Bob. Do đó, cô quyết định nối khối N+3 (màu đỏ) sau khối N+2.

Điều này sẽ tạo ra một fork trong Blockchain (trạng thái của sổ cái hiện không nhất quán). Một nhà sản xuất khối được chọn ngẫu nhiên khác có thể quyết định có thêm khối mới sau khối màu đỏ hoặc xanh lục N+3 hay không.

Hai chức năng là chìa khóa để thêm khối. Xác định khi nào một khối mới sẽ được thêm ai sẽ sản xuất nó. Và cần có các chức năng ngẫu nhiên hóa node và thời gian giao thức.

Thỏa thuận giữa các node chỉ xảy ra sau khi trạng thái mới được đề xuất. Các node khác đồng ý với sự thay đổi với độ trễ dài bằng cách đính kèm một khối mới sau khối trước đó. Thỏa thuận không thể đạt được từ tất cả các node cùng một lúc mà chỉ từ một node duy nhất - node sẽ được chọn làm nhà sản xuất khối tiếp theo. Đạt được thỏa thuận là một quá trình dần dần.

Các node không đồng ý với nhau về việc thay đổi trạng thái trước khi nó được cho là sẽ xảy ra. Thay vào đó, một node được chọn ngẫu nhiên sẽ đề xuất thay đổi một cách có thẩm quyền và cho rằng những node khác sẽ đồng ý. Các node khác rất có thể sẽ đồng ý nếu khối hợp lệ.

Nhà sản xuất khối được khuyến khích đề xuất một khối hợp lệ vì đây là cách duy nhất để được nhận phần thưởng.

Trong mỗi vòng, có một người đề xuất và nhiều người phê duyệt. Các node trong mạng chấp nhận một khối hợp lệ vì họ không có lý do gì để loại bỏ nó. Ví dụ: nếu các node loại bỏ các khối hợp lệ, tất cả các khối do Alice tạo ra, thì các nhánh sẽ phát sinh trong mạng (và do đó sẽ có sự không nhất quán trong sổ cái). Đây là điều không mong muốn.

Quá trình thêm một khối mới bao gồm các bước sau:

  1. Lựa chọn ngẫu nhiên nhà sản xuất khối.
  2. Việc sản xuất một khối mới bởi một node được chọn ngẫu nhiên.
  3. Nhà sản xuất phát khối này lên mạng.
  4. xác thực khối và khả năng chấp nhận của nó.
  5. Quá trình tương tự một lần nữa từ bước một.

Quá trình này giống nhau đối với cả Cardano và Bitcoin. Mặc dù mỗi dự án sử dụng Cơ chế đồng thuận khác nhau nhưng về cơ bản chúng không khác nhau. Hãy mô tả sự khác biệt.

Sự khác biệt nằm ở thời gian của giao thức và sự lựa chọn ngẫu nhiên của các nhà sản xuất khối.

Bitcoin được thiết kế để tạo ra một khối mới khoảng 10 phút một lần. Mạng điều chỉnh độ khó khai thác khoảng hai tuần một lần (khối 2016) để duy trì thời gian khối này. Sự điều chỉnh này đảm bảo rằng thời gian cần thiết để tạo ra một khối vẫn ổn định, ngay cả khi tốc độ băm của mạng (tổng công suất tính toán được sử dụng để khai thác) thay đổi.

Cuộc bỏ phiếu ngẫu nhiên dựa trên việc giải quyết một nhiệm vụ toán học đòi hỏi tính toán cao (câu đố mật mã). Các node muốn khai thác một khối (pool) mới sẽ bắt đầu giải quyết các nhiệm vụ ngay khi chúng nhận được một khối mới. Tất cả các node bắt đầu gần như cùng lúc (độ trễ mạng). Node giải quyết nhiệm vụ đầu tiên sẽ ngay lập tức tạo một khối mới và phát nó lên mạng.

Lưu ý rằng tất cả các pool đều giải quyết cùng một nhiệm vụ, nhưng chỉ một pool có thể thành công. Ngay khi pool nhận được một khối hợp lệ mới, nó sẽ ngừng hoạt động với nhiệm vụ hiện tại và bắt đầu giải quyết một nhiệm vụ mới (khai thác một khối mới).

Đôi khi xảy ra trường hợp một tác vụ giải quyết được hai pool cùng một lúc. Trong trường hợp như vậy, một nhánh của Blockchain sẽ xảy ra và việc này sẽ được giải quyết theo cơ chế được mô tả ở trên.

Trong Bitcoin, quá trình thêm một khối mới bao gồm các bước sau:

  1. Tất cả các pool (miners) bắt đầu khai thác một khối mới.
  2. Một pool tìm ra giải pháp cho câu đố về mật mã.
  3. Pool tạo một khối và phát nó lên mạng.
  4. Các node và pool khác xác thực khối.
  5. Quá trình tương tự được thực hiện lại từ bước một (nếu khối hợp lệ).

Cardano chia thời gian thành các khoảng một giây (slot) và sử dụng mật mã hiện đại, cụ thể là Hàm ngẫu nhiên có thể xác minh (VRF), để chọn ngẫu nhiên.

Thay vì tất cả các node giải quyết một phép toán sử dụng nhiều máy tính, cái gọi là Slot leader được quyết định bằng toán học và đầu vào ngẫu nhiên.

Mỗi node xác minh trong mỗi slot xem liệu nó có trở thành Slot leader hay không. Nếu vậy, nó sẽ tạo ra một khối mới. Không có cơ quan trung tâm nào kiểm soát việc bỏ phiếu. Các node đăng ký bỏ phiếu thông qua các chứng chỉ được lưu trữ trong Blockchain. Các node có thể xác minh rằng họ đã trở thành Slot leader một cách hoàn toàn tự chủ.

Mỗi node cần tính số ngưỡng của nó. Nó bắt nguồn từ kích thước của cổ phần. Cổ phần bao gồm ADA của nhà điều hành (cầm cố) và tất cả những người stake. Số tiền stake càng lớn thì pool có thể tạo ra càng nhiều khối trong một epoch nhất định. Đây là nguyên tắc tương tự mà chúng ta quan sát được trong Bitcoin. Tốc độ băm được ủy quyền cho một pool càng nhiều thì pool đó sẽ khai thác càng nhiều khối.

Mỗi giây, mỗi pool sử dụng thuật toán VRF để có được đầu ra VRF. Đầu ra VRF được so sánh với ngưỡng. Nếu đầu ra VRF nhỏ hơn ngưỡng, pool sẽ trở thành Slot leader và có quyền đúc một khối mới.

Trong Cardano, quá trình thêm khối mới bao gồm các bước sau:

  1. Trong mỗi slot, tất cả các pool đều xác minh xem chúng có phải là Slot leader hay không.
  2. Slot leader tạo ra một khối mới và phát tán nó lên mạng.
  3. Các node và pool khác xác thực khối.
  4. Quá trình tương tự được thực hiện lại từ bước một (nếu khối hợp lệ).

Như bạn có thể thấy, quá trình này diễn ra tương tự như trường hợp của Bitcoin.

Tương tự như Bitcoin, có thể xảy ra trường hợp một vài Slot leader cũng được bầu chọn trong 20 giây (thời gian chặn của Cardano). Thậm chí có thể 2 Slot leader sẽ được bầu vào cùng một slot. Tương tự như Bitcoin, quy tắc chuỗi dài hơn được sử dụng để giải quyết sự fork của blockchain.

Đầu ra của cuộc bỏ phiếu VRF là một con số quyết định chuỗi nào sẽ đến theo trong trường hợp fork Blockchain.

Một trong những khác biệt khác là mô hình khuyến khích. Phần thưởng Bitcoin được trả cho pool (miner) trong mỗi khối mới. Cardano trả thưởng cho tất cả các SPOs và người stake 5 ngày một lần (epoch).

Chúng ta sẽ tìm thấy nhiều khác biệt nhỏ tương tự.

Ví dụ: khi xác thực một khối. Trong trường hợp của Bitcoin, bằng chứng cho thấy nhiệm vụ toán học đã được giải quyết sẽ được xác minh. Trong trường hợp của Cardano, bằng chứng cho thấy khối đến từ node được chọn làm Slot leader đã được xác minh (những thứ khác được xác minh, chẳng hạn như chữ ký KES).

Trong cả hai trường hợp, đều đảm bảo rằng trạng thái của sổ cái không bị thay đổi tùy tiện bởi một node gian lận. Trong Bitcoin, một node lừa đảo sẽ phải tiêu tốn sức mạnh tính toán khổng lồ để tạo ra một khối lừa đảo mới. Ở Cardano, một node lừa đảo sẽ phải phá vỡ mật mã, điều này cũng đòi hỏi sức mạnh tính toán khổng lồ.

Cả hai phương pháp đều có sự đảm bảo bảo mật tương tự nhau.

Thông qua mật mã, Cardano có thể bầu chọn ngẫu nhiên những Slot leader một cách hiệu quả hơn trong một khoảng thời gian nhất định và đảm bảo rằng không ai khác ngoài Slot leader được bầu có thể thêm một khối mới vào Blockchain. Bitcoin cần tiêu thụ một lượng năng lượng khổng lồ cho mục đích tương tự.

Lời kết

Cơ chế đồng thuận của Nakamoto có thời gian hoàn thành giao dịch chậm nhưng rất mạnh mẽ. Nếu một số lượng lớn các node ngoại tuyến, mạng vẫn có thể tạo các khối (mặc dù với tốc độ chậm hơn).

Cardano và Bitcoin khác nhau ở nhiều khía cạnh như Phi tập trung, ngân sách bảo mật, phương pháp quân bình hóa, tính toàn diện, v.v.

Ví dụ, Cơ chế đồng thuận của Nakamoto không thể ảnh hưởng trực tiếp đến chất lượng của quá trình Phi tập trung. Trong mạng Bitcoin hiện nay, hơn 50% khối được tạo ra chỉ bởi hai pool, trong khi ở mạng Cardano, có hơn 1000 pool. Điều này là do cơ chế phần thưởng khác nhau (khái niệm về độ bão hòa pool rất quan trọng). Bitcoin không quan tâm đến việc có một nhà sản xuất khối duy nhất hay là 1000. Giao thức Cardano biết tính Phi tập trung của nó và có thể khuyến khích sự phát triển của nó về mặt kinh tế.

Phi tập trung là một tính năng chính của mạng blockchain. Mục tiêu chính của Cơ chế đồng thuận mạng là cho phép thỏa thuận giữa một số lượng lớn các nhà sản xuất khối (chúng có thể theo thứ tự từ hàng trăm đến hàng nghìn). Chất lượng của các thuộc tính riêng lẻ của mạng được xác định bởi sự kết hợp của nhiều yếu tố và chi tiết khác nhau. Cơ chế đồng thuận của Nakamoto là một trong những yếu tố chính cho cả Bitcoin và Cardano, nhưng còn có những yếu tố khác.

Cơ chế phần thưởng, tính toàn diện và phương pháp quân bình hóa ảnh hưởng đến sự Phi tập trung. Đây là điểm mà PoW và PoS khác nhau về cơ bản. Không giống như khai thác (mining), stake có rào cản gia nhập nhỏ hơn, ít rủi ro hơn và mọi người trên thế giới đều có thể truy cập được. Đây là một trong nhiều sự khác biệt.

Nguồn bài viết tại đây


Picture

Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới