BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR

Giải thích nguyên lý hoạt động của Ethereum POS: Epoch, Slot và beacon block

Đọc bài viết này mất 31 phút
Điểm độc đáo của Ethereum khi sử dụng Proof of Stake là 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, hàng nghìn người xác nhận 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 500.000 thực thể xác thực (từ góc độ giao thức) tích cực tham gia vào quá trình này.
Tiêu đề gốc: " Giải thích cách hoạt động của Ethereum POS: Khối Epoch, Slot và đèn hiệu 》
Nguồn gốc: ETH Trung Quốc


Sự độc đáo của Ethereum khi sử dụng bằng chứng cổ phần 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, hàng nghìn người xác nhận 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 500.000 thực thể xác thực (từ góc độ giao thức) tích cực tham gia vào quá trình này.


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 chặn. Ít nhất 500.000 tin nhắn được phát trong khoảng 384 giây và tất cả tin nhắn phải được gửi trong khung thời gian nghiêm ngặt. Theo hiểu biết của tôi, 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 truyền thông, giao thức đồng thuận được thiết kế cho một trong ba tình huống sau (thường):


p>

Giao tiếp đồng bộ Thời gian chờ được xác định và được thống nhất chung để gửi tin nhắn. Không có giới hạn trên về thời gian gửi một tin nhắn liên lạc không đồng bộ, nhưng cuối cùng nó sẽ được gửi đi. Giao tiếp đồng bộ một phần - Trong hầu hết các trường hợp, có một khoảng thời gian chờ đã biết, nhưng các sự kiện lẻ tẻ có thể làm gián đoạn việc cung cấp thông tin 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ế để giao tiếp đồng bộ một phần vì nó giả định rằng hầu hết các điều kiện đều tốt nhưng có thể thay đổi trong một khoảng thời gian ngắn do đến các sự kiện Giao tiếp bị gián đoạn nên có những khoảng thời gian không thể đoán trước. Mặt khác, điều đáng chú ý là Ethereum bằng chứng cổ phần được thiết kế để liên lạc đồng bộ.


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


Nó giả định rằng sẽ có rất ít sự cố ngừng hoạt động trong số đại đa số những người xác thực và tất cả thông tin phải được ghi lại trong chuỗi khối báo hiệu theo một thời hạn cố định. Chỉ khi đó mới có thể thông tin này được tính/sử dụng. Nếu xảy ra sự gián đoạn, gây chậm trễ trong việc gửi tin nhắn, người gửi sẽ phải chịu các hình phạt tùy theo mức độ chậm trễ. Trong trường hợp xấu nhất, nếu trễ thời hạn, tin nhắn sẽ bị bỏ qua và người gửi tin nhắn sẽ bị phạt mức phạt tối đa là không hoạt động. Chính sách phạt sẽ được đề cập trong một bài viết trong tương lai.


Để hiểu rõ hơn về mô hình truyền thông đồ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, cũng như các khoảng thời gian nghiêm ngặt xung quanh việc gửi tin nhắn. Nếu khoảng 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 nhận khác sẽ thực hiện 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 chỉ định trình xác thực cho một khoảng thời gian và cách ghi lại thông báo trong chuỗi khối báo hiệu.


Nếu bạn muốn tìm hiểu thêm về các cài đặt liên lạc khác nhau thì tôi khuyên bạn nên đọc bài viết này. Ở đây cũng có một cuộc thảo luận thú vị về việc ETH2 là giao tiếp đồng bộ một phần hay đồng bộ.


Kỷ nguyên và thời điểm


解读以太坊 POS 工作原理:Epoch、Slot 与信标区块


Mỗi kỷ nguyên có 32 vị trí và mỗi trình xác nhận được chỉ định cho chính xác một vị trí trong mỗi kỷ nguyên. Một vị trí là khoảng thời gian 12 giây trong đó người xác nhận 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 và kỷ nguyên và vị trí đóng vai trò là thời gian biểu để người xác thực tham gia vào giao thức bằng chứng cổ phần:


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


Thời gian        Khoảng thời gian 12 giây trong đó ủy ban xác nhận sẽ hoàn thành nhiệm vụ của mình.


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à các vị trí cung cấp cho người xác thực cơ hội tham gia vào vòng này. 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í Một người 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ả những người xác thực được phân bổ đề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 đề xuất khối) Người xác nhận có cơ hội đề xuất một khối cho các thành viên ủy ban.


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


Có 32 người đề xuất khối mỗi kỷ nguyên (một người cho mỗi vị trí) và tất cả 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 và đóng góp cho những gì họ nghĩ nên là Người đứng đầu chuỗi đèn hiệu kinh điển bỏ phiếu.


解读以太坊 POS 工作原理:Epoch、Slot 与信标区块


Một khoảng thời gian nghiêm ngặt để người xác thực đề xuất Khối A, các thành viên ủy ban bỏ phiếu trên một khối và cuối cùng truyền đi tất cả các hoạt động của vị trí đó cho người đề xuất khối của vị trí tiếp theo.


Điều kiện về vị trí và 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:


Khối đề xuất  Chỉ định người 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.


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


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


Tất cả các khối và phiếu bầu đều được phát trong một ủy ban vị trí. Có một vai trò bổ sung trong ủy ban được gọi là người tổng hợp, người tổng hợp bằng chứng trước khi chuyển nó cho người đề xuất khối cho vị trí tiếp theo. Họ tự lựa chọn và đây là vai trò tự nguyện nhằm giảm chi phí liên lạc. Bây giờ chúng ta sẽ bỏ qua các chi tiết cụ thể - điều đó sẽ được đề cập trong một bài viết sau.


Nếu 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 những người xác nhận khác công nhận. Ví dụ: một khối muộn có thể bị bỏ qua vì nhân chứng cho vị trí này 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 thời điểm, trễ tới 32 ô, 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í, nó sẽ không được xử lý bởi bất kỳ trình xác nhận nào.


Cuối cùng, xin nhắc lại, khoảng 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 nhận và xử lý đúng thời gian , khả năng gửi nhân chứng/khối.


Phân bổ ủy ban xác thực


Chúng tôi xem xét phân bổ người xác thực vào các vị trí trong quy trình epoch bên trong. Tất cả các ủy ban đánh bạc đều có quy mô gần như nhau. Chúng được chỉ định dựa trên đầu ra của một đèn hiệu ngẫu nhiên, trước hai kỷ nguyên. Điều này đòi hỏi phải sử dụng giao thức xáo trộn và nguồn tín hiệu trong băng tần để truyền tải ngẫu nhiên.


Giao thức xáo trộn Tất cả các trình xác thực được gán vào một vị trí theo giao thức xáo trộn được gọi là trao đổi hoặc không. Chúng tôi sẽ không đi sâu vào chi tiết của giao thức xáo trộn này mà sẽ tập trung vào phương pháp tính toán các đè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.


Đèn hiệu ngẫu nhiên Tất cả người xác thực đều được gán một đèn hiệu ngẫu nhiên bằng giao thức có tên RANDAO. Mục đích của nó là tạo thành một đèn hiệu 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 chuẩn.


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


Đề xuất Tính ngẫu nhiên được tạo (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, đóng vai trò là đè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à mang 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 (mỗi khối) 


Tất cả trình xác thực đều bắt đầu từ mới Đèn hiệu ngẫu nhiên được lấy từ khối và trộn với tính ngẫu nhiên của tất cả các khối trước đó được tổng hợp. Nó tạo thành một hỗn hợp giá trị mới có thể đóng vai trò là ứng cử viên cho giao thức xáo trộn.


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

解读以太坊 POS 工作原理:Epoch、Slot 与信标区块

Người xác minh được chỉ định vào vị trí của Kỷ nguyên thứ 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* để hoạt động như một đèn hiệu ngẫu nhiên cho khối này* Một điều rất tốt là chữ ký là chắc chắn ( người xác minh không thể giả mạo nó), nhưng không thể đoán trước được cho đến khi chữ ký được tính toán */


DOMAIN_RANDAO = 0x02000000; // a Số ma thuật epoch_hash có trong chữ ký = 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 phép tính băm rồi trộn mã băm vào tính ngẫu nhiên hiện đã được tập hợp*/


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


mix = previous_mix XOR hash(randao_reveal); // Tính toán hỗn hợp mới store_new_mix(new_block); // Liên kết "kết hợp" mới với khối mới Cùng nhau


Việc phân bổ sẽ diễn ra trước 2 kỷ nguyên 


Điều gì xảy ra vậy tất cả các trình xác thực sẽ sử dụng giá trị kết hợp kết hợp của 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 nhận cho hai kỷ nguyên tiếp theo.


Vì vậy, nếu chúng ta coi kỷ nguyên hiện tại là 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 N+ Ủy ban phân bổ cho 2 kỷ nguyên.


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


Khả năng sai lệch của các báo hiệu ngẫu nhiên 


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


Kẻ tấn công có thể khai thác điều này để làm sai lệch đèn hiệu ngẫu nhiên. Giả sử kẻ tấn công là người đề xuất khối ở ô 32. Anh ta có thể quyết định thực hiện việc này:


Giải phóng khối đúng thời gian Tính ngẫu nhiên của kẻ tấn công được trộn lẫn trong đèn hiệu

Tạm dừng khối Bắt buộc tất cả người xác thực 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 trong đèn hiệu.


Quyền ra quyết định này cho phép kẻ tấn công làm sai lệch đèn hiệu ngẫu nhiên thêm 1 byte và cuối cùng quyết định xem trình xác thực nào trong hai trình xác nhận sẽ được phân bổ trong sự kết hợp. sẽ được sử dụng trong thời đại 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, chúng có thể tận dụng cơ hội này để giải phóng hoặc đình chỉ việc phát hành tổ hợp N khối. Thiếu một nghiên cứu nghiêm ngặt để hiểu toàn bộ phạm vi và tác động của khả năng thiên vị đối với N vị trí cuối cùng.


Kiểm tra khối báo hiệu


解读以太坊 POS 工作原理:Epoch、Slot 与信标区块

Cấu trúc dữ liệu của khối beacon


Một khối beacon duy nhất chứa thông tin về vị trí của nó trong chuỗi khối beacon. Siêu dữ liệ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 bên dưới.


解读以太坊 POS 工作原理:Epoch、Slot 与信标区块

Người đề xuất khối vị trí sẽ cố gắng mở rộng chuỗi chuẩn và chỉ có khả năng chọn khối cha.


Khối chính báo hiệu


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

解读以太坊 POS 工作原理:Epoch、Slot 与信标区块

Epoch và slot tổ chức các trình xác thực để tạo ra một chuỗi đèn hiệu chuẩn duy nhất.


Vị trí không bằng khối báo hiệu


Khối báo hiệu ghi lại Siêu dữ liệu của nó về số vị trí (bội số của 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à liệu 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í thứ 5184157 thì chúng tôi sẽ thấy khối thứ 16015362. Sự không khớp này là không thể tránh khỏi vì không có gì đảm bảo rằng khối được đề xuất trong một vị trí được phân bổ sẽ được sử dụng bởi tất cả các trình xác thực khác đã bỏ phiếu và Ethereum đã chạy cho hơn 7 năm rồi.


Khối dữ liệu chuỗi thực thi


Người đề xuất sẽ đề xuất Hai các khối đề xuất khối thực thi, sắp xếp các giao dịch của người dùng và nối 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.


Người đề xuất khối cũng chịu trách nhiệm chuyển thông tin từ lớp thực thi sang lớp báo hiệu và chuẩn bị sẵn sàng để sử dụng cho giao thức bằng chứng cổ phần. Điều này bao gồm:


ETH1  Dữ liệu 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 loạt các khoản tiền gửi không được ghi chép.


Điều này yêu cầu tất cả người xác thực phải 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ì người xác nhận phải kiểm tra khối ETH1 tương ứng và xác minh tính hợp lệ của nó theo quy tắc của lớp thực thi. Tương tự như vậy, như chúng tôi đã 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 báo hiệu trong một khoảng thời gian khối cụ thể, nếu không khối báo hiệu sẽ bị từ chối.


Siêu dữ liệu số vị trí, số kỷ nguyên, đèn hiệu ngẫu nhiên và người đề xuất chặn


Sự kiện tấn công Bao gồm bằng chứng về hành vi nguy hiểm của những người xác nhận khác có thể được sử dụng để trừng phạt họ


Lịch sử bỏ phiếu Một loạt các phiếu bầu không được ghi lại cho các khối đèn hiệu được đề xuất trước đó trên phân nhánh blockchain này


Phân nhánh blockchain  ;Nó chọn một khối cha và lần lượt xác định chuỗi chuẩn mà khối này mở rộng.


Người xác minh thoát Một loạt yêu cầu thoát khỏi người chứng nhận đã đăng ký.


Bằng cách ghi lại một bản sao, mọi người có thể độc lập xem xét toàn bộ giao thức và hoàn toàn tin tưởng rằng trạng thái hiện tại của beacon chain là chính xác. Ví dụ: những người xác thực độc hại sẽ bị trừng phạt kịp thời, lịch trình vị trí và kỷ nguyên được tất cả những người xác thực công nhận và đại đa số những người xác thực sẽ bỏ phiếu theo cách này và tạo ra một chuỗi chuẩn duy nhất.


Bên cạnh đó, do tính chủ quan yếu nên mặc dù hồ sơ chứng minh cổ phần có thể thuyết phục chúng ta rằng mọi hoạt động lịch sử đều được thực hiện theo quy định, nhưng nó là chưa đủ. Giải thích cho một nhóm bên ngoài rằng đây thực sự là chuỗi khối báo hiệu thực sự. Nói một cách đơn giản, nó cung cấp một cách để kiểm tra tính toàn vẹn của các hoạt động lịch sử.


Liên kết gốc


Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi