Cảnh báo rủi ro: Đề phòng huy động vốn bất hợp pháp dưới danh nghĩa 'tiền điện tử' và 'blockchain'. — Năm cơ quan bao gồm Ủy ban Giám sát Ngân hàng và Bảo hiểm
Tìm kiếm
Đăng nhập
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
Xem thị trường
Một khung đơn giản để phân tích đồng thuận chuỗi khối
Nervos
特邀专栏作者
2019-06-26 04:26
Bài viết này có khoảng 3615 từ, đọc toàn bộ bài viết mất khoảng 6 phút
Bài viết này cố gắng đề xuất một khuôn khổ đơn giản để phân tích sự đồng thuận của chuỗi khối nhằm tạo ra một so sánh đơn giản về sự đồng thuận của các chuỗi khối khác nhau.

tiêu đề cấp đầu tiên

So sánh đồng thuận chuỗi khối
[1] Độ trễ là thời gian cần thiết để một giao dịch được xác nhận bằng sự đồng thuận. Thấp: <10s, Trung bình: 10s-600s, Cao: >=600s
[2] Số nút đồng thuận được phép trong khi duy trì hiệu suất đồng thuận. Thấp: <100, Trung bình: >=100, Cao: Không giới hạn
[4] Quảng cáo của EOS đề cập đến BFT, nhưng sau khi trao đổi với một số người bạn, người ta biết rằng NC vẫn được sử dụng, điều đó có nghĩa là DPoS của EOS và DPoS của BitShares phải giống nhau.

tiêu đề cấp đầu tiên

ý tưởng khung

tiêu đề cấp đầu tiên

Những yêu cầu cơ bản

Những yêu cầu cơ bản

  • Các số liệu cơ bản của sự đồng thuận bao gồm hai khía cạnh, tính chính xác và hiệu suất. Tính đúng đắn chỉ đơn giản bao gồm:

  • Liveness - các yêu cầu/giao dịch sẽ luôn được xử lý trong một khoảng thời gian hữu hạn

  • chữmạng không đồng bộở giữaở giữaLuôn đảm bảo tính thống nhất và sinh động là một nhiệm vụ rất khó khăn

    , vì vậy thiết kế đồng thuận thường chọn đảm bảo một điểm và từ bỏ một điểm khác trong một số trường hợp cụ thể, chẳng hạn như đồng thuận Nakamoto mà Bitcoin sử dụng chọn ưu tiên đảm bảo tính sống động, trong khi đồng thuận BFT ưu tiên đảm bảo tính nhất quán.

  • Các tính năng bao gồm:Thông lượng

  • - Số lượng yêu cầu mà hệ thống có thể xử lý trong một đơn vị thời gianđộ trễ- Một yêu cầu/giao dịch từ khi bắt đầu đến khi hoàn thành/hoàn toàn chắc chắn

  • thời gian cần thiết

    Có nhiều yếu tố ảnh hưởng đến thông lượng và độ trễ, chẳng hạn như số nút đồng thuận, độ phức tạp của thông báo đồng thuận, thời gian cần thiết để xác minh thông báo, băng thông có sẵn cho sự đồng thuận, xu hướng thiết kế đồng thuận, v.v. Nói chung, rất khó để có cả thông lượng và độ trễ, vì độ phức tạp của thông báo đồng thuận có giới hạn thấp hơn: đối với mỗi vòng đồng thuận, các nút tham gia đồng thuận phải nhận được thông báo ít nhất một lần (nếu không thì sự đồng thuận là gì ?Không biết gì cả). Nếu muốn độ trễ thấp, bạn cần đồng ý về từng yêu cầu/giao dịch càng sớm càng tốt, điều đó có nghĩa là một yêu cầu/giao dịch đơn lẻ yêu cầu độ phức tạp của thông báo cao hơn; nếu muốn thông lượng cao, bạn cần xử lý hàng loạt yêu cầu/giao dịch càng nhiều càng tốt. Điều này làm giảm độ phức tạp của thông báo trong một yêu cầu/giao dịch, nhưng cũng gây ra độ trễ cao.Đối với hiệu suất đồng thuận, một chỉ số nhiều thông tin hơn được đề xuất bởi Zhang Ren của nhóm nghiên cứu Nervos là: Với cùng một băng thông, băng thông chiếm dụng bởi sự đồng thuận càng thấp thì thông lượng của sự đồng thuận càng cao.

tiêu đề cấp đầu tiên

Các tính năng của sự đồng thuận chuỗi khối

nhóm người tham gia năng độngLiệu nó có phải là không được phép hay không (được dịch thành "không cần sự cho phép" quá phức tạp,Sử dụng "chuỗi công khai" không chính xác lắm

, vẫn dùng từ ở đây) hoặc blockchain được phép, đặc điểm quan trọng nhất là nó là một hệ thống mở lâu đời. Kết quả của hoạt động lâu dài và chồng chất mở là những người tham gia đồng thuận sẽ luôn thay đổi, thỉnh thoảng sẽ luôn có các nút đồng thuận cũ rời đi và các nút đồng thuận mới tham gia. Những người tham gia đồng thuận là một tập hợp năng động. Làm thế nào để đối phó với những thay đổi năng động của những người tham gia đồng thuận là vấn đề cốt lõi của sự đồng thuận blockchain.

Khác với sự đồng thuận của blockchain, nghiên cứu đồng thuận truyền thống thường giả định trước một nhóm người tham gia cố định, sau đó nghiên cứu cách đạt được sự đồng thuận trong nhóm này và đôi khi thảo luận về cách đối phó với những thay đổi trong nhóm người tham gia và về cơ bản không quan tâm đến những gì được yêu cầu tham gia vào Trình độ chuyên môn đồng thuận. Trọng tâm của nghiên cứu là làm thế nào để đảm bảo tính đúng đắn của sự đồng thuận (ví dụ: tính nhất quán và tính sống động), và cách hình thành một bộ đồng thuận chỉ là một chủ đề phụ. Kịch bản ứng dụng của sự đồng thuận truyền thống thường là một mạng điều khiển tập trung và các máy chủ tăng hoặc giảm đều là của riêng chúng, vì vậy việc hình thành một tiêu điểm như vậy là điều đương nhiên.

số lượng lớn người tham gia

Phân cấp là một mục tiêu duy nhất của các giao thức đồng thuận chuỗi khối không được phép. Chúng ta thường đo lường mức độ phân quyền bằng ngưỡng tham gia đồng thuận (tại sao đây là một thước đo tốt?), ngưỡng tham gia càng thấp thì mức độ phân quyền càng cao. Kết quả tự nhiên của ngưỡng tham gia thấp là tập hợp những người tham gia đồng thuận có thể rất lớn, do đó, thiết kế của giao thức đồng thuận phải tính đến điều này để đảm bảo rằng hiệu quả đồng thuận sẽ không giảm do sự gia tăng của những người tham gia.

mô hình niềm tin tối thiểu

Mục đích của việc thực thi thuật toán đồng thuận là tạo ra kết quả tính toán nhất quán cho một yêu cầu tính toán, trong quá trình này phải có nút khởi tạo yêu cầu và nút xử lý yêu cầu. Trong mô hình đồng thuận truyền thống, một số thuật toán đồng thuận được thực hiện hoàn toàn trong tập hợp các nút xử lý yêu cầu và một số thuật toán đồng thuận được thực hiện bởi nút khởi tạo yêu cầu và các nút xử lý cùng nhau. Trong mọi trường hợp, ranh giới tin cậy thường nằm giữa nút khởi tạo yêu cầu và nút thực hiện yêu cầu. , nút khởi tạo gửi yêu cầu tính toán đến nút thực thi và nút thực thi tính toán kết quả và trả về cho nút khởi tạo và nút khởi tạo tin tưởng vào kết quả tính toán của nút thực thi (ngược lại, nút nút thực thi không nhất thiết phải tin cậy quá trình).

Mô hình tin cậy của sự đồng thuận chuỗi khối khá khác biệt và các yêu cầu để tin tưởng thường nhỏ hơn nhiều. Trong mạng chuỗi khối không được phép, cùng một nút khởi tạo giao dịch và tham gia vào sự đồng thuận.Các nút cần xác minh kết quả đồng thuận, thay vì chỉ tin tưởng vào kết quả đồng thuận của các nút khác. Lấy Bitcoin làm ví dụ, nếu một nút đầy đủ tham gia khai thác, thì đó đồng thời là nút khởi tạo yêu cầu (giao dịch) và nút xử lý yêu cầu (giao dịch). Ngay cả khi nó chỉ muốn trở thành một nút đầy đủ yên tĩnh và không tham gia khai thác, nó sẽ tự xác minh kết quả xử lý yêu cầu nhận được (khối) và không tin tưởng vào kết quả do các nút đồng thuận khác cung cấp. Một nút đầy đủ như vậy chỉ chọn tuân theo thứ tự giao dịch được lựa chọn bởi sức mạnh tính toán đa số và không tin vào kết quả giao dịch do sức mạnh tính toán đa số đưa ra. Đây là một mô hình tin cậy tối thiểu.

Các nút SPV/light sử dụng mô hình tin cậy mạnh hơn so với các nút đầy đủ (mạnh hơn có nghĩa là nhiều giả định hơn về độ tin cậy) và không xác minh việc thực hiện các giao dịch, chỉ xác minh tính hợp lệ của các tiêu đề khối. Cách xác minh tính hợp lệ của tiêu đề khối là một vấn đề cốt lõi khác trong thiết kế đồng thuận chuỗi khối. Nếu tính hợp lệ chỉ được xác minh bằng chữ ký bất đối xứng được gắn vào tiêu đề khối, thì mô hình tin cậy này về cơ bản tương đương với mô hình tin cậy của sự đồng thuận truyền thống, bởi vì nút xử lý yêu cầu trong sự đồng thuận truyền thống cũng có thể thêm chữ ký vào kết quả. mô hình nằm trong Một loạt các vấn đề phát sinh khi kết hợp một tập hợp các tác nhân năng động, chẳng hạn như cuộc tấn công tầm xa nổi tiếng. Nếu tính hợp lệ của tiêu đề khối được xác minh thông qua PoW, thì sẽ không có rắc rối như vậy.Hướng nghiên cứu chủ đạo là làm thế nào để cải thiện hơn nữa hiệu quả xác minh của tiêu đề khối.

Khung phân tích đơn giản

  • Dựa trên phân tích trên, chúng ta có thể sắp xếp một khung phân tích đồng thuận chuỗi khối đơn giản để so sánh các đồng thuận chuỗi khối khác nhau:

  • Cách nhập* - Mua sức mạnh tính toán / Mã thông báo thế chấp / …

  • Phương pháp tạo khối* - Tạo khối lần lượt/lựa chọn ngẫu nhiên PoW/giả ngẫu nhiên trên chuỗi/lựa chọn ngẫu nhiên VRF/…

  • Phương pháp đồng thuận* - Đồng thuận Nakamoto / BFT /…

  • Phương thức thoát* - dừng khai thác / hủy đặt cọc / ...

  • Tính nhất quán - Có thể chịu được bao nhiêu nút độc hại/sức mạnh tính toán/Stake/…

  • Liveness - Có thể chịu được bao nhiêu nút độc hại/sức mạnh tính toán/Stake/…

  • Độ trễ - thời gian cần thiết để một giao dịch được xác nhận hoàn toàn (xác suất bị đảo ngược nhỏ hơn x)

  • Hiệu quả băng thông - tỷ lệ sử dụng băng thông theo sự đồng thuận, càng cao càng tốt

Số nút - Giới hạn trên cho số nút đồng thuận là cao hay thấp

[1] Ví dụ:
chắc chắn 99%[2] Cân nhắc
[3] khai thác ích kỷCho dù sức mạnh tính toán bình thường nhỏ đến đâu, vẫn có cơ hội tạo ra một khối
[4] https://github.com/tendermint...
[5] https://medium.com/nervosnetw...

Đối với một giao thức đồng thuận blockchain, bốn điểm đầu tiên (với *) về cơ bản xác định các đặc điểm sau. Cũng dễ dàng nhận thấy qua khuôn khổ này rằng cái mà chúng ta thường gọi là "đồng thuận PoW" hoặc "đồng thuận PoS" là một mô tả rất mơ hồ. PoW/PoS chỉ là một cách để chọn nhà sản xuất khối và không thể diễn tả quy trình đồng thuận cụ thể trông như thế nào giống. Chúng tôi thậm chí có thể thiết kế một số giao thức đồng thuận rất hỗn hợp, chẳng hạn như thiết kế một giao thức cần tham gia bằng cách đặt cược mã thông báo, chọn các nút khối thông qua PoW và tạo thành chuỗi dài nhất (nặng) thông qua Đồng thuận Nakamoto (bạn có thể đặt tên cho nó là StakingPoW, kết hợp hoàn hảo với Đặt cược vào các điểm nóng), hoặc thiết kế một giao thức cần tham gia thông qua PoW (PoW đáp ứng một mức độ khó nhất định phải được cung cấp để tham gia vào sự đồng thuận), chọn các nút khối thông qua VRF và đạt được sự đồng thuận thông qua BFT (điều này có thể được gọi là PoW + VRF/BFT, nó khiến mọi người cảm thấy chuyên nghiệp từ tận đáy lòng ngay từ cái nhìn đầu tiên).

tiêu đề cấp đầu tiên

phân tích khuyến khích

Ngoài khuôn khổ trên, chúng ta cũng có thể áp dụng một khía cạnh không có trong sự đồng thuận truyền thống: khuyến khích đồng thuận. Chuỗi khối giới thiệu các ưu đãi kinh tế trong sự đồng thuận, tích hợp trạng thái cân bằng Nash với các mục tiêu của hệ thống thông qua thiết kế cơ chế và hướng dẫn những người tham gia tuân thủ thỏa thuận (chi phí tham gia đồng thuận). Phần thưởng đồng thuận thường được thực hiện thông qua mã thông báo gốc trong hệ thống và giá trị phần thưởng được xác định bởi giá trị của mã thông báo. Trong giao thức đồng thuận được thiết kế phù hợp, người tham gia sẽ nhận được phần thưởng tương ứng tùy theo số tiền họ đã trả. Thành phần của chi phí đồng thuận tương đối phức tạp. Tương ứng với khung trên, chúng ta cần phân tích chi phí gia nhập đồng thuận, chi phí tạo khối, chi phí đồng thuận và chi phí thoát. Những chi phí này cùng nhau tạo thành chi phí của các nút tham gia đồng thuận. Các khuyến khích đồng thuận chính xác có tác động đến tính bảo mật và phân cấp của mạng, vì vậy phân tích khuyến khích là một phần quan trọng của phân tích đồng thuận.

Hơn…JanBạn có nghĩ rằng khung phân tích này có ý nghĩa? Phản hồi được chào đón! Cảm ơn vì bài viết nàyVạn Tiềm CenCao Nhất Dân

phân tích đồng tác giả của .Nervos TalkNếu bạn quan tâm, hãy thử sử dụng khung này để phân tích và sắp xếp một số giao thức đồng thuận chuỗi khối (ví dụ: Casper/Ethereum 2.0, EOS, Cardano, Algorand, v.v.) và trả lời

公链
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Tài khoản chính thức
https://twitter.com/OdailyChina