You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(consensus): ban peers sending invalid shielded proofs (#11054)
Failed Orchard/Ironwood Halo2 proofs, Orchard binding signatures, and Sprout
JoinSplit signatures returned untyped string errors that collapsed to
`InternalDowncastError` (mempool misbehaviour score 0) in `From<BoxError>`. A
peer could therefore force expensive shielded verification indefinitely without
ever being banned; the `RedPallas`/`Ed25519` entries already in the ban list
were dead because the conversion never produced those variants.
Type these verification failures as `Halo2VerificationFailed` /
`SaplingVerificationFailed`, downcast `ed25519` and `reddsa` errors in
`From<BoxError>`, and give them and the non-canonical proof-size errors
(`OrchardProofSize`, `IronwoodProofSize`) a ban-worthy misbehaviour score.
Ported from Zakura (#283, #285).
Refs: GHSA-2p4c-3q4q-p463
0 commit comments