Khoa học Phổ biến: Quá trình Sáng tạo của Chuỗi Beacon
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)
Những người đam mê Ethereum (ID: ethfans)
, Tác giả: Ben Edgington, bản dịch & hiệu đính: Min Min & A Jian, được Odaily tái bản với sự cho phép.
Các sự kiện ra mắt chuỗi khối đa khách hàng được phân phối lớn là không phổ biến. Hôm qua (30/7) là ngày kỷ niệm 5 năm ngày ETH 1.0 ra đời: có thể thấy sự kiện sinh nhật lớn như vậy lại càng hiếm.
Cơ chế tạo ra ETH 2.0 hơi phức tạp (cái mà chúng tôi gọi là quá trình khởi động chuỗi khối). Tôi sẽ giải thích nó một cách chi tiết. Để biết thông số kỹ thuật thực tế, bạn có thể xem nhận xét của tôi trong "Ghi chú về thông số kỹ thuật ETH 2.0".
Trong phần sau đây, "sự hình thành" đề cập đến thời điểm khi chuỗi đèn hiệu trực tuyến và bắt đầu xử lý các khối và chứng thực, nghĩa là bắt đầu vị trí 0 của kỷ nguyên 0.
(Nếu bạn không muốn đọc bài viết dài, bạn có thể chuyển thẳng đến phần "Cảnh" và bắt đầu đọc.)
Tiền gửi của người xác thực
Đây là một nền tảng nhỏ đầu tiên. Bất kỳ ai cũng có thể trở thành người xác thực ETH 2.0 bằng cách gửi khoản tiền gửi 32 ETH và một số dữ liệu khác cho hợp đồng ETH 1.0. Ví dụ: bạn có thể trở thành người xác thực trên mạng thử nghiệm Medalla thông qua cổng Lanchpad. Lưu ý rằng trên mạng thử nghiệm Medalla, chúng tôi đang sử dụng ETH của mạng thử nghiệm Goerli! Đừng cố gửi ETH mainnet vào hợp đồng. Tất nhiên, khi beacon chain chính thức ra mắt, chúng tôi sẽ sử dụng ETH trên mạng chính thực.
Hợp đồng ký quỹ sẽ chỉ phản ứng với các khoản tiền gửi hợp lệ, tức là các khoản tiền gửi một lần từ 32 ETH trở lên, nhiều khoản tiền gửi có tổng số tiền từ 32 ETH trở lên (dữ liệu bổ sung cần được kiểm tra, ví dụ: chữ ký mật mã). Mọi ký quỹ không hợp lệ hoặc không đủ sẽ bị bỏ qua.
tiêu đề cấp đầu tiên
Trong giai đoạn tiền tạo, chỉ các nút chuỗi đèn hiệu mới tham gia vào mạng ETH 2.0; sau khi quá trình tạo hoàn tất, những người xác nhận có thể ngay lập tức tham gia vào cơ chế đồng thuận. Các nút chuỗi đèn hiệu duy trì trạng thái hệ thống và giao tiếp với nhau trên mạng ngang hàng.
Do đó, trước khi hình thành, sẽ có một số nút chuỗi báo hiệu lắng nghe ETH 1.0 và theo dõi khoản tiền gửi có hiệu lực trong hợp đồng tiền gửi. Trên thực tế, các nút chuỗi đèn hiệu không cần phải theo dõi ETH 1.0 mọi lúc: các khối trên ETH 1.0 được đánh dấu thời gian, vì vậy các nút có thể bắt kịp bất kỳ lúc nào trước khi hình thành.
Như chúng ta đã biết, chuỗi ETH 1.0 có thể được khôi phục và các giao dịch đã có trên chuỗi cũng có thể trở nên không hợp lệ do những thay đổi trong chuỗi khối. Đây là lý do tại sao khi bạn chuyển ETH sang một sàn giao dịch, bạn cần đợi 30 khối để đảm bảo rằng giao dịch được xác nhận. Các lần khôi phục thường nhỏ - chỉ 1 hoặc 2 khối - nhưng khi mạng bị tấn công, các lần khôi phục sẽ lớn hơn nhiều. Để tránh khôi phục ETH 2.0, chúng tôi rất cẩn thận để duy trì độ trễ 14*1024 giây (khoảng 4 giờ) khi đồng bộ hóa ETH 1.0. Tôi gọi đây là "khoảng cách theo dõi" tới ETH 1.0.
tiêu đề cấp đầu tiên
khi? Ai?
Đối với sáng tạo, hai câu hỏi quan trọng nhất là "khi nào" và "ai"? Cụ thể, "Khi nào thì sự hình thành sẽ xảy ra?" và "Ai sẽ là người xác nhận sự hình thành?" Hai câu hỏi này xác định trạng thái hình thành của chuỗi đèn hiệu và các trạng thái khác bắt nguồn từ trạng thái hình thành.
Quy trình chung như sau:
Theo dõi dòng tiền ký quỹ trên ETH 1.0.
Sau khi đợi đủ lâu, với đủ số dư, trạng thái tạo sẽ được tạo.
Hai ngày sau, ETH 2.0 được khởi chạy bằng cách kích hoạt sự kiện genesis.
Cụ thể, ở bước 2, chúng tôi muốn tìm khối ETH 1.0 đầu tiên thỏa mãn 2 điều kiện sau: (a) đủ ký quỹ bị khóa; (b) dấu thời gian trong khối không quá cũ. Trạng thái Genesis được xác định bởi khối này.
Ba cài đặt tham số chính ảnh hưởng đến "khi nào" và "ai" như sau:
GENESIS_DELAY là 172800 giây hoặc khoảng 48 giờ. Đây là khoảng thời gian giữa việc tạo ra trạng thái nguồn gốc và kích hoạt sự kiện nguồn gốc. Các nhóm khách hàng có thể sử dụng thời gian này để ghi trạng thái gốc vào phần mềm nút chuỗi đèn hiệu của họ. Bằng cách này, các nút chuỗi đèn hiệu không chạy các nút trình xác thực không cần tiếp tục theo dõi chuỗi ETH 1.0. Chúng tôi cũng có thời gian để tổ chức các buổi phát trực tiếp và các bữa tiệc
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT đề cập đến số lượng tiền gửi hợp lệ tối thiểu mà chúng tôi cần khóa trong hợp đồng ký quỹ ETH 1.0 trước khi tạo trạng thái gốc. Đối với Medalla (và mạng chính), cần có tối thiểu 16384 trình xác thực.
Bài học rút ra từ việc ra mắt mạng thử nghiệm Medalla: Mặc dù chúng tôi có thời gian để tổ chức bữa tiệc, nhưng 44 giờ là một khoảng thời gian hơi dài để đảm bảo rằng nút khởi chạy ở trạng thái tốt, phần mềm máy khách được cập nhật chứa tất cả thông tin cần thiết và điều đó thật dễ dàng cho người dùng cuối sử dụng vội vàng. Chúng tôi có thể tăng GENESIS_DELEY cho mạng chính.
tiêu đề cấp đầu tiên
cảnh
Khi khối này được tạo, số lượng trình xác thực không được thấp hơn 16384 (MIN_GENESIS_ACTIVE_VALIDATOR_COUNT).
Dấu thời gian không quá sớm (không sớm hơn MIN_GENESIS_TIME - GENESIS_DELAY).
Theo thứ tự thỏa mãn hai điều kiện trên, quá trình phát sinh có thể được hoàn thành theo hai cách sau:
tiêu đề phụ
1. Đáp ứng yêu cầu ký quỹ tối thiểu trước
Trong trường hợp này, điều kiện 1 được thỏa mãn trước. Trước thời điểm hình thành sớm nhất, chúng tôi đã có đủ tiền ký quỹ.
Khối ETH 1.0 mà chúng tôi đã sử dụng để kích hoạt sự kiện ban đầu phải được khai thác sau thời điểm này. Giả sử rằng khối này được khai thác lúc 9:00:05 chiều ngày 2 tháng 8, giờ Bắc Kinh (5 giây sau 9 giờ).
Nếu hợp đồng ký quỹ đã nhận được ít nhất 16384 số tiền ký quỹ hiệu dụng (bao gồm tất cả các giao dịch ký quỹ trong khối này), thì tất cả số tiền ký quỹ nhận được trong hợp đồng ký quỹ cũng được đưa vào trạng thái ban đầu. Do đó, có hơn 16384 trình xác thực Genesis trên chuỗi ETH 2.0. (Trên mạng thử nghiệm Altona, chúng tôi đặt MIN_GENESIS_ACTIVE_VALIDATOR_COUNT thành 640, nhưng trình xác thực nguồn gốc cuối cùng có 685.)
Mô tả hình ảnh
tóm tắt
Một điều cần lưu ý là xem xét khoảng cách theo dõi ETH 1.0, chúng tôi thực sự phải đợi 4 giờ trước khi có được trạng thái ban đầu. Nói cách khác, trong kịch bản hiện tại, chúng ta phải đợi đến 5 giờ chiều ngày 2 tháng 8, giờ Bắc Kinh để có được trạng thái tạo.
tóm tắt
Sự kiện khởi đầu sẽ kích hoạt một vài giây sau thời điểm khởi tạo sớm nhất nếu trước tiên đáp ứng yêu cầu tiền gửi tối thiểu. Những người xác nhận đã đăng ký 48 giờ trước sự kiện ban đầu sẽ được đưa vào trạng thái ban đầu.
tiêu đề phụ
2. Sau khi đáp ứng yêu cầu ký quỹ tối thiểu
Trong trường hợp này, khối ETH 1.0 mà chúng tôi sử dụng để kích hoạt sự kiện ban đầu phải chứa khoản tiền gửi hợp lệ thứ 16384. Giả sử khối này được khai thác vào lúc 8:34:56 tối ngày 5 tháng 8, giờ Bắc Kinh.
Bây giờ, trạng thái chuỗi đèn hiệu sẽ chứa 16384 trình xác thực và các khoản tiền gửi hợp lệ khác trong khối này. Do đó, nếu khối này chứa nhiều khoản tiền gửi, khoản tiền gửi được bao gồm trong trạng thái chuỗi đèn hiệu sẽ cao hơn một chút so với yêu cầu tối thiểu.
Mô tả hình ảnh
tóm tắt
tóm tắt
Tóm lại là
Nếu dòng tiền gửi vào chậm, sự kiện ban đầu sẽ được kích hoạt 48 giờ sau khi khai thác khối ETH 1.0 chứa khoản tiền gửi hiệu quả thứ 16384. Trạng thái ban đầu sẽ chứa ít nhất 16834 trình xác nhận và có thể tăng nhẹ do số lượng giao dịch ký quỹ có trong khối ETH1.0 này (nâng tổng số trình xác nhận lên trên 16834).
tiêu đề cấp đầu tiên
Tóm lại là
Bài viết này đã giới thiệu nội dung cơ bản về cơ chế tạo ETH 2.0.


