-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] Malicious validator can send fake BlockResponse to block honest validators from processing messages #3315
Comments
I think there are two problems to solve:
|
@joske can you confirm if this is an issue (and the related PR resolves it?) |
I think #3304 should avoid the node getting stuck on big blocks. That said, there's still a deadlock in sync that we haven't found yet. I don't know about the MAX_TRANSACTIONS |
I've looked at change 3304, which is a change to node/router/src/inbound.rs, but the problem described there is within the BFT module: snarkOS/node/bft/src/gateway.rs Lines 629 to 644 in cf83035
The value of MAX_TRANSACTIONS is hardcoded to 1048575, which means that a fake BlockResponse may be filled with 1048575 transactions, which will make deserialization extremely time-consuming. |
it's probably a good idea to defer this deserialization to rayon in Gateway too, yes. |
On the
I would say that this problem needs a more fundamental fix/avoidance than just lowering the size check. |
🐛 Bug Report
https://github.com/AleoNet/snarkVM/blob/454d555a0ee1478dce5fa1822b64525a361b6b27/ledger/block/src/transactions/bytes.rs#L29-L32
snarkOS/node/bft/src/gateway.rs
Lines 634 to 635 in cf83035
Your Environment
snarkOS Version: cf83035
The text was updated successfully, but these errors were encountered: