User Tools

Site Tools


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

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_0141 [2021/08/13 12:58]
murphy
dido:public:ra:xapend:xapend.b_stds:defact:bitcoin:bips:bip_0141 [2021/08/17 14:03] (current)
murphy
Line 22: Line 22:
 //This BIP defines a new structure called a "​witness"​ that is committed to blocks separately from the transaction merkle tree. This structure contains data required to check transaction validity but not required to determine transaction effects. In particular, scripts and signatures are moved into this new structure.//​ //This BIP defines a new structure called a "​witness"​ that is committed to blocks separately from the transaction merkle tree. This structure contains data required to check transaction validity but not required to determine transaction effects. In particular, scripts and signatures are moved into this new structure.//​
  
-//The witness is committed in a tree that is nested into the block'​s existing merkle root via the coinbase transaction for the purpose of making this BIP soft fork compatible. A future [[dido:​public:​ra:​xapend:​xapend.a_glossary:​h:​hard_fork+//The witness is committed in a tree that is nested into the block'​s existing merkle root via the coinbase transaction for the purpose of making this BIP [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​soft_fork|soft fork]] compatible. A future [[dido:​public:​ra:​xapend:​xapend.a_glossary:​h:​hard_fork
 |hard fork]] can place this tree in its own branch.// |hard fork]] can place this tree in its own branch.//
  
Line 36: Line 36:
      * //It allows creation of unconfirmed transaction dependency chains without counterparty risk, an important feature for offchain protocols such as the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​l:​lightning_network|Lightning Network]]//      * //It allows creation of unconfirmed transaction dependency chains without counterparty risk, an important feature for offchain protocols such as the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​l:​lightning_network|Lightning Network]]//
 //2. Transmission of signature data becomes optional. It is needed only if a peer is trying to validate a transaction instead of just checking its existence. This reduces the size of [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​spv]] proofs and potentially improves the privacy of SPV clients as they can download more transactions using the same [[dido:​public:​ra:​xapend:​xapend.a_glossary:​b:​bandwidth|bandwidth]].//​ \\  //2. Transmission of signature data becomes optional. It is needed only if a peer is trying to validate a transaction instead of just checking its existence. This reduces the size of [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​spv]] proofs and potentially improves the privacy of SPV clients as they can download more transactions using the same [[dido:​public:​ra:​xapend:​xapend.a_glossary:​b:​bandwidth|bandwidth]].//​ \\ 
-//3. Some constraints could be bypassed with a soft fork by moving part of the transaction data to a structure unknown to current protocol, for example://+//3. Some constraints could be bypassed with a soft fork by moving part of the transaction data to a structure unknown to current ​[[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​protocol|protocol]], for example://
      * //Size of witness could be ignored / discounted when calculating the block size, effectively increasing the block size to some extent//      * //Size of witness could be ignored / discounted when calculating the block size, effectively increasing the block size to some extent//
      * //Hard coded constants, such as maximum data push size (520 bytes) or sigops limit could be reevaluated or removed//      * //Hard coded constants, such as maximum data push size (520 bytes) or sigops limit could be reevaluated or removed//
      * //New script system could be introduced without any limitation from the existing script semantic. For example, a new transaction digest algorithm for transaction signature verification is described in [[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​bitcoin:​bips:​bip_0143| BIP143]].//      * //New script system could be introduced without any limitation from the existing script semantic. For example, a new transaction digest algorithm for transaction signature verification is described in [[dido:​public:​ra:​xapend:​xapend.b_stds:​defact:​bitcoin:​bips:​bip_0143| BIP143]].//
dido/public/ra/xapend/xapend.b_stds/defact/bitcoin/bips/bip_0141.1628873900.txt.gz · Last modified: 2021/08/13 12:58 by murphy