Đo các giao dịch. Đo đề xuất đã được mã hóa. Kiểm tra ranh giới epoch. Lặp lại, vì các tổng đó không được đảm bảo khớp.
Ban đầu tôi đọc Babylon v4.3.1 như một bản vá kế toán hẹp. Nhìn kỹ hơn, tôi nghĩ nó đóng một đường lỗi cấp độ trình vận hành đúng vào thời điểm dữ liệu checkpoint được đưa vào đề xuất khối.
Trước bản sửa, ngân sách đóng gói lại checkpoint của Babylon tính toán giao dịch theo độ dài byte thô, trong khi CometBFT xác thực đề xuất được mã hóa protobuf lớn hơn. Một khối có thể vượt phép tính đầu tiên, thất bại ở phép tính thứ hai và làm trình đề xuất (proposer) bị crash tại ranh giới epoch.
v4.3.1 khiến PrepareProposal đếm kích thước mã hóa giống với kích thước mà CometBFT áp đặt. Nó cũng thêm một cơ chế bảo vệ cuối cùng loại bỏ các giao dịch không thuộc checkpoint ở phần đuôi cho đến khi đề xuất được xác thực, giữ lại checkpoint trong khi ngăn một khối bị quá cỡ được trả về.
Chuỗi đã vá được thử nghiệm ở các giới hạn bbn-1 thực tế với bốn trình xác thực trong khoảng mười ranh giới checkpoint dưới điều kiện tấn công ngập giao dịch (transaction-flood), không có vụ crash của proposer.
Với người vận hành, điều này loại bỏ một sự không khớp mà nút lẽ ra không bao giờ nên xuất ra như một rủi ro vận hành. Bộ dựng khối giờ đây có một định nghĩa duy nhất về “vừa khít”, không phải một ước lượng trước khi mã hóa và một ước lượng khác sau khi gửi.
Công việc của người vận hành Babylon thường được bàn qua các khóa, uptime và nhiệm vụ BLS. Tất cả những điều đó không quan trọng nếu việc chèn checkpoint có thể dừng sản xuất khối.
Bản phát hành này khiến ranh giới đó hoạt động như một phần của giao thức, chứ không phải một canh bạc về năng lực lặp lại đối với người đề xuất.
@BabylonLabs_io $BABY #baby
Ban đầu tôi đọc Babylon v4.3.1 như một bản vá kế toán hẹp. Nhìn kỹ hơn, tôi nghĩ nó đóng một đường lỗi cấp độ trình vận hành đúng vào thời điểm dữ liệu checkpoint được đưa vào đề xuất khối.
Trước bản sửa, ngân sách đóng gói lại checkpoint của Babylon tính toán giao dịch theo độ dài byte thô, trong khi CometBFT xác thực đề xuất được mã hóa protobuf lớn hơn. Một khối có thể vượt phép tính đầu tiên, thất bại ở phép tính thứ hai và làm trình đề xuất (proposer) bị crash tại ranh giới epoch.
v4.3.1 khiến PrepareProposal đếm kích thước mã hóa giống với kích thước mà CometBFT áp đặt. Nó cũng thêm một cơ chế bảo vệ cuối cùng loại bỏ các giao dịch không thuộc checkpoint ở phần đuôi cho đến khi đề xuất được xác thực, giữ lại checkpoint trong khi ngăn một khối bị quá cỡ được trả về.
Chuỗi đã vá được thử nghiệm ở các giới hạn bbn-1 thực tế với bốn trình xác thực trong khoảng mười ranh giới checkpoint dưới điều kiện tấn công ngập giao dịch (transaction-flood), không có vụ crash của proposer.
Với người vận hành, điều này loại bỏ một sự không khớp mà nút lẽ ra không bao giờ nên xuất ra như một rủi ro vận hành. Bộ dựng khối giờ đây có một định nghĩa duy nhất về “vừa khít”, không phải một ước lượng trước khi mã hóa và một ước lượng khác sau khi gửi.
Công việc của người vận hành Babylon thường được bàn qua các khóa, uptime và nhiệm vụ BLS. Tất cả những điều đó không quan trọng nếu việc chèn checkpoint có thể dừng sản xuất khối.
Bản phát hành này khiến ranh giới đó hoạt động như một phần của giao thức, chứ không phải một canh bạc về năng lực lặp lại đối với người đề xuất.
@BabylonLabs_io $BABY #baby
