This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dido:public:ra:xapend:xapend.b_stds:defact:bitcoin:bips:bip_0147 [2020/05/19 22:56] char |
dido:public:ra:xapend:xapend.b_stds:defact:bitcoin:bips:bip_0147 [2021/08/18 11:05] (current) murphy |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ==== BIP 0147 - Dealing with dummy stack element malleability (soft fork) ==== | ==== BIP 0147 - Dealing with dummy stack element malleability (soft fork) ==== | ||
| - | [[dido:public:ra:xapend.stds:defact:bitcoin:bips| return to the Bitcoin Improvement Proposals ]] | + | [[dido:public:ra:xapend:xapend.b_stds:defact:bitcoin:bips| return to the Bitcoin Improvement Proposals ]] |
| <table> | <table> | ||
| Line 17: | Line 17: | ||
| </table> | </table> | ||
| - | : **Note**: The following is an excerpt from the official Bitcoin site. It is provided here as a convenience and is not authoritative. Refer to the original document(s) as the authoritative reference. | + | : **Note**: The following is an excerpt from the official [[dido:public:ra:xapend:xapend.a_glossary:b:bitcoin|Bitcoin]] site. It is provided here as a convenience and is not authoritative. Refer to the original document(s) as the authoritative reference. |
| === Abstract === | === Abstract === | ||
| Line 23: | Line 23: | ||
| === Motivation === | === Motivation === | ||
| - | : //Signature malleability refers to the ability of any relay node on the network to transform the signature in transactions, with no access to the relevant private keys required. For non-segregated witness transactions, signature malleability will change the ''txid'' and invalidate any unconfirmed child transactions. Although the ''txid'' of segregated witness ([[dido:public:ra:xapend.stds:defact:bitcoin:bips:bip_0141 | BIP141]]) transactions is not third party malleable, this malleability vector will change the ''wtxid'' and may reduce the efficiency of compact block relay ([[https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki | BIP152]]).// | + | : //Signature malleability refers to the ability of any relay [[dido:public:ra:xapend:xapend.a_glossary:n:node|node]] on the network to transform the signature in transactions, with no access to the relevant private keys required. For non-segregated witness transactions, signature malleability will change the ''txid'' and invalidate any unconfirmed child transactions. Although the ''txid'' of segregated witness ([[dido:public:ra:xapend:xapend.b_stds:defact:bitcoin:bips:bip_0141| BIP141]]) transactions is not third party malleable, this malleability vector will change the ''wtxid'' and may reduce the efficiency of compact block relay ([[https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki | BIP152]]).// |
| - | : //A design flaw in ''OP_CHECKMULTISIG'' and ''OP_CHECKMULTISIGVERIFY'' causes them to consume an extra stack element ("dummy element") after signature validation. The dummy element is not inspected in any manner, and could be replaced by any value without invalidating the script. This document specifies a new rule to fix this signature malleability.// | + | : //A design flaw in ''OP_CHECKMULTISIG'' and ''OP_CHECKMULTISIGVERIFY'' causes them to consume an extra stack element ("dummy element") after signature [[dido:public:ra:xapend:xapend.a_glossary:v:validation|validation]]. The dummy element is not inspected in any manner, and could be replaced by any value without invalidating the [[dido:public:ra:xapend:xapend.a_glossary:s:script|script]]. This document specifies a new rule to fix this signature malleability.// |