<p>You don't! The SPV client security model depends on miner confirmations for security. From the <a href="https://en.bitcoin.it/wiki/Thin_Client_Security" rel="nofollow">Thin Client Security</a> page of the Bitcoin Wiki:</p>

<blockquote>
  <p>As Satoshi writes, "[the thin client] can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it." If we take "X" to be the "number of blocks added after it", then SPV essentially trusts that a transaction X blocks deep will be costly to forge.</p>
</blockquote>

<p>So, surprisingly, SPV clients don't even need to run an interpreter for scripts. They just see transactions addressed to them and wait to see if they get confirmed.</p>

CC BY-SA 3.0
2015-09-03T14:22:13.320Z
2015-09-03T14:22:13.320Z
morsecoder
<p>Suppose that your SPV client receives an incoming transaction. How can it tell whether it spends a real outpoint? If you knew the block, you could add the txid to filterload and request the block again, but I'm at a loss for how to implement it otherwise.</p>

CC BY-SA 3.0
2015-09-03T14:23:41.953Z
It does seem like it would be useful to have a way to get the block hash for a particular txid in the bitcoin protocol.
morsecoder
<bip37-bloom-filter>
How does a filterload client that recieves an incoming transaction retrieve the transaction it's spending?
Nick ODell
# How does a filterload client that recieves an incoming transaction retrieve the transaction it's spending?

(Asked by: username_0 on 2015-09-03)

Suppose that your SPV client receives an incoming transaction. How can it tell whether it spends a real outpoint? If you knew the block, you could add the txid to filterload and request the block again, but I'm at a loss for how to implement it otherwise.

**Tags:** bip37-bloom-filter

> **Comments:**
> **username_1**: It does seem like it would be useful to have a way to get the block hash for a particular txid in the bitcoin protocol.  

---

## 1 answers

### Answer by username_1 on 2015-09-03. Score: 2 | Accepted answer

You don't! The SPV client security model depends on miner confirmations for security. From the [Thin Client Security](https://en.bitcoin.it/wiki/Thin_Client_Security) page of the Bitcoin Wiki:

> As Satoshi writes, "[the thin client] can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it." If we take "X" to be the "number of blocks added after it", then SPV essentially trusts that a transaction X blocks deep will be costly to forge.

So, surprisingly, SPV clients don't even need to run an interpreter for scripts. They just see transactions addressed to them and wait to see if they get confirmed.


---

