mirror of
				https://github.com/bitcoin/bips.git
				synced 2025-10-27 14:09:10 +00:00 
			
		
		
		
	Merge pull request #966 from sdaftuar/2020-08-wtxid-relay-fixes
BIP 339 clarifications
This commit is contained in:
		
						commit
						a2cd496af1
					
				| @ -18,7 +18,7 @@ based on the BIP 141 wtxid of a transaction, rather than its txid. | ||||
| 
 | ||||
| ==Motivation== | ||||
| 
 | ||||
| Historically, the INV messages sent on the Bitcoin peer-to-peer network to | ||||
| Historically, the inv messages sent on the Bitcoin peer-to-peer network to | ||||
| announce transactions refer to transactions by their txid, which is a hash of | ||||
| the transaction that does not include the witness (see BIP 141). This has been | ||||
| the case even since Segregated Witness (BIP 141/143/144) has been adopted by | ||||
| @ -41,9 +41,10 @@ announcing and fetching transactions. | ||||
| 
 | ||||
| # A new wtxidrelay message is added, which is defined as an empty message where pchCommand == "wtxidrelay". | ||||
| # The protocol version of nodes implementing this BIP must be set to 70016 or higher. | ||||
| # The wtxidrelay message must be sent in response to a VERSION message from a peer whose protocol version is >= 70016, and prior to sending a VERACK. | ||||
| # A new inv type MSG_WTX (0x00000005) is added, for use in both INV messages and GETDATA requests, indicating that the hash being referenced is a transaction's wtxid. In the case of GETDATA requests, MSG_WTX implies that the transaction being requested should be serialized with witness as well, as described in BIP 144. | ||||
| # After a node has sent and received a "wtxidrelay" message to/from a given peer, the node is required to use the MSG_WTX inv-type when announcing transactions to that peer, or requesting announced transactions from that peer. | ||||
| # The wtxidrelay message MUST be sent in response to a version message from a peer whose protocol version is >= 70016 and prior to sending a verack. A wtxidrelay message received after a verack message MUST be ignored or treated as invalid. | ||||
| # A new inv type MSG_WTX (0x00000005) is added, for use in both inv messages and getdata requests, indicating that the hash being referenced is a transaction's wtxid. In the case of getdata requests, MSG_WTX implies that the transaction being requested should be serialized with witness as well, as described in BIP 144. | ||||
| # After a node has received a wtxidrelay message from a peer, the node MUST use the MSG_WTX inv type when announcing transactions to that peer. | ||||
| # After a node has received a wtxidrelay message from a peer, the node SHOULD use a MSG_WTX getdata message to request any announced transactions. A node MAY still request transactions from that peer using MSG_TX getdata messages, such as for transactions not recently announced by that peer (like the parents of recently announced transactions). | ||||
| 
 | ||||
| ==Backward compatibility== | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user