官方的 MASTR 标志 MASTR 支持这项工作
目录
← 知识库首页

区块链基础

Transaction malleability: when an identifier changes

A transaction reference is a hash of a defined serialisation, so the exact fields included matter.

Technical reference · Bitcoin signatures · 1 min read

研究文章和参考条目以英语发布。导航提供七种语言。

本文目录
  1. Identity and payment intent
  2. What to inspect
  3. 来源与原始文件

Identity and payment intent

A transaction ID is computed from a specified representation of transaction data. Historically, some changes to signature-related encodings could alter an unconfirmed transaction's identifier without changing the intended payment. Software that assumed the first observed identifier could never change could therefore mis-handle a later reference.

This was particularly relevant to systems preparing transactions that spent the output of another unconfirmed transaction. If the parent reference changed, a dependent transaction constructed with the old identifier no longer referred to the expected output under that identifier.

What to inspect

SegWit separated witness data and changed the relevant hashing arrangements. BIP143 documents the signature-hash calculation for version-0 witness programmes, including the fields committed for a spend. The exact protection depends on the transaction form and signing mode.

Malleability is not a synonym for forging a private-key signature or spending arbitrary coins. It describes how different encodings or permitted modifications affect identity and dependencies. When reading an incident report, identify whether the failure concerned authorisation, accounting, confirmation tracking or a transaction reference. Those require different fixes.

来源与原始文件

相关阅读

MASTR

支持独立研究

这里的调查、原始证据和指南均可免费阅读。自愿捐赠帮助支付研究成本,让 MASTR 能够继续提供工具。

打开钱包