Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
LABS
Glossary

Signature Malleability

A flaw in certain digital signature schemes where a valid signature can be non-destructively altered, creating a different but still valid signature for the same message and private key.
Chainscore © 2026
definition
BLOCKCHAIN SECURITY

What is Signature Malleability?

A cryptographic vulnerability where a digital signature can be altered without invalidating it, potentially creating a different, valid transaction ID.

Signature malleability is a flaw in certain digital signature algorithms, notably the Elliptic Curve Digital Signature Algorithm (ECDSA) used in Bitcoin, that allows an attacker to modify a valid cryptographic signature without changing the signer's public key or the signed message's validity. This is possible because ECDSA signatures consist of two components, (r, s), and the mathematical property exists where if (r, s) is valid, then (r, -s mod n) is also a valid signature for the same data. This creates two distinct, valid signatures for a single transaction.

The primary risk in blockchain contexts is not the forgery of signatures but the manipulation of transaction IDs (TXIDs). A TXID is a cryptographic hash of the entire transaction data, which includes its signature. Since altering the signature creates a different hash, it generates a new, valid TXID for what is logically the same transaction. Before fixes were implemented, this could be exploited in transaction replay attacks or to disrupt the tracking of unconfirmed transactions in a node's memory pool.

Bitcoin addressed this vulnerability with the introduction of BIP 66 and the enforcement of Strict DER Encoding, and later, the Segregated Witness (SegWit) upgrade fundamentally solved it by removing the signature data (the witness) from the transaction hash used for the TXID. In Ethereum, signature malleability concerns primarily affected certain smart contract functions that used raw ecrecover; the platform's inherent transaction format and later network upgrades like EIP-155 have mitigated related replay risks across chains.

how-it-works
BLOCKCHAIN SECURITY

How Does Signature Malleability Work?

An explanation of the cryptographic vulnerability where a valid digital signature can be altered without invalidating it, creating a functionally identical but technically distinct signature.

Signature malleability is a property of certain digital signature algorithms where a valid signature for a given message and public key can be transformed to produce a second, different-looking signature that is also valid for the same data. This occurs because the mathematical representation of the signature is not unique. In the context of blockchain, the most famous historical example involved Bitcoin's Elliptic Curve Digital Signature Algorithm (ECDSA), where the signature value s could be replaced by its modular inverse -s mod n (where n is the curve order), producing a new, valid signature hash.

The core vulnerability arises when a blockchain transaction's transaction ID (TXID) is calculated from a hash of the raw transaction data, which includes its digital signature. If an attacker can intercept a transaction before it is confirmed, malleate its signature to create a new, valid one, and broadcast this altered version, it results in a different TXID for what is logically the same transaction. This breaks the assumption of a unique, immutable identifier for each transaction, which can disrupt systems that track transactions by their TXID, such as payment processors, light clients, or atomic swap protocols.

In practice, an attacker could exploit this to create confusion or disrupt dependent operations. For instance, if a service issued a payment and awaited confirmation of a specific TXID, an attacker's malleation would cause the service to see an unknown TXID confirm, potentially leading it to believe the original payment failed. While the funds still move to the intended recipient, the broken link between the expected and actual TXID can cause operational failures. This was not a theft vector for ordinary users but a significant nuisance for infrastructure.

To mitigate this, blockchain protocols implemented fixes. Bitcoin addressed it through Segregated Witness (SegWit), which restructured transaction data to remove the signature (the witness) from the part of the transaction used to calculate the TXID. This made the TXID dependent only on the transaction's core data (inputs, outputs, amounts), rendering signature changes irrelevant for identification. Other blockchains using ECDSA adopted similar structural changes or use signature algorithms like Schnorr signatures or EdDSA (Ed25519), which are inherently non-malleable by design.

Understanding signature malleability is crucial for developers building on older blockchain data or designing interoperable systems. It highlights the importance of not relying solely on TXIDs as unique, immutable pointers in all contexts and underscores how protocol upgrades often address subtle cryptographic edge cases to improve network robustness and developer experience.

key-features
SIGNATURE MALLEABILITY

Key Characteristics

Signature malleability is a cryptographic flaw where a valid digital signature can be altered without invalidating it or changing the signed message, creating a different, but still valid, signature for the same transaction.

01

The Core Vulnerability

The flaw stems from the mathematical properties of the Elliptic Curve Digital Signature Algorithm (ECDSA) used by Bitcoin and Ethereum. A signature is a pair of integers (r, s). The algorithm is malleable because if (r, s) is valid, then (r, -s mod n) is also a valid signature for the same message and public key. This creates two different transaction IDs (txids) for the same essential transaction.

02

Impact on Transaction ID (txid)

Because the digital signature is part of the transaction data hashed to create the transaction ID, a malleated signature changes the resulting txid. This can break systems that track transactions by their ID before they are confirmed on-chain, as the expected ID will not appear. Key impacts include:

  • Breaking simplistic payment tracking in wallets and exchanges.
  • Enabling transaction replay attacks in certain smart contract contexts.
  • Complicating the construction of hash-linked structures like the Bitcoin Lightning Network.
03

Bitcoin's BIP-62 & SegWit Fix

Bitcoin initially suffered from this vulnerability, most notably exploited in the Mt. Gox incident. The community addressed it in stages:

  • BIP-62 proposed strict rules for signature encoding.
  • Segregated Witness (SegWit), activated in 2017, provided the definitive fix. It moves the witness data (signatures) outside the part of the transaction used to calculate the txid, making the txid immutable regardless of signature malleability.
04

Ethereum's Transaction Hash vs. txid

Ethereum transactions are inherently less vulnerable because their unique identifier is the transaction hash, which is computed before being signed. The signature is appended externally. Therefore, altering the signature does not change the transaction hash that nodes use to reference the transaction. However, the signed transaction blob (RLP data) can be malleated, which can affect pending transaction pools but not confirmed state.

05

Smart Contract Implications

In smart contracts, especially those that verify signatures off-chain (e.g., for meta-transactions or token approvals), malleability can be a critical risk. A contract that stores used signatures in a mapping to prevent replay must normalize signatures (e.g., enforce a high-s value) or use a nonce system. Failure to do so allows an attacker to malleate a used signature, creating a new valid one that bypasses the replay protection.

06

Related Concepts

  • Transaction Malleability: The broader attack exploiting signature malleability to change a transaction's on-chain ID.
  • Replay Attack: Re-submitting or re-using a valid signed message, which malleability can facilitate.
  • ECDSA Recovery Parameter (v): In Ethereum, the v value is part of the signature and must be handled correctly to avoid malleability.
  • BIP-341 (Taproot): Uses Schnorr signatures, which are non-malleable and aggregate signatures, eliminating this class of vulnerability.
security-considerations
SECURITY RISKS & ATTACK VECTORS

Signature Malleability

Signature malleability is a cryptographic vulnerability where a valid digital signature can be altered without invalidating it, potentially allowing transaction replay attacks on certain blockchain protocols.

01

Core Vulnerability

Signature malleability exploits the mathematical property that an Elliptic Curve Digital Signature Algorithm (ECDSA) signature is not unique. A valid signature (r, s) can be transformed into another valid signature (r, -s mod n) without knowing the private key. This creates two different valid signatures for the same message and key pair.

02

Bitcoin's 2014 Exploit

This flaw was famously exploited to manipulate Bitcoin transaction IDs (TXIDs). Attackers could:

  • Re-broadcast a malleated version of an unconfirmed transaction.
  • Cause the original transaction to appear to fail, while the malleated one confirmed.
  • This disrupted services relying on unconfirmed TXIDs, like exchanges and payment processors, leading to significant financial losses.
03

SegWit as a Solution

Bitcoin's Segregated Witness (SegWit) upgrade in 2017 fundamentally fixed this by changing how transaction data is structured. It removes the signature data (witness) from the transaction identifier calculation. Since the TXID is now computed only from the transaction's core data, altering the signature no longer changes the TXID, eliminating the attack vector.

04

Transaction Replay Attacks

The primary risk of malleability is a transaction replay attack. If a TXID changes after being signed but before confirmation, a system tracking the original TXID will not see the transaction succeed. An attacker could trick a user into resending funds, as their system believes the first payment failed. This was a critical issue for lightning network channels and atomic swaps before fixes were implemented.

05

Prevention & Best Practices

Modern blockchain development employs several strategies to prevent malleability attacks:

  • Adopt SegWit-style witness isolation.
  • Use canonical signature encoding (enforcing low-s values).
  • Implement unique transaction nonces or sequence numbers.
  • For smart contracts, use checks like ecrecover carefully and avoid relying solely on transaction hashes for state changes.
06

Related Concepts

Understanding signature malleability requires knowledge of related cryptographic and blockchain concepts:

  • ECDSA & Schnorr Signatures: Schnorr signatures are non-malleable by design.
  • Transaction ID (TXID): The hash of a transaction, which malleability aimed to alter.
  • Replay Protection: A network-level defense against replaying transactions across chains (e.g., after a hard fork).
  • Smart Contract Security: Vulnerabilities like those exploited in the Parity multisig wallet hack involved signature verification logic.
ecosystem-impact
SIGNATURE MALLEABILITY

Impact on Blockchain Ecosystems

Signature malleability is a cryptographic vulnerability where a digital signature can be altered without invalidating it, creating a different but still valid transaction ID. This flaw has had significant historical and ongoing impacts on blockchain security and design.

The primary impact of signature malleability is the potential for transaction ID (txid) confusion. An attacker could broadcast a transaction, then create a malleated version with a different txid, potentially tricking a service into believing the original transaction failed. This was famously exploited in the 2014 Mt. Gox breach, where attackers used malleability to create false withdrawal failures, leading to repeated payouts and the loss of hundreds of thousands of bitcoins. This event underscored the critical need for wallet and exchange software to track transactions by their immutable on-chain data, not just their mutable IDs.

To mitigate this risk, blockchain protocols have implemented fundamental upgrades. Bitcoin addressed the issue with the Segregated Witness (SegWit) soft fork in 2017. SegWit moved the signature data (the witness) outside the transaction's core data structure, making the transaction hash—and thus the txid—immune to signature malleation. Other blockchains, like Ethereum, designed their transaction formats from the outset to be non-malleable by using Recovery ID in their ECDSA signatures or employing non-malleable signature schemes like EdDSA. These protocol-level changes are now considered standard for secure blockchain design.

Despite these fixes, the historical impact persists. Legacy systems and forks of older blockchain codebases may still be vulnerable. Furthermore, malleability concerns influence light client protocols and payment channel networks like the Lightning Network, which rely on the ability to reliably track transaction states. The vulnerability also highlights a broader principle in cryptography: the distinction between a signature's mathematical validity and its byte-level representation. Developers must ensure their applications are resilient to such encoding differences to prevent double-spend attacks and ensure the integrity of automated smart contracts and financial systems built on-chain.

solutions-implementations
SIGNATURE MALLEABILITY

Solutions & Protocol Fixes

Signature malleability is a cryptographic vulnerability where a valid digital signature can be altered without invalidating it, potentially allowing transaction replay attacks. The following solutions detail how modern protocols prevent this class of exploit.

03

Canonical Signature Enforcement

The most common fix is enforcing a single canonical representation for a signature. For ECDSA (used by Bitcoin and Ethereum), this involves:

  • Enforcing DER encoding rules strictly.
  • Requiring the 'S' value to be ≤ n/2 (where n is the curve order), known as low-S normalization.
  • Rejecting high-S signatures at the consensus or mempool level. This ensures that for any given signed message, only one valid signature representation exists, closing the malleability loophole.
05

Schnorr Signatures & MuSig

Modern signature schemes like Schnorr (implemented in Bitcoin Taproot) are non-malleable by design.

  • Linear Property: Schnorr signatures are linear, allowing secure signature aggregation (MuSig) without introducing malleability.
  • Unique Encoding: They have a unique, deterministic representation for a given key and message.
  • Batch Verification: Their security properties enable efficient batch verification, further hardening the system. Adoption of Schnorr is a proactive fix against entire classes of malleability-based attacks.
06

Smart Contract Guardrails

In smart contract platforms, developers implement checks to prevent malleability-related exploits:

  • Using tx.origin with Caution: Malleable transactions can affect sender verification.
  • Replay Protection: Contracts implement nonces or stateful checks (like a mapping of used hashes) to prevent the same signed message from being executed twice.
  • Signature Verification Libraries: Using audited, standard libraries (like OpenZeppelin) that implement EIP-712 for structured data signing helps ensure predictable, non-malleable signature handling off-chain and on-chain.
CORE CONCEPT

Malleability: Transaction vs. Signature

Clarifies the distinct but related concepts of transaction malleability and signature malleability in blockchain protocols.

FeatureTransaction MalleabilitySignature MalleabilityPost-Fix Status

Core Definition

Ability to alter a transaction's unique identifier (TXID) before confirmation without invalidating it.

Ability to create multiple valid signatures for the same message and public key pair.

Fundamentally distinct issues.

Primary Attack Vector

Modifying the transaction's witness or scriptSig data, changing its serialized form.

Exploiting mathematical properties (e.g., ECDSA 's' value) to derive an alternative signature.

Signature malleability is one cause of transaction malleability.

Impact on TXID

Directly changes the transaction hash (TXID).

Indirectly changes TXID if the signature is part of the transaction data hashed for the TXID.

Signature malleability leads to a TXID change.

Protocol-Level Fix

Segregated Witness (SegWit) separates signature data from transaction ID calculation.

Standardized signature encoding (e.g., BIP 62, low-S enforcement) to ensure canonical forms.

SegWit addresses both for witness transactions.

Historical Example

The 2014 Mt. Gox incident, where unconfirmed TXID changes disrupted tracking.

Pre-SegWit Bitcoin, where non-strict DER encoding or high-S values allowed multiple signatures.

Both were exploited in the wild.

Post-Fix Vulnerability

Largely mitigated for SegWit (v1+) and Taproot transactions. Legacy (non-SegWit) inputs remain vulnerable.

Eliminated by enforcing low-S signatures and strict encoding rules in modern client software.

Residual risk only in legacy transaction formats.

Developer Concern

Affects systems relying on unconfirmed TXIDs for state tracking (e.g., payment channels, explorers).

Affects signature verification libraries and the design of cryptographic protocols.

Understanding the distinction is crucial for robust system design.

SIGNATURE MALLEABILITY

Common Misconceptions

Signature malleability is a subtle cryptographic vulnerability where a valid digital signature can be altered without invalidating it, creating a different, but still valid, signature for the same message. This glossary clarifies the technical reality behind common misunderstandings in blockchain security.

Signature malleability is a property of certain digital signature algorithms where a valid signature for a given message and public key can be non-destructively altered to produce a second, distinct valid signature. In the context of Ethereum and Bitcoin, this historically meant an attacker could take a signed transaction, modify its ECDSA signature (specifically the s value and v value), resulting in a different transaction hash (txid) while the transaction itself remained valid and spendable. This could be exploited to disrupt transaction tracking or execute replay attacks before specific protections were implemented.

Key Mechanism: For the secp256k1 curve used by Ethereum, a signature (r, s) is valid. Due to the mathematical properties of ECDSA, if (r, s) is valid, then (r, -s mod n) is also valid, where n is the curve order. This creates two canonical forms for the same signed intent.

SIGNATURE MALLEABILITY

Frequently Asked Questions

Signature malleability is a cryptographic vulnerability where a valid digital signature can be altered without invalidating it, potentially causing issues in transaction tracking and smart contract logic. Below are answers to the most common technical questions.

Signature malleability is a property of certain digital signature algorithms where a valid signature for a given message and public key can be transformed into another, different-looking signature that is also valid for the same data, without access to the private key. This occurs because the signature verification algorithm may accept multiple, non-unique encodings of the same core mathematical proof. In blockchain contexts, this can allow an attacker to change the transaction ID (txid) of a broadcast transaction by altering its signature, creating a different hash while the transaction content remains valid. This was a significant concern in early Bitcoin, as it could disrupt transaction tracking and cause denial-of-service attacks if systems relied on unconfirmed txids.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected direct pipeline