From c239a6c0c4ed7db9379e26c13fc8b85ebe57beb0 Mon Sep 17 00:00:00 2001 From: MatheusFranco99 <48058141+MatheusFranco99@users.noreply.github.com> Date: Fri, 16 Jan 2026 18:20:42 +0000 Subject: [PATCH 1/2] add global shared state validation --- p2p/MessageValidation/Rules.md | 110 +++++++++++++++--- .../images/covert_attack.png | Bin 0 -> 134140 bytes 2 files changed, 93 insertions(+), 17 deletions(-) create mode 100644 p2p/MessageValidation/images/covert_attack.png diff --git a/p2p/MessageValidation/Rules.md b/p2p/MessageValidation/Rules.md index b4bc99f..ef1d5df 100644 --- a/p2p/MessageValidation/Rules.md +++ b/p2p/MessageValidation/Rules.md @@ -120,7 +120,7 @@ var ( ErrPartialSigOneSigner = Error{text: "partial signature message with len(signers) != 1", reject: true} ErrTooManyPartialSignatureMessages = Error{text: "too many signatures for cluster in partial signature message"} - ErrTooManyEqualValidatorIndicesInPartialSignatures = Error{text: "validator index appears too many times in partial signature message", reject: true} + ErrTooManyEqualValidatorIndicesInPartialSignatures = Error{text: "validator index appears too many times in partial signature message", reject: true} ErrNoPartialSignatureMessages = Error{text: "no partial signature messages", reject: true} ErrInconsistentSigners = Error{text: "inconsistent signers", reject: true} ErrValidatorIndexMismatch = Error{text: "validator index mismatch"} @@ -137,6 +137,16 @@ var ( The main structure is the `MessageValidation` structure which has a `ValidatePubsubMessage` function to serve as a handle for the GossipSub extended validator. +The function calls `ValidateMessage` which recursively calls every validation chain: Syntax -> Semantics -> QBFT Semantics | Partial Signature Semantics -> QBFT Logic -> Duty Rules. +All rules are verified against the peer-specific state, and after it: +- If there's any error, the appropriate `Ignore` or `Reject` is returned. +- Else, the message is again validated but this time against the global shared state. +This prevents the node from propagating duplicated messages. Then: + - In case there's any error, `Ignore` is returned (even if the triggered rule has `reject: true`) as we can't blame the peer for the error. + - Else, `Accept` is returned. + +More about the global shared state validation is discussed [below](#global-shared-state-validations). + ```go const ( @@ -175,27 +185,35 @@ func (mv *MessageValidation) Validate(_ context.Context, _ peer.ID, pmsg *pubsub // Check error if err != nil { - - var valErr Error - if errors.As(err, &valErr) { - // Update state - peerState.OnError(valErr) - - if valErr.Reject() { - // Reject - return pubsub.ValidationReject - } else { - // Ignore - return pubsub.ValidationIgnore - } - } else { - panic(err) - } + return GetPubSubValidatoinResult(peerState, err) } else { + // If the message is successful after all rules are tested on the peer-specific state, + // test it as well on the global shared state to avoid propagating duplicated + err = mv.ValidateAgainstGlobalSharedState(pmsg) + if err != nil { + return pubsub.ValidationIgnore + } return pubsub.ValidationAccept } } +func GetPubSubValidatoinResult(peerState *PeerState, err error) pubsub.ValidationResult { + var valErr Error + if errors.As(err, &valErr) { + // Update state + peerState.OnError(valErr) + if valErr.Reject() { + // Reject + return pubsub.ValidationReject + } else { + // Ignore + return pubsub.ValidationIgnore + } + } else { + panic(err) + } +} + func (mv *MessageValidation) VerifyMessageSignature(pmsg *pubsub.Message) error { // Already verified signedSSVMessage := &types.SignedSSVMessage{} @@ -1064,6 +1082,64 @@ func (mv *MessageValidation) ValidatePartialSigMessagesByDutyLogic(peerID peer.I - Proposal and round-change justifications were not included because they are too complex to implement at the message validation level. The cost of adding this complexity is not justified since the message count check already prevents any related attack. +### Global Shared State Validations + +At first, the message is checked for all rules against a peer-specific state. +This is important for penalizing a peer **solely** due to its current and past activities, +making it impossible for one peer to maliciously manipulate the state in order to penalize another. + +Still, this doesn't prevent the node itself from commiting a violation. +Note the following example: + +![Covert Attack](images/covert_attack.png) + +This image illustrates the *Covert Attack*, in which a peer malicious sends two "logically duplicated" messages +(for example, `Prepare(data=1)` and `Prepare(data=2)` created by the same operator, for the same duty, and for the same QBFT round), +one to peer A and another to peer B. +Even though peer C is receiving a conflicting message, the usage of peer-specific state allows peer C not to penalize A and B +(which is correct since they are not violating the protocol). +Still, if peer C accepts both messages, it would end up sending conflicting messages and +would be penalized by a later peer for duplication. + +To prevent this, every peer will store a *global shared state* that represents its view of the network, +reflecting updates from any accepted message it receives from any peer. +After a message is accepted against peer-specific state checks, +it's checked again for all rules but against the global shared state. + +Most importantly, note that such a global shared state is exactly what others should understand as this peer's specific-state +(i.e. `A.global_shared_state == B.peer_specific_state[A]` for any A and B with appropriate synchronization). +Thus, if the message is accepted against such a state, other peers will also accept it. + +In case a rule is triggered during the global shared state validation, +the message should be strictly **ignored** (even if it's a rejection rule). +That's in accordance with the fact that the peer shouldn't be penalized +due to a state it can't control. +Else, if all rules are successful, the message is accepted. + +In the [code snippet](#the-main-structure-function-and-constant-values) above, `mv.ValidateAgainstGlobalSharedState(pmsg)` should +call again all message validation rules but should use the global shared state instead of the peer-specific one. + +```mermaid +flowchart LR + A[Receive message from peer] + B[Rules validation with peer-specific state] + C{Any rule triggered?} + D[Reject/ignore message according to the rule] + E[Rules validation with shared state validation] + F{Any rule triggered?} + G[Ignore] + H[Accept] + + A --> B + B --> C + C -- Yes --> D + C -- No --> E + E --> F + F -- Yes --> G + F -- No --> H +``` + + ### Rules suggestions for future - Priority-based message handling: priority based on type and sender. diff --git a/p2p/MessageValidation/images/covert_attack.png b/p2p/MessageValidation/images/covert_attack.png new file mode 100644 index 0000000000000000000000000000000000000000..71cf3f675bf0602c405780bb7501c0a2f1366f1b GIT binary patch literal 134140 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ⅅh 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 literal 0 HcmV?d00001 From 4464b48d2cd53cfe4e1b71b3fdc72f47b8141c83 Mon Sep 17 00:00:00 2001 From: Gal Rogozinski Date: Mon, 26 Jan 2026 10:59:04 +0200 Subject: [PATCH 2/2] improve wording and optimize --- p2p/MessageValidation/Rules.md | 71 ++++++++++++++++------------------ 1 file changed, 34 insertions(+), 37 deletions(-) diff --git a/p2p/MessageValidation/Rules.md b/p2p/MessageValidation/Rules.md index ef1d5df..3830670 100644 --- a/p2p/MessageValidation/Rules.md +++ b/p2p/MessageValidation/Rules.md @@ -1084,61 +1084,58 @@ func (mv *MessageValidation) ValidatePartialSigMessagesByDutyLogic(peerID peer.I ### Global Shared State Validations -At first, the message is checked for all rules against a peer-specific state. -This is important for penalizing a peer **solely** due to its current and past activities, -making it impossible for one peer to maliciously manipulate the state in order to penalize another. +All message validation procedures MUST follow the order and outcome-directed handling below, using RFC 2119 conventions for requirement levels. -Still, this doesn't prevent the node itself from commiting a violation. -Note the following example: +**1. Global Shared State Validation** -![Covert Attack](images/covert_attack.png) +Upon receipt of a message, the node MUST first validate the message against all protocol rules using the *global shared state*. This state reflects an aggregate view of all messages accepted by the node, regardless of which peer sent them. + +- If the message passes all rules in the global shared state, the node MUST proceed to accept the message. +- If any rule is triggered during global shared state validation: + - If the corresponding rule may later result in rejection when applied to peer-specific state (i.e., is classified as REJECT in this document), the node MUST proceed to validate the message against *peer-specific state* for this peer: + - If the message fails the peer-specific check for this rule, the node MUST REJECT the message according to the rule's classification. + - If the message passes the peer-specific check but failed the global check, the node MUST IGNORE the message. This ensures the peer is not penalized for a condition it cannot control. + - If the rule is not a REJECT rule, the node MUST IGNORE the message. -This image illustrates the *Covert Attack*, in which a peer malicious sends two "logically duplicated" messages -(for example, `Prepare(data=1)` and `Prepare(data=2)` created by the same operator, for the same duty, and for the same QBFT round), -one to peer A and another to peer B. -Even though peer C is receiving a conflicting message, the usage of peer-specific state allows peer C not to penalize A and B -(which is correct since they are not violating the protocol). -Still, if peer C accepts both messages, it would end up sending conflicting messages and -would be penalized by a later peer for duplication. +**2. Peer-Specific State Validation** -To prevent this, every peer will store a *global shared state* that represents its view of the network, -reflecting updates from any accepted message it receives from any peer. -After a message is accepted against peer-specific state checks, -it's checked again for all rules but against the global shared state. +For completeness, prior to any global state check, messages MAY be initially checked against peer-specific state for any checks directly related to penalizing peer misbehavior relative to their historical activity. Peer-specific checks MUST only result in penalization or rejection if the message definitively violates protocol rules in the context of that peer’s known state. -Most importantly, note that such a global shared state is exactly what others should understand as this peer's specific-state -(i.e. `A.global_shared_state == B.peer_specific_state[A]` for any A and B with appropriate synchronization). -Thus, if the message is accepted against such a state, other peers will also accept it. +**Rationale and Security Considerations** -In case a rule is triggered during the global shared state validation, -the message should be strictly **ignored** (even if it's a rejection rule). -That's in accordance with the fact that the peer shouldn't be penalized -due to a state it can't control. -Else, if all rules are successful, the message is accepted. +This approach is required to prevent scenarios such as the *Covert Attack*, illustrated below, where malicious actors distribute logically conflicting messages to different peers to avoid immediate penalization, while still causing protocol violations affecting a node’s global state. + +![Covert Attack](images/covert_attack.png) -In the [code snippet](#the-main-structure-function-and-constant-values) above, `mv.ValidateAgainstGlobalSharedState(pmsg)` should -call again all message validation rules but should use the global shared state instead of the peer-specific one. +**Correctness**: The global shared state is intended to reflect what other peers would understand as any given node’s state (i.e., `A.global_shared_state == B.peer_specific_state[A]`, assuming synchronization). By enforcing global state checks first, nodes avoid creating and propagating protocol-violating conditions, even in the face of asymmetric message delivery. + +**Pseudocode Summary**: ```mermaid flowchart LR A[Receive message from peer] - B[Rules validation with peer-specific state] + B[Rules validation with global shared state] C{Any rule triggered?} - D[Reject/ignore message according to the rule] - E[Rules validation with shared state validation] - F{Any rule triggered?} - G[Ignore] - H[Accept] + D[Is rule 'reject'-typed?] + D2[Peer-specific check for this rule] + E[Reject message] + F[Ignore message] + G[Accept message] A --> B B --> C + C -- No --> G C -- Yes --> D - C -- No --> E - E --> F - F -- Yes --> G - F -- No --> H + D -- Yes --> D2 + D2 -- Fail --> E + D2 -- Pass --> F + D -- No --> F ``` +**Summary**: The node MUST apply all rule checks first to the global shared state. For any rule that, if violated in peer-specific state, would cause rejection, a secondary peer-specific check MUST be performed. If the message fails that peer-specific check, it MUST be REJECTED. If it passes the peer-specific check but still violates the rule globally, the message MUST be IGNORED. If it passes all checks globally, it MUST be ACCEPTED. + +This flow strictly prevents penalization of peers for state they do not control, while ensuring the node does not violate protocol integrity due to global state inconsistencies. + ### Rules suggestions for future