<p>First, you can validate the utxo set for the most part using SPV proofs. Essentially, that would mean you need the 80-byte block headers from every block (currently 410,000 or so, which means a 32MB worth of headers) and every transaction in the utxo set can carry a merkle proof for the block that it was published in, which can help you validate the set. So getting a UTXO set along with the merkle proofs for each transaction would at the very least have some decent promises of validity.</p>

<p>Second, it's possible the UTXO set that someone else gives you can be either missing certain UTXOs or otherwise be sending spent transaction outputs. In that way, it's possible for another user to fool you about the UTXO set being complete.</p>

<p>Third, the danger in getting a UTXO set from someone else is that you compromise your own privacy. This is fine for a lot of people (those who use SPV wallets, for example), but it may not be for you.</p>

CC BY-SA 3.0
2016-06-22T02:49:45.793Z
How does getting the UTXO Set from someone else compromise your own privacy?  If you got the UTXO Set using the same technology that bit torrent uses, would that prevent that compromise?  Thanks!
Dave Scotese
CC BY-SA 3.0
2016-06-22T15:43:03.573Z
The person you got the UTXO set from would know you control those addresses. If you're sufficiently anonymous (using Tor for example), then yes, it's possible to prevent that compromise. This is not that easy, though, as using something like bittorrent still exposes your IP address, which can be linked back to you.
Jimmy Song
CC BY-SA 3.0
2016-06-24T00:24:08.763Z
I think you're imagining that I'm talking about a UTXO Set for a specific set of addresses. I'm not. I'm talking about the full UTXO set. If you knew that, then what addresses are you talking about?
Dave Scotese
CC BY-SA 3.0
2016-06-24T22:44:40.090Z
In that case, there would only be the concern about whether the person providing the utxo set was being honest with you. It's annoying, but definitely do-able to verify each utxo with another person.
Jimmy Song
CC BY-SA 3.0
2016-06-20T22:04:08.400Z
2016-06-20T22:04:08.400Z
Jimmy Song
<p>One of the largest hurdles in my mind to increasing the number of full nodes operating is the startup cost related to downloading the blockchain.  A similar but less important (in my mind) issue is the amount of disk space required by the full blockchain.</p>

<p>In <a href="https://bitcoin.stackexchange.com/questions/44289/would-moving-a-transaction-from-an-old-block-to-a-new-one-allow-more-pruning">Would moving a transaction from an old block to a new one allow more pruning?</a> Murch suggested that some assumptions be checked, and I think one of them was my assumption that it would be safe to rely on a UTXO Set provided by other users.  Given the answers to another assumption Murch suggested I check, it seems that the answer is "Not usually," but if there were a standard proof, such as a signed <a href="https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-February/012478.html" rel="nofollow noreferrer">UTXO set</a> or a <a href="https://bitcoin.stackexchange.com/questions/40396/what-are-the-main-technical-hurdles-to-implementing-utxo-commitments">UTXO Committment in the header</a>, then the answer seems to change to "Yes!"</p>

<p>In any case, Murch suggested that the assumptions be checked, so I've created this question to check that one.</p>

<synchronization><utxo><scalability><utxo-committments>
Is reliance on a UTXO Set provided by other users dangerous?
Dave Scotese
# Is reliance on a UTXO Set provided by other users dangerous?

(Asked by: username_0 on 2016-06-14)

One of the largest hurdles in my mind to increasing the number of full nodes operating is the startup cost related to downloading the blockchain. A similar but less important (in my mind) issue is the amount of disk space required by the full blockchain.

In [Would moving a transaction from an old block to a new one allow more pruning?](https://bitcoin.stackexchange.com/questions/44289/would-moving-a-transaction-from-an-old-block-to-a-new-one-allow-more-pruning) Murch suggested that some assumptions be checked, and I think one of them was my assumption that it would be safe to rely on a UTXO Set provided by other users. Given the answers to another assumption Murch suggested I check, it seems that the answer is "Not usually," but if there were a standard proof, such as a signed [UTXO set](https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-February/012478.html) or a [UTXO Committment in the header](https://bitcoin.stackexchange.com/questions/40396/what-are-the-main-technical-hurdles-to-implementing-utxo-commitments), then the answer seems to change to "Yes!"

In any case, Murch suggested that the assumptions be checked, so I've created this question to check that one.

**Tags:** synchronization, utxo, scalability, utxo-committments


---

## 1 answers

### Answer by username_1 on 2016-06-20. Score: 2

First, you can validate the utxo set for the most part using SPV proofs. Essentially, that would mean you need the 80-byte block headers from every block (currently 410,000 or so, which means a 32MB worth of headers) and every transaction in the utxo set can carry a merkle proof for the block that it was published in, which can help you validate the set. So getting a UTXO set along with the merkle proofs for each transaction would at the very least have some decent promises of validity.

Second, it's possible the UTXO set that someone else gives you can be either missing certain UTXOs or otherwise be sending spent transaction outputs. In that way, it's possible for another user to fool you about the UTXO set being complete.

Third, the danger in getting a UTXO set from someone else is that you compromise your own privacy. This is fine for a lot of people (those who use SPV wallets, for example), but it may not be for you.

> **Comments:**
> **username_0**: How does getting the UTXO Set from someone else compromise your own privacy?  If you got the UTXO Set using the same technology that bit torrent uses, would that prevent that compromise?  Thanks!  
> **username_1**: The person you got the UTXO set from would know you control those addresses. If you're sufficiently anonymous (using Tor for example), then yes, it's possible to prevent that compromise. This is not that easy, though, as using something like bittorrent still exposes your IP address, which can be linked back to you.  
> **username_0**: I think you're imagining that I'm talking about a UTXO Set for a specific set of addresses. I'm not. I'm talking about the full UTXO set. If you knew that, then what addresses are you talking about?  
> **username_1**: In that case, there would only be the concern about whether the person providing the utxo set was being honest with you. It's annoying, but definitely do-able to verify each utxo with another person.  

---

