From aee228746d6710013cb9f35b25ccb9c3f97950c7 Mon Sep 17 00:00:00 2001
From: Matt Corallo <git@bluematt.me>
Date: Mon, 5 Dec 2016 13:55:40 -0800
Subject: Clarify SPV node usage.

---
 bip-0152.mediawiki | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'bip-0152.mediawiki')

diff --git a/bip-0152.mediawiki b/bip-0152.mediawiki
index e05cc2a..69abf7c 100644
--- a/bip-0152.mediawiki
+++ b/bip-0152.mediawiki
@@ -185,6 +185,8 @@ Compact blocks version 2 is almost identical to version 1, but supports segregat
 
 # As high-bandwidth mode permits relaying of CMPCTBLOCK messages prior to full validation (requiring only that the block header is valid before relay), nodes SHOULD NOT ban a peer for announcing a new block with a CMPCTBLOCK message that is invalid, but has a valid header.  For avoidance of doubt, nodes SHOULD bump their peer-to-peer protocol version to 70015 or higher to signal that they will not ban or punish a peer for announcing compact blocks prior to full validation, and nodes SHOULD NOT announce a CMPCTBLOCK to a peer with a version number below 70015 before fully validating the block.
 
+# SPV nodes which implement this spec must consider the implications of accepting blocks which were not validated by the node which provided them. Especially SPV nodes which allow users to select a "trusted full node" to sync from may wish to avoid implementing this spec in high-bandwidth mode.
+
 ==Justification==
 
 ====Protocol design====
-- 
cgit v1.2.3


From 8102d5f5afd0567662d46e6b2646749c7051ba24 Mon Sep 17 00:00:00 2001
From: paveljanik <Pavel@Janik.cz>
Date: Thu, 8 Dec 2016 10:20:04 +0100
Subject: Fix typos

---
 bip-0152.mediawiki | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

(limited to 'bip-0152.mediawiki')

diff --git a/bip-0152.mediawiki b/bip-0152.mediawiki
index 69abf7c..109bbb3 100644
--- a/bip-0152.mediawiki
+++ b/bip-0152.mediawiki
@@ -120,18 +120,18 @@ A new inv type (MSG_CMPCT_BLOCK == 4) and several new protocol messages are adde
 # MSG_CMPCT_BLOCK inv objects MUST NOT appear anywhere except for in getdata messages.
 
 ====cmpctblock====
-# The cmpctblock message is defined as as a message containing a serialized HeaderAndShortIDs message and pchCommand == "cmpctblock".
+# The cmpctblock message is defined as a message containing a serialized HeaderAndShortIDs message and pchCommand == "cmpctblock".
 # Upon receipt of a cmpctblock message after sending a sendcmpct message, nodes SHOULD calculate the short transaction ID for each unconfirmed transaction they have available (ie in their mempool) and compare each to each short transaction ID in the cmpctblock message.
 # After finding already-available transactions, nodes which do not have all transactions available to reconstruct the full block SHOULD request the missing transactions using a getblocktxn message.
 # A node MUST NOT send a cmpctblock message unless they are able to respond to a getblocktxn message which requests every transaction in the block.
 # A node MUST NOT send a cmpctblock message without having validated that the header properly commits to each transaction in the block, and properly builds on top of the existing chain with a valid proof-of-work. A node MAY send a cmpctblock before validating that each transaction in the block validly spends existing UTXO set entries.
 
 ====getblocktxn====
-# The getblocktxn message is defined as as a message containing a serialized BlockTransactionsRequest message and pchCommand == "getblocktxn".
+# The getblocktxn message is defined as a message containing a serialized BlockTransactionsRequest message and pchCommand == "getblocktxn".
 # Upon receipt of a properly-formatted getblocktxn message, nodes which recently provided the sender of such a message a cmpctblock for the block hash identified in this message MUST respond with either an appropriate blocktxn message, or a full block message. A blocktxn response MUST contain exactly and only each transaction which is present in the appropriate block at the index specified in the getblocktxn indexes list, in the order requested.
 
 ====blocktxn====
-# The blocktxn message is defined as as a message containing a serialized BlockTransactions message and pchCommand == "blocktxn".
+# The blocktxn message is defined as a message containing a serialized BlockTransactions message and pchCommand == "blocktxn".
 # Upon receipt of a properly-formatted requested blocktxn message, nodes SHOULD attempt to reconstruct the full block by:
 ## Taking the prefilledtxn transactions from the original cmpctblock and placing them in the marked positions.
 ## For each short transaction ID from the original cmpctblock, in order, find the corresponding transaction either from the blocktxn message or from other sources and place it in the first available position in the block.
-- 
cgit v1.2.3

