BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Khoa học phổ biến: Chuyển đổi trạng thái trong Ethereum 2.0 Beacon Chain

以太坊爱好者
特邀专栏作者
Bài viết này có khoảng 2026 từ, đọc toàn bộ bài viết mất khoảng 3 phút
Sản xuất khối và chuyển đổi trạng thái cho chuỗi đèn hiệu.
Tóm tắt AI
Sản xuất khối và chuyển đổi trạng thái cho chuỗi đèn hiệu.

Lưu ý của biên tập viên: Bài viết này đến từNhững người đam mê Ethereum (ID: ethfans)Lưu ý của biên tập viên: Bài viết này đến từ

Những người đam mê Ethereum (ID: ethfans)

, Tác giả: Sly Gryphon, Người dịch & Người soát lỗi: IAN LIU & A Jian, được Odaily sao chép với sự cho phép.

Chuỗi đèn hiệu bao gồm các khối và trạng thái lũy tiến; các khối được tạo, ký, truyền trên mạng và sau đó được sử dụng để cập nhật trạng thái. Hình dưới đây cho thấy các mối quan hệ tương hỗ chính:

Mô tả hình ảnh

- Nét liền thể hiện mối quan hệ tập hợp, nét đứt thể hiện mối quan hệ phụ thuộc. tức là phần phát ra mũi tên được tổng hợp/phụ thuộc vào những gì mũi tên trỏ tới -

Sơ đồ này dựa trên phiên bản 0.10.1 của thông số kỹ thuật Ethereum 2.0. So với phiên bản 0.11.0 mới phát hành, nội dung mô tả trong hình trên có khác đôi chút ở phần tính Miền, nhưng về tổng thể thì thống nhất với phiên bản trước.

tạo một khối mới

Để tạo một khối, hãy bắt đầu từ đầu chuỗi khối hiện tại.

Nếu hiện tại có một chuỗi nhánh ngắn (ví dụ: một khe thời gian bị bỏ qua do tốc độ lan truyền khối quá chậm, dẫn đến sự khác biệt trong các khối mới nhất do các trình xác thực khác nhau thu được), thuật toán chọn nhánh sẽ giúp bạn chọn " phù hợp nhất" (trọng lượng của thông điệp nhân chứng của người xác minh thu được càng lớn thì phần đầu chuỗi khối càng "phù hợp").

Ngoài ra, ngay cả khi một số vị trí bị bỏ qua (không có khối nào được tạo ra), trạng thái vẫn ở trạng thái nâng cao (nhưng không có tác dụng gì).

BeaconBlockBody ("phần thân khối chuỗi beacon") sẽ chứa tất cả các hoạt động cần được thực hiện (tiền gửi trái phiếu, thông báo chứng thực, thoát trình xác thực, v.v.). Các hoạt động này sẽ được sử dụng để thay đổi trạng thái và tạo BeaconState mới ("trạng thái chuỗi đèn hiệu").

Khe thời gian, gốc khối gốc và hàm băm gốc của hoạt động (gốc thân, gốc thân khối) sẽ được thêm vào trạng thái dưới dạng các thành phần cấu thành của BeaconBlockHeader ("tiêu đề khối chuỗi beacon"). Cần lưu ý rằng gốc trạng thái của một trong các thành phần cấu thành của BeaconBlockHeader bằng 0 (0x000...), vì trạng thái không thể chứa hàm băm của chính nó theo cách đệ quy, nếu không sẽ xảy ra vòng lặp vô hạn.

Hàm băm gốc của trạng thái cuối cùng (trạng thái có giá trị 0x000... ở trên) được tính toán và thêm vào khối, sau đó hàm băm khối lấy gốc Khối ("gốc khối") và đặt nó cùng với Miền của chuỗi.lan truyền trong mạng. Ý nghĩa của Miền là ngăn không cho khối được lan truyền sang các mạng chính hoặc mạng thử nghiệm khác do xung đột.

Chuyển đổi trạng thái thực thi

Sau khi nút nhận được SignedBeaconBlock ("khối chuỗi đèn hiệu đã ký"), nó cần thực hiện một số xác minh, bao gồm: xác nhận tính hợp lệ của chữ ký và liệu có trạng thái tương ứng với khối chính hay không (khối gốc được xác định bởi gốc mẹ “khối mẹ”) củ” đã chỉ ra).

BeaconBlockHeader*

Bằng cách chuyển vị trí trạng thái sang vị trí của khối (có thể là vị trí bị bỏ qua), sau đó thực hiện các thao tác có trong BeaconBlockBody (chẳng hạn như ký gửi ký gửi, thông báo nhân chứng, thoát trình xác thực, v.v.), chúng ta có thể cập nhật trạng thái.

Cần lưu ý rằng khi một khoảng thời gian bị bỏ qua xảy ra, một trạng thái bên trong mới cũng sẽ được tạo ra và trạng thái hiện tại sẽ được chuyển sang khoảng thời gian tiếp theo.Sự khác biệt là sẽ không có hành động thực thi ngẫu nhiên nào khác.

Trạng thái kết quả phải giống với trạng thái mà nhà sản xuất khối thu được, vì vậy chúng tôi có thể xác minh trạng thái đó với gốc trạng thái được ghi trong khối nhận được bằng cách tính giá trị băm của BeaconState mới (chứa 0x000...).

Trạng thái chuỗi đèn hiệu chứa ba trong số bốn thành phần cơ bản của khối - khe thời gian, hàm băm gốc của khối chính và hàm băm gốc của BeaconBlockBody (tức là thao tác được thực hiện).

Khi tính toán trạng thái bên trong, khe thời gian khối mới nhất phải khác với khe thời gian trạng thái mới nhất, bởi vì nếu có một khe thời gian bị bỏ qua, thì khe thời gian khối mới nhất và khe thời gian trạng thái sẽ không nhất quán. Ví dụ: nếu vị trí 7 bị bỏ qua, chúng ta vẫn sẽ có vị trí 6 là khối mới nhất và cả hàm băm gốc của khối gốc và hàm băm gốc của khối sẽ vẫn trỏ đến khối trong vị trí 6.

Các phần tử này hoạt động như một cụm, sử dụng cùng cấu trúc như BeaconBlockHeader, nhưng trạng thái khối gốc được sử dụng luôn bằng 0 (0x000...), vì trạng thái không thể chứa hàm băm của chính nó một cách đệ quy; được biểu thị trong hình dưới dạng "BeaconBlockHeader".

Ưu điểm của điều này là chúng ta có thể dễ dàng tính toán trạng thái gốc của khối - bằng cách tính toán hàm băm gốc của trạng thái, sau đó tạo một bản sao của tiêu đề khối và chèn trạng thái gốc chính xác, và cuối cùng tính toán hàm băm của toàn bộ khối tiêu đề (giá trị này sẽ giống với hàm băm của khối nhận được).

  • Các khối được liên kết tăng sự tin tưởng

  • Một tính năng quan trọng của chuỗi khối là nó thay thế niềm tin ban đầu giữa các cá nhân (đối tác hoặc bên thứ ba) bằng sự tin tưởng có hệ thống (phần lớn các bộ xử lý đạt được thông qua thuật toán).

  • Niềm tin có hệ thống có thể được mô tả bởi các đặc điểm sau:

Một số lượng lớn bộ xử lý (ví dụ: chuỗi công khai) - những bộ xử lý này càng phi tập trung thì chúng càng đáng tin cậy.

Sự đa dạng của khách hàng (ví dụ: nhóm phát triển) - Nếu có nhiều khách hàng để lựa chọn, bạn càng có thể tránh được sự kiểm soát tập trung của thuật toán.

Nguồn mở - cho phép cả kiểm tra công khai thuật toán và rẽ nhánh (nếu đa số muốn thay đổi hướng của hệ thống).

Việc liên kết các khối với nhau cũng làm tăng độ tin cậy trong hệ thống - bởi vì khối được tạo ra càng sớm thì trọng lượng càng lớn. Nói chung, sổ cái phân tán/cơ sở dữ liệu phân tán, vì không yêu cầu sự tin cậy có hệ thống, nên không cần có các liên kết như vậy.

Một cuộc tấn công 51% chỉ vào khối mới nhất có thể thành công, nhưng nếu bạn muốn thay đổi một khối 100 vị trí trước đó, kẻ tấn công phải có bộ xử lý kiểm soát phần lớn trong 100 vị trí đó (vì vậy rất khó).

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
Nhóm trò chuyện:
https://t.me/Odaily_GoldenApe
Tài khoản chính thức:
https://twitter.com/OdailyChina
Mục lục bài viết
Thư viện tác giả
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
IOS
Android