Chủ đề thịnh hành
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
1/ SIMD-0334, bởi Stanislav Ladyzhenskiy, sửa lỗi kiểm tra syscall alt_bn128_pairing của Solana. Nó thêm một kiểm tra độ dài thích hợp trên các byte đầu vào cho các cặp đường cong elliptic, ngăn chặn bất kỳ sự lạm dụng nào với các đầu vào có kích thước không chính xác. Hãy cùng phân tích điều này có nghĩa là gì 🧵

2/ alt_bn128_pairing là một syscall để ghép cặp trên đường cong elliptic BN128 được sử dụng trong các chứng minh không kiến thức. Nó nhận một danh sách các điểm trên đường cong làm đầu vào. Mỗi cặp điểm có kích thước 192 byte, vì vậy các đầu vào hợp lệ phải có độ dài là bội số của 192 byte.
3/ Vấn đề: kiểm tra độ dài đã sử dụng checked_rem của Rust không chính xác. checked_rem chỉ trả về None khi chia cho 0, vì vậy kiểm tra không bao giờ thất bại với 192. Kết quả là, syscall ghép cặp sẽ chạy ngay cả khi đầu vào không phải là bội số của 192.
4/ Giải pháp: kiểm tra rằng độ dài đầu vào là bội số của 192 và báo lỗi nếu không. Điều này sẽ bắt ngay bất kỳ byte thừa nào thay vì lặng lẽ bỏ qua chúng. Các thay đổi mã nằm trong solana-sdk và được phát hành cùng với Agave v3.1.0.
1,2K
Hàng đầu
Thứ hạng
Yêu thích