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
Giải thích chi tiết nguyên lý hoạt động của Ethereum POS: Epoch, Slot và khối đèn hiệu
ECN以太坊中国
特邀专栏作者
2023-03-31 11:40
Bài viết này có khoảng 4336 từ, đọc toàn bộ bài viết mất khoảng 7 phút
Tìm hiểu thêm về các mô hình truyền thông

Tiêu đề ban đầu: "Epochs, Slots and Beacon Blocks

Tác giả: Patrick McCorry

Tiêu đề ban đầu: "

Tác giả: Patrick McCorry

Bản dịch gốc: John, ECN

Tính độc đáo của Ethereum khi sử dụng Proof-of-Stake nằm ở thiết kế của nó nhằm tối đa hóa số lượng người tham gia. Nó cho phép hàng trăm và hàng nghìn người xác thực tham gia tích cực vào quá trình ra quyết định. Tại thời điểm viết bài, có khoảng nửa triệu thực thể trình xác thực (từ góc độ giao thức) đang tích cực tham gia vào quy trình.

  • Trên thực tế, trong khoảng 384 giây (6 phút 24 giây), tất cả những người xác thực đang hoạt động sẽ có cơ hội bỏ phiếu hoặc đề xuất một khối. Ít nhất 500.000 tin nhắn được phát trong khoảng 384 giây và tất cả các tin nhắn phải được gửi trong một khung thời gian nghiêm ngặt. Theo như tôi biết, không có giao thức đồng thuận nào khác được thiết kế để xử lý một nhóm người tham gia đồng thuận tích cực và lớn như vậy.

  • Đối với mô hình giao tiếp, các giao thức đồng thuận được thiết kế (thường) cho một trong ba tình huống:

  • Giao tiếp đồng bộ Thời gian chờ gửi tin nhắn đã được thống nhất chung và đã biết.

Không có giới hạn trên về thời gian gửi một tin nhắn giao tiếp không đồng bộ, nhưng cuối cùng nó sẽ được gửi.

Giao tiếp đồng bộ một phần có thời gian chờ đã biết trong hầu hết các trường hợp, nhưng các sự kiện lẻ tẻ có thể làm gián đoạn quá trình gửi tin nhắn trong các khoảng thời gian khác nhau.

Hầu hết các giao thức đồng thuận hiện đại được thiết kế cho giao tiếp đồng bộ một phần, vì nó giả định rằng các điều kiện luôn tốt, nhưng có những khoảng thời gian không thể đoán trước vì các sự kiện có thể làm gián đoạn giao tiếp trong thời gian ngắn. Mặt khác, điều đáng chú ý là Ethereum bằng chứng cổ phần được thiết kế để giao tiếp đồng bộ.

Lạc đề -- Casper FFG được thiết kế để giao tiếp đồng bộ một phần, nhưng các điều kiện nghiêm ngặt về thời gian của LMD-GHOST buộc toàn bộ hệ thống phải đồng bộ. Chúng tôi sẽ giải thích Casper và LMD-GHOST là gì trong một bài viết sau.

Để hiểu rõ hơn về mô hình giao tiếp đồng bộ, chúng tôi đề cập đến chủ đề Epochs & Slots. Nó xác định thời điểm người xác thực được phép tham gia và khoảng thời gian nghiêm ngặt xung quanh việc gửi thư. Nếu cửa sổ thời gian bị vi phạm, vì bất kỳ lý do gì, thì không có gì đảm bảo rằng những người xác thực khác sẽ hành động khi có tin nhắn đến muộn. Cuối cùng, chúng tôi sẽ đề cập đến cách các trình xác thực được chỉ định cho một khoảng thời gian và cách các thông báo được ghi lại trong chuỗi khối beacon.

Nếu bạn muốn tìm hiểu sâu về các thiết lập giao tiếp khác nhau, thì tôi khuyên bạn nên đọc bài viết này. Ngoài ra còn có một cuộc thảo luận thú vị ở đây về việc ETH 2 là đồng bộ hay đồng bộ một phần.

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

Kỷ nguyên và Slot

Diễn giải nguyên lý hoạt động của Ethereum POS: Epoch, Slot và beacon blocks

  • Có 32 vị trí trên mỗi kỷ nguyên và mỗi trình xác thực được chỉ định chính xác một vị trí trên mỗi kỷ nguyên. Vị trí là cửa sổ thời gian 12 giây trong đó người xác thực có thể tham gia vào giao thức bằng chứng cổ phần, đề xuất hoặc bỏ phiếu cho các khối báo hiệu mới.

  • Các vị trí được nhóm theo kỷ nguyên, kỷ nguyên và vị trí đóng vai trò là lịch trình để người xác thực tham gia vào giao thức bằng chứng cổ phần:

Epoch Một thời kỳ bao gồm 32 vị trí.

Vị trí Cửa sổ 12 giây trong đó ủy ban xác thực hoàn thành một nhiệm vụ.

Một kỷ nguyên đại diện cho một vòng hoàn chỉnh của giao thức bằng chứng cổ phần và một vị trí cung cấp cho người xác thực cơ hội tham gia vào vòng. Khi kết thúc một kỷ nguyên, tất cả những người xác thực đang hoạt động đều có cơ hội tham gia.

  • Ủy ban vị trí Trình xác thực được chỉ định cho chính xác một vị trí trong một kỷ nguyên và tất cả trình xác thực được phân bổ đồng đều cho từng vị trí để tạo thành một ủy ban.

  • Có hai vai trò trong một vị trí:

Người đề xuất khối Người xác thực có cơ hội đề xuất một khối cho các thành viên ủy ban.

Người chứng thực Tất cả các thành viên còn lại của ủy ban bỏ phiếu cho một khối mà họ tin rằng sẽ trở thành người đứng đầu chuỗi khối mới.

Có 32 người đề xuất khối trên mỗi kỷ nguyên (một người cho mỗi vị trí) và tất cả những người xác thực đều có cơ hội tham gia vào giao thức bằng chứng cổ phần, bỏ phiếu cho người lãnh đạo chuỗi mà họ tin rằng sẽ là chuỗi đèn hiệu chính tắc.

Diễn giải nguyên lý hoạt động của Ethereum POS: Epoch, Slot và beacon blocks

  • Một vị trí đại diện cho một cửa sổ thời gian nghiêm ngặt để trình xác thực đề xuất một khối, các thành viên ủy ban bỏ phiếu cho một khối và cuối cùng phát tất cả hoạt động trong vị trí đó tới người đề xuất khối của vị trí tiếp theo.

  • Các vị trí và điều kiện thời gian Tất cả các vị trí được tạo lần lượt theo thứ tự thời gian. Mỗi vị trí được phân bổ chính xác cứ sau 12 giây và được chia thành ba giai đoạn:

  • Đề xuất một khối xác định rằng trình xác thực đề xuất một khối và phát nó cho tất cả các thành viên ủy ban trong vòng 4 giây đầu tiên.

Các thành viên của tất cả các ủy ban khác bỏ phiếu (làm chứng) cho một khối trong chu kỳ bỏ phiếu và họ tin rằng phiếu bầu của họ sẽ được khối này chấp nhận trong vòng bốn giây tới.

Bỏ phiếu phát sóng Các phiếu bầu của tất cả các thành viên ủy ban trong bốn giây qua sẽ được tổng hợp và gửi đến người đề xuất khối cho vị trí tiếp theo.

Nếu một khối hoặc nhân chứng được đề xuất được xuất bản sau thời hạn, không có gì đảm bảo rằng hoạt động đó sẽ được xác nhận bởi những người xác thực khác. Ví dụ: một khối muộn có thể bị bỏ qua vì các nhân chứng của vị trí có thể đã bỏ phiếu cho khối chính của nó. Một nhân chứng đến muộn sẽ được các nhân chứng khác xử lý trong một khoảng thời gian, tối đa 32 vị trí đến muộn, với các mức hình phạt khác nhau. Nếu nó được xuất bản sau 32 vị trí, thì nó sẽ không được xử lý bởi bất kỳ trình xác thực nào.

Xin nhắc lại lần cuối, cửa sổ thời gian nghiêm ngặt này đảm bảo giới hạn thấp hơn về băng thông và sức mạnh tính toán cần thiết để chạy trình xác thực, vì chúng phải có khả năng nhận, xử lý và gửi nhân chứng/khối đúng hạn.

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

Phân bổ của ủy ban xác nhận

Chúng tôi xem xét quá trình chỉ định trình xác thực cho các vị trí trong một kỷ nguyên. Tất cả các ủy ban khe có cùng kích thước. Họ thực hiện nhiệm vụ dựa trên đầu ra của đèn hiệu ngẫu nhiên và thực hiện trước hai kỷ nguyên. Điều này yêu cầu sử dụng giao thức xáo trộn và nguồn ngẫu nhiên với việc truyền tín hiệu.

Giao thức xáo trộn Tất cả các trình xác thực được gán cho một vị trí theo giao thức hoán đổi hoặc không xáo trộn. Thay vì đi vào chi tiết của giao thức xáo trộn, chúng tôi sẽ tập trung vào phương pháp tính toán của đèn hiệu ngẫu nhiên, đặt nền tảng cho cách thức thực hiện giao thức xáo trộn.

  • Báo hiệu ngẫu nhiên Tất cả các trình xác thực được chỉ định thông qua một báo hiệu ngẫu nhiên bằng giao thức có tên là RANDAO. Mục đích của nó là hình thành các cảnh báo ngẫu nhiên bằng cách tổng hợp tính ngẫu nhiên khi các khối mới được thêm vào chuỗi chính tắc.

  • Đối với mỗi khối mới, có hai giai đoạn:

Tính ngẫu nhiên được đề xuất để tạo (trên mỗi khối) một khối báo hiệu mới bao gồm một giá trị đặc biệt được gọi là randao_reveal. Đó là chữ ký BLS của người đề xuất khối hoạt động như một đèn hiệu ngẫu nhiên cho khối. Việc ngăn chặn sự giả mạo của người xác minh là có tính quyết định, nhưng không thể đoán trước được.

Tính ngẫu nhiên hỗn hợp (trên mỗi khối) Tất cả trình xác thực lấy tín hiệu ngẫu nhiên từ một khối mới và trộn nó với tính ngẫu nhiên của tất cả các khối tổng hợp trước đó. Nó tạo thành một hỗn hợp giá trị mới, một ứng cử viên khả dĩ cho giao thức xáo trộn.

Như chúng ta có thể thấy, mỗi khối đèn hiệu bao gồm một đèn hiệu ngẫu nhiên, bổ sung và tổng hợp tính ngẫu nhiên của tất cả các khối trước đó.

Diễn giải nguyên lý hoạt động của Ethereum POS: Epoch, Slot và beacon blocks

Trình xác minh được gán cho vị trí của Kỷ nguyên N+2 thông qua đèn hiệu ngẫu nhiên cuối cùng của Kỷ nguyên thứ N

/* * Người đề xuất khối thực hiện chữ ký BLS trên số kỷ nguyên hiện tại * để đóng vai trò là đèn hiệu ngẫu nhiên cho khối này * Một điểm rất hay là chữ ký có tính xác định (người xác minh không thể giả mạo nó), nhưng cho đến khi chữ ký được được tính Không thể đoán trước cho đến khi nó xuất hiện */

DOMAIN_RANDAO = 0x 02000000; // Số ma thuật chứa trong chữ ký epoch_hash = hash(current_epoch_number, DOMAIN_RANDAO); // Mã băm được ký Randao_reveal = BLS.sign(epoch_hash, sk); // Chữ ký BLS là RANDAO

/* * Sử dụng tính ngẫu nhiên của khối, thực hiện tính toán hàm băm, sau đó trộn mã băm vào tính ngẫu nhiên hiện được thu thập */

previous_mix = get_previous_mix(parent_block); // trộn từ khối cha (Mix) randao_reveal = new_block.randao_reveal; // lấy randao của khối mới

mix = previous_mix Hàm băm XOR(randao_reveal); // tính toán hỗn hợp mới store_new_mix(new_block); // liên kết "hỗn hợp" mới (trộn) với khối mới

Việc phân bổ sẽ diễn ra trước 2 kỷ nguyên và tất cả các trình xác thực sẽ sử dụng giá trị kết hợp được tổng hợp từ khối được chấp nhận cuối cùng làm đèn hiệu ngẫu nhiên và sử dụng nó trong thuật toán xáo trộn. Nó tính toán ủy ban xác thực cho hai kỷ nguyên tiếp theo.

Vì vậy, nếu chúng tôi cho rằng kỷ nguyên hiện tại là kỷ nguyên thứ N, thì khối đèn hiệu cuối cùng trong kỷ nguyên này sẽ được sử dụng làm đèn hiệu ngẫu nhiên để xác định phân bổ ủy ban cho kỷ nguyên thứ N+2.

Người xác thực có nhiều thời gian để tra cứu các vị trí được chỉ định của họ, vì họ biết trước hai kỷ nguyên. Nói cách khác, việc phân bổ trình xác minh cho 64 vị trí trong tương lai được công chúng biết đến (khoảng 2 kỷ nguyên).

Khả năng sai lệch của đèn hiệu ngẫu nhiên là giao thức xáo trộn chỉ có thể sử dụng một hỗn hợp và đó là giá trị hỗn hợp của khối được chấp nhận cuối cùng trong một kỷ nguyên.

  • Khối được chấp nhận cuối cùng sẽ không phải lúc nào cũng là khối được đề xuất trong vị trí 32. Đó là khối của vị trí cuối cùng, tức là khối được tất cả những người xác minh công nhận là khối đứng đầu chuỗi khối. Ví dụ: nếu không có khối nào được đề xuất cho vị trí 32 (hoặc bị trễ), thì ủy ban xác thực cho vị trí 32 sẽ bỏ phiếu cho khối trước đó đã được đề xuất cho vị trí 31.

  • Kẻ tấn công có thể khai thác điều này để thiên vị các đèn hiệu ngẫu nhiên. Giả sử rằng kẻ tấn công là người đề xuất khối của vị trí 32. Anh ta có thể quyết định:

Bằng cách tạm dừng các khối buộc tất cả những người xác thực phải bỏ phiếu cho khối trước đó, tính ngẫu nhiên của kẻ tấn công sẽ không bị trộn lẫn vào đèn hiệu.

Quyền ra quyết định này cho phép kẻ tấn công sai lệch đèn hiệu ngẫu nhiên thêm 1 byte và cuối cùng xác định phép gán nào trong số hai phép gán trình xác thực sẽ được sử dụng trong một kỷ nguyên trong tương lai. Trên thực tế, nếu kẻ tấn công kiểm soát những người đề xuất khối của N khối cuối cùng trong một kỷ nguyên, thì họ có thể sử dụng cơ hội này để phát hành hoặc tạm dừng việc phát hành tổ hợp N khối. Hiện tại thiếu một nghiên cứu nghiêm ngặt để hiểu toàn bộ mức độ và tác động của sức mạnh sai lệch đối với N vị trí cuối cùng.

kiểm tra một khối đèn hiệu

Diễn giải nguyên lý hoạt động của Ethereum POS: Epoch, Slot và beacon blocks

Mô tả hình ảnh

Một khối đèn hiệu duy nhất chứa siêu dữ liệu về vị trí của nó trong chuỗi khối đèn hiệu, dữ liệu chuỗi thực thi và bản sao của giao thức bằng chứng cổ phần. Chúng ta sẽ khám phá thêm chi tiết dưới đây.

Diễn giải nguyên lý hoạt động của Ethereum POS: Epoch, Slot và beacon blocks

Mô tả hình ảnh

Mục tiêu của người đề xuất khối là đề xuất và thêm khối đèn hiệu mới vào phần đầu của chuỗi chính tắc. Để làm như vậy, họ chỉ có thể chọn một khối chính để mở rộng. Khối gốc phải là đầu chuỗi hiện tại, được thể hiện trong siêu dữ liệu dưới dạng parent_root.

Diễn giải nguyên lý hoạt động của Ethereum POS: Epoch, Slot và beacon blocks

Mô tả hình ảnh

Trình xác thực tổ chức Epoch và vị trí tạo ra một chuỗi khối đèn hiệu chính tắc duy nhất.

Khe ≠ khối đèn hiệu Một khối đèn hiệu ghi lại siêu dữ liệu của số khe của nó (bội số của một số kỷ nguyên). Nó cho phép những người xác thực khác kiểm tra xem người đề xuất khối có thực sự được chỉ định để đề xuất một khối cho vị trí này hay không và khối này có phải là khối được đề xuất hay không. Nếu số vị trí sai, khối sẽ bị từ chối.

Vấn đề là vị trí của một khối trong chuỗi khối không tương ứng với số vị trí mà nó được đề xuất. Ví dụ: nếu chúng tôi kiểm tra vị trí 5184157, chúng tôi sẽ thấy khối 16015362. Không thể tránh được sự không khớp này vì không có gì đảm bảo rằng một khối được đề xuất trong một vị trí được chỉ định sẽ được chấp nhận bởi tất cả các khối khác. trong hơn 7 năm kể từ khi thành lập.

  • Người đề xuất khối dữ liệu chuỗi thực thi sẽ đề xuất hai khối, họ đề xuất một khối thực thi, sắp xếp giao dịch của người dùng và đính kèm nó vào khối báo hiệu mới được tạo. Điều này không có gì đáng ngạc nhiên vì mục đích cuối cùng của lớp đồng thuận là xác định chuỗi chuẩn cho lớp thực thi.

  • Những người đề xuất khối cũng chịu trách nhiệm chuyển thông tin từ lớp điều hành sang lớp đèn hiệu và làm cho nó sẵn sàng để giao thức bằng chứng cổ phần sử dụng. Điêu nay bao gôm:

Dữ liệu ETH 1 Một mã băm khối của một khối bổ sung từ lớp thực thi.

  • Tiền gửi Địa chỉ hợp đồng tiền gửi và một chuỗi các khoản tiền gửi không được ghi lại.

  • Điều này yêu cầu tất cả các trình xác thực chạy ứng dụng khách báo hiệu và ứng dụng khách thực thi. Điều này là cần thiết vì những người xác thực phải kiểm tra khối ETH 1 tương ứng và xác minh tính hợp lệ của nó theo các quy tắc của lớp thực thi. Ngoài ra, như chúng ta đã thảo luận trong bài viết về quy trình đăng ký, tiền gửi phải được chuyển từ lớp thực thi sang khối đèn hiệu trong một khoảng thời gian khối nhất định, nếu không khối đèn hiệu sẽ bị từ chối.

  • Số vị trí siêu dữ liệu, số kỷ nguyên, đèn hiệu ngẫu nhiên và trình đề xuất khối

  • Các sự kiện bị cắt giảm bao gồm bằng chứng về hành vi nguy hiểm của những người xác thực khác, có thể được sử dụng để trừng phạt họ

  • Lịch sử bỏ phiếu Danh sách các phiếu bầu chưa được ghi lại trên blockchain fork này cho các khối đèn hiệu được đề xuất trước đó

Các nhánh chuỗi khối chọn một khối gốc và lần lượt xác định chuỗi chính tắc mà khối này mở rộng từ đó.

Bằng cách ghi lại một bản sao, mọi người có thể xem xét độc lập toàn bộ thỏa thuận và hoàn toàn tin tưởng rằng trạng thái hiện tại của chuỗi đèn hiệu là chính xác. Ví dụ: các trình xác minh độc hại sẽ bị cắt giảm thời gian và lịch biểu thời gian và thời điểm sẽ được tất cả các trình xác minh chấp thuận.Hầu hết các trình xác minh sẽ bỏ phiếu theo cách này và tạo ra một chuỗi chính tắc duy nhất.

liên kết gốc

DAO
ETH
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