Block building in the presence of epoch change
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- go
- Lĩnh vực
- distributed-systems
Hướng nghiên cứu
Bắt đầu bằng cách theo dõi hành vi vận động cho block rỗng của block builder và việc thu thập phê duyệt thay đổi epoch được mô tả trong issue. Kiểm tra cách các node không khả dụng của epoch tiếp theo ảnh hưởng đến tiến trình phê duyệt, sau đó xác định và kiểm chứng hành vi tránh việc tạo block vô thời hạn mà không ngăn cản một thay đổi epoch có thể khôi phục.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
In our version of Simplex, a node only builds a block in one of two cases:
- Transactions exist in the mempool of the VM and a block should be built to contain them
- The block builder detects that an epoch change should occur, or is ongoing, so it builds a block to initiate or drive forward the epoch change.
This means that a block is not built if there is nothing in the mempool or there is no need to initiate an epoch change.
For (1), if a node that is not designated as the leader of the current round detects that transactions exist in the mempool for too long without a block being built and disseminated, it starts lobbying to notarize an empty block, which should make the nodes move to the next round and this will designate a new leader.
For (2), https://github.com/ava-labs/Simplex/pull/514 introduces a mechanism in which a node that is not the leader of the round also starts lobbying to notarize an empty block if a block isn't being built and disseminated for too long and the previous block indicates that there is an ongoing epoch change, or that the previous block doesn't indicate that, but an epoch change should be initiated.
Completing the epoch change requires gathering approvals from at least a quorum of nodes of the next epoch.
However, if there are not enough approvals to collect because the nodes of the next epoch are not available yet (e.g they are still syncing the P-chain) it would mean that blocks will be built indefinitely until then.
We could make the epoch change and the mechanism introduced in (2) smarter and only build a block or expect one to be build in case we know that we can drive forward the approval collection, but that's a problem for the future.
- Ngôn ngữ chính
- Go
- Star
- 22
- Fork
- 4
- Merge trung bình
- 2 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 43
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ava-labs/Simplex
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 56/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 52/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Verification accepts aux info appends after the history is sufficient, changing the approval digestĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của ava-labs/Simplex
Issue tương tự
-
needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
WriterSetTimes: the UTIME_NOW check fails when the kernel uses its coarse clockCó thể đã có người làm @JakeChampion đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
JakeChampion/lang#14224 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
docs(reference): pi stream-filter bullet says tool_execution_update passes through unchangedĐang mởagent-butler-finding bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
jordansmall/spindrift#6391 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
common.Retry: data race on the shared response/err variables when the request context ends mid-attempt (v65.127.0, v65.128.0)Có thể đã có người làm @kmohit00 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
oracle/oci-go-sdk#676 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
SAP/crossplane-provider-btp#1175 ·
Maintainer thường phản hồi trong vòng 1 ngày