User Tools

Site Tools


dido:public:ra:xapend:xapend.b_stds:defact:bitcoin:bips:bip_0147

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:public:ra:xapend:xapend.b_stds:defact:bitcoin:bips:bip_0147 [2019/05/28 16:14]
nick ↷ Links adapted because of a move operation
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:​stds:​defact:​bitcoin| return to the Bitcoin ​Standards ​]]+[[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​bitcoin:bips| return to the Bitcoin ​Improvement Proposals ​]]
  
 <​table>​ <​table>​
Line 9: Line 9:
 | Comments-Summary ​          | No comments yet. | | Comments-Summary ​          | No comments yet. |
 | Comments-URI ​              | [[https://​github.com/​bitcoin/​bips/​wiki/​Comments:​BIP-0147]] ​   | | Comments-URI ​              | [[https://​github.com/​bitcoin/​bips/​wiki/​Comments:​BIP-0147]] ​   |
-Staus                      ​| Final | +Status ​                    | Final | 
 | Type                       | Standards Track |  | Type                       | Standards Track | 
 | Created ​                   | 2016-09-02 ​ | | Created ​                   | 2016-09-02 ​ |
 | Post History ​              ​| ​ | | Post History ​              ​| ​ |
 | Description ​               | [[https://​github.com/​bitcoin/​bips/​blob/​master/​bip-0147.mediawiki]] | | Description ​               | [[https://​github.com/​bitcoin/​bips/​blob/​master/​bip-0147.mediawiki]] |
-:​icense ​                   | PD |+License ​                   | PD |
 </​table>​ </​table>​
  
-  : **Note**: The following is an excerpt from the official Bitcoin site. It is provided here as a connivence ​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 ===
   : //This document specifies proposed changes to the Bitcoin transaction validity rules to fix a malleability vector in the extra stack element consumed by ''​OP_CHECKMULTISIG''​ and ''​OP_CHECKMULTISIGVERIFY''​.//​   : //This document specifies proposed changes to the Bitcoin transaction validity rules to fix a malleability vector in the extra stack element consumed by ''​OP_CHECKMULTISIG''​ and ''​OP_CHECKMULTISIGVERIFY''​.//​
  
-====== 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:​stds:​defact:​bitcoin:​bip:​bip_0141]]) 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.//​
dido/public/ra/xapend/xapend.b_stds/defact/bitcoin/bips/bip_0147.1559074499.txt.gz · Last modified: 2019/05/28 16:14 by nick