polkadotPolkadot
$ 4.15
Issue Price
$0.12
Block Explorer
Website
Twitter
Whitepaper

Token Release

Sự đồng thuận của Polkadot

Sự đồng thuận của Polkadot - Syndicator
Share on facebook
Share on twitter
Share on linkedin

Đồng thuận là một phương pháp để có thể đi đến thống nhất về một vấn đề hay trạng thái phát sinh. Để trạng thái của blockchain được xây dựng và phát triển, thì tất cả các node trong mạng phải đồng ý để đạt được sự đồng thuận. Đây cũng là cách giúp cho các node trong mạng lưới phi tập trung có thể đồng bộ hóa với nhau. Nếu một blockchain không có sự đồng thuận của các node, thì sẽ không có cách nào để đảm bảo trạng thái được xác nhận từ node này được chia sẻ qua node khác. Sự đồng thuận nhằm mục đích cung cấp cái nhìn khách quan về trạng thái giữa những người tham gia. Đó là quá trình các node này giao tiếp và đi đến thống nhất, đồng thời có thể xây dựng các block mới.

PoW và PoS là gì?

Proof of Work (PoW) và Proof of Stake (PoS) đã được sử dụng như cách viết ngắn gọn để chỉ các cơ chế đồng thuận của các blockchain, nhưng điều này lại không thể hiện được bức tranh đầy đủ về 2 thuật ngữ này.

  • PoW là phương pháp để thống nhất về việc block sinh ra và là một phần của sự đồng thuận Nakamoto cũng là thuật toán dựa trên lựa chọn chuỗi (quy tắc chuỗi dài nhất trong Bitcoin).
  • Tương tự, PoS là một tập hợp các quy tắc để chọn một tập hợp các validator và không cần một quy tắc nào để chỉ định hoặc cách một chuỗi có thể đạt được trạng thái cuối cùng. Các thuật toán PoS cổ điển sẽ được ghép với một thuật toán khác để đạt được thỏa thuận Byzantine giữa các node. Ví dụ: Tendermint là một thuật toán của Byzantine sử dụng PoS để lựa chọn validator cho nó.

Tại sao không chọn PoW?

Mặc dù PoW hoạt động đơn giản và hiệu quả hơn trong việc đạt được sự đồng thuận phi tập trung cho việc sản xuất block, nhưng với việc sự đồng thuận của Nakamoto tiêu thụ một lượng năng lượng rất lớn nên dẫn đến không mang lại lợi ích kinh tế và việc chống lại các cuộc tấn công sẽ rất khó.

Probabilistic với provable finality

Một blockchain đồng thuận Nakamoto chỉ thuần túy chạy PoW thì cũng chỉ có thể đạt được khái niệm về probabilistic finality và đạt được sự đồng thuận cuối cùng. Probabilistic finality (Xác suất cuối cùng) ví dụ với một số lượng bất kỳ về mạng và người tham gia. nếu chúng ta thấy một vài block xây dựng trên một block nhất định, chúng ta có thể ước tính về xác suất nó sẽ là block cuối cùng. Đồng thuận cuối cùng có nghĩa là vào một thời điểm nào đó trong tương lai, tất cả các node sẽ đồng ý về tính trung thực của một tập dữ liệu. Sự đồng thuận cuối cùng này có thể mất nhiều thời gian và sẽ không quy định với một thời gian nào hết. Tuy nhiên, các tiện ích cuối cùng như GRANDPA hoặc Casper FFG của Ethereum được thiết kế để đảm bảo mạnh mẽ hơn và nhanh hơn về tính cuối cùng của các block – cụ thể là chúng không bao giờ có thể được hoàn tác sau khi một số quá trình thỏa thuận Byzantine đã diễn ra. Khái niệm về sự đồng thuận không thể đảo ngược được gọi là tính cuối cùng có thể chứng minh được.

GRANDPA/BABE là gì?

Đồng thuận hỗn hợp

Có hai từ viết tắt mà bài viết sử dụng khi nói về giao thức đồng thuận của Polkadot, đó là GRANDPA và BABE. Sử dụng hai từ viết tắt này vì Polkadot dùng cái được gọi là sự đồng thuận kết hợp . Sự đồng thuận kết hợp tách tiện ích cuối cùng khỏi cơ chế tạo block.

Đây là một cách để nhận được những lợi ích của probabilistic (khả năng luôn tạo ra các block mới) và provable finality (có một thỏa thuận chung về chuỗi chuẩn không có cơ hội đảo ngược) trong Polkadot. Nó cũng tránh những nhược điểm tương ứng của từng cơ chế (khả năng vô tình bị fork và dẫn tới việc bị đình trệ – không thể tạo ra các block mới). Bằng cách kết hợp hai cơ chế này, Polkadot cho phép các block được tạo ra một cách nhanh chóng và cơ chế hoàn thiện với tốc độ chậm hơn chạy trong một quy trình riêng biệt để hoàn thiện các block mà giảm thiểu đi rủi ro bị đình trệ hoặc xử lý chậm các giao dịch.

Sự đồng thuận kết hợp này đã được đề xuất từ trước. Đáng chú ý, nó đã được đề xuất (tuy không còn tồn tại) như một bước trong quá trình chuyển đổi của Ethereum sang PoS trong EIP 1011 , chỉ định Casper FFG .

BABE

BABE (Blind Assignment for Blockchain Extension) là cơ chế sản xuất block chạy giữa các node của validator và xác định việc tạo ra các block mới. BABE có thể xem như một thuật toán Ouroboros Praos, với một số khác biệt chính trong quy tắc lựa chọn chuỗi và căn chỉnh thời gian các vị trí. BABE sẽ chỉ định vị trí sản xuất block cho validator theo số stake và sử dụng chu kỳ ngẫu nhiên Polkadot .

Validator ở Polkadot sẽ tham gia cơ chế ngẫu nhiên để họ biết liệu họ có phải là ứng cử viên tạo block cho vị trí đó hay không. Slot là đơn vị thời gian, có độ dài được ước tính là 6 giây. Do cơ chế ngẫu nhiên này, nhiều valiadator có thể là ứng cử viên cho cùng một vị trí. Nhưng với những lần khác, slot có thể bị bỏ trống, dẫn đến thời gian tạo block không nhất quán.

Nhiều validator cho một slot

Nếu có nhiều validator là ứng cử viên cho một slot tạo block, tất cả validator sẽ tạo ra một block và gửi nó lên mạng lưới Polkadot. Tại thời điểm đó, nó sẽ biến thành một cuộc đua. Validator nào có block tiếp cận mạng lưới trước sẽ thắng. Tùy thuộc vào cấu trúc liên kết mạng và độ trễ, cả hai chuỗi sẽ tiếp tục xây dựng với số dung lượng nhất định, cho đến khi quá trình hoàn thiện bắt đầu và cắt bỏ một fork.

Khi không có validator trong Slot

Khi không có validator nào đạt đủ tiêu chuẩn tạo block khi quay ngẫu nhiên, khi đó sẽ có một slot không thể tạo khối. Polkadot xử lýđiều này bằng cách chạy thuật toán lựa chọn validatorkiểu vòng tròn thứ cấp. Validator được chọn thông qua thuật toán này luôn tạo ra các block, nhưng các block thứ cấp này sẽ bị bỏ qua nếu tại slot đó cũng tạo ra một block chính từ validator do VRF chọn . Do đó, một slot chỉ có thể có một block chính hoặc một block phụ và không có slot nào bị bỏ qua cả.

Để biết thêm chi tiết về BABE, vui lòng xem tại đây

Sự khác biệt của các khối thứ cấp BABE giữa Kusama và Polkadot

Cả Kusama và Polkadot đều sử dụng cơ chế sản xuất khối BABE đã nêu ở trên. Tuy nhiên, có một sự khác biệt nhỏ trong các khối thứ cấp được tạo ra giữa hai mạng. Polkadot gắn đầu ra VRF với các khối thứ cấp (và do đó mọi block đều đóng góp vào tính ngẫu nhiên của Era), trong khi Kusama tách VRF khỏi các block thứ cấp (có nghĩa là chỉ các block chính mới đóng góp vào tính ngẫu nhiên của Era). Phương pháp Polkadot sẽ cung cấp tính ngẫu nhiên mạnh hơn vì nhiều đầu vào hơn được thu thập trong mọi Era. Tuy nhiên, dần dần Kusama cũng sẽ thay đổi phương thức này để giống với Polkadot hơn.

GRANDPA: Tiện ích cuối cùng

GRANDPA (Thỏa thuận tiền tố phát sinh gốc đệ quy dựa trên GHOST) là tiện ích cuối cùng được triển khai cho Relay Chain Polkadot.

Nó hoạt động trong một mô hình mạng đồng bộ một phần miễn là 2/3 số node là hoạt động trung thực và có thể chống lại với 1/5 node Byzantine trong quá trình không đồng bộ lúc cài đặt.

Một điểm khác biệt đáng chú ý là GRANDPA đạt được các thỏa thuận trên chuỗi chứ không phải theo block, việc này giúp tăng tốc đáng kể quá trình hoàn thiện, ngay cả sau khi phân vùng mạng trong thời gian dài hoặc mạng lưới gặp các lỗi khác.

Nói cách khác, ngay sau khi hơn 2/3 validator chứng thực chuỗi chứa một block nhất định, tất cả các block dẫn đến block đó sẽ được hoàn thiện cùng một lúc.

Lựa chọn Fork

Kết hợp BABE và GRANDPA lại với nhau, sự lựa chọn fork của Polkadot trở nên rõ ràng hơn. BABE phải luôn xây dựng trên chuỗi đã được GRANDPA hoàn thiện. Khi xuấ hiện fork, BABE cung cấp xác suất cuối cùng bằng cách xây dựng trên chuỗi với đa số là các block chính .

Lựa chọn dây chuyền tốt nhất

Trong hình trên, các block màu đen được hoàn thiện. Một là chính, hai là các block phụ. Mặc dù chuỗi trên cùng là chuỗi dài nhất trong block được hoàn thiện mới nhất, nó vẫn không đủ điều kiện vì nó có ít phần mềm sơ bộ hơn tại thời điểm đánh giá so với chuỗi bên dưới nó.

So sánh

Sự đồng thuận Nakamoto

Sự đồng thuận của Nakamoto bao gồm quy tắc chuỗi dài nhất sử dụng PoW làm cơ chế chủ đạo.

Sự đồng thuận của Nakamoto chỉ mang lại việc tính xác suất cuối cùng. Nó nói rằng một block trong quá khứ chỉ an toàn bằng số lượng validator mà nó có hoặc số block đã được xây dựng trên nó. Khi nhiều block hơn được xây dựng trên đầu một block cụ thể trong chuỗi Proof of Work, sẽ có nhiều việc cần tính toán hơn phải được thực hiện đằng sau chuỗi này. Tuy nhiên, nó không đảm bảo rằng chuỗi chứa block đó sẽ luôn là chuỗi đã thỏa thuận,bởi vì sẽ có khả năng có một tác nhân có đủ lượng tài nguyên hoặc thậm chí cao hơn số tài nguyên mà chuỗi đó có để tạo nên một block giả thế vào chuỗi đó. Và khi đó chuỗi mà Bitcoin đang sử dụng và các chuỗi PoW khác sẽ chuyển sang chuỗi mới của tác nhân xấu đó vừa tạo nên.

Casper FFG

Hai điểm khác biệt chính giữa GRANDPA và Casper FFG  là:

  • Trong GRANDPA, các cử tri khác nhau có thể bỏ phiếu đồng thời cho các block ở các tầng khác nhau
  • GRANDPA chỉ phụ thuộc vào các block đã hoàn thiện để tác động đến quy tắc lựa chọn fork của cơ chế sản xuất block cơ bản

Nguồn: wiki polkadot

Xem thêm các tài liệu khác về Polkadot:

A Deep Dive Into Polkadot (DOT)

PolkaDot vs Ethereum 2.0

Polkadot vs Cosmos

So sánh tương quan giữa Polkadot với Dfinity

 

Polka.Warriors Community

Website | ? Tele ANN | ? Tele Chat | ? Twitter | ? Discord  | ? Facebook

Tác giả

Polka.Warriors

Polka.Warriors

Community of PolkaDot in Vietnam ??

Theo dõi Syndicator tại

polkadotPolkadot
$ 4.15
Issue Price
$0.12
Block Explorer
Website
Twitter
Whitepaper

Token Release