<p>Fraud proofs are a good tool for scaling lite-clients, but this cannot be extrapolated to the entire network without risking core security assumptions being sacrificed.</p>

CC BY-SA 4.0
2023-12-19T03:04:18.860Z
2023-12-19T03:04:18.860Z
Poseidon
<p>Okay after reading through these links:</p>
<p><a href="https://tlu.tarilabs.com/cryptography/fraud-proofs#full-node-vs-spv-client" rel="nofollow noreferrer">https://tlu.tarilabs.com/cryptography/fraud-proofs#full-node-vs-spv-client</a></p>
<p><a href="https://bitcoin.stackexchange.com/questions/109940/how-to-use-spv-to-validate-transactions-not-yet-on-the-blockchain?rq=1">How to use SPV to validate transactions NOT (yet) on the blockchain?</a></p>
<p><a href="https://gist.github.com/harding/dabea3d83c695e6b937bf090eddf2bb3" rel="nofollow noreferrer">https://gist.github.com/harding/dabea3d83c695e6b937bf090eddf2bb3</a></p>
<p><a href="https://en.bitcoin.it/wiki/User:Gmaxwell/features#Proofs" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/User:Gmaxwell/features#Proofs</a></p>
<p>I've realized there's one fraud proof that always seems to require the full history: proving that a UTXO remains unspent. Or another way of putting it would be proving that a transaction that references/unlocks a person's UTXO doesn't exist on the chain.</p>
<p>The only way to prove that something doesn't exist is to, of course, be in possession of everything that exists.</p>
<p>If there was a way for the honest parties to &quot;force&quot; the dishonest party (who is lying about being in possession of a private key capable of unlocking the script) to prove that they could/have spent the UTXO, then we'd be good to go. But burden of proof is on the honest parties who would need to alert SPV users that fraud is occurring, the only known way being giving them the entire blockchain.</p>
<p>Would still appreciate anything anyone feels they can add :)</p>

CC BY-SA 4.0
2023-12-19T23:28:49.100Z
2023-12-20T00:02:16.620Z
2023-12-20T00:02:16.620Z
Marco
<p>I'm aware that this might be borderline taboo to discuss because of its potential implications (uncapped block size) but, in an attempt to put aside the ego stuff from the block size wars, I'd like to hear from people/devs with a deeper understanding of the Bitcoin system than I currently have whether it's technically feasible to use SPV and fraud proofs to scale Bitcoin.</p>
<p>Having an uncapped supply of block space makes some sense to me from an economic standpoint (potential greater decentralization of miners and services they would provide), not to mention it would be nice if everybody could afford to self custody some bitcoin, but if it's simply not a real option from a security standpoint then I guess none of that really matters.</p>
<p>Is it a necessary aspect for the security of the system that everybody (or as many individuals as possible) have the ability to validate every transaction that's been and will be broadcasted? Is it not possible to have individuals use SPV and merkle proofs to keep track of their own UTXOs only and maybe keep track of active chain tips, relying on fraud proofs from miners who are incentivized to maintain an honest chain? Could the system maintain its security if users only validated transactions relevant to them?</p>
<p>Excuse me if there's some something obvious I'm not seeing here, just kinda going off the top of my head. I would appreciate a technical answer/discussion or links to where I could read a more in-depth explanation of the roadblocks to this scaling method. Thank you!</p>
<p>Edit: Found an informative link from 2019 it seems, so might be outdated?</p>
<p><a href="https://tlu.tarilabs.com/cryptography/fraud-proofs" rel="nofollow noreferrer">https://tlu.tarilabs.com/cryptography/fraud-proofs</a></p>

<security><scalability><spv><fraudproofs>
Are SPV and fraud proofs a viable option for scaling Bitcoin?
Marco
# Are SPV and fraud proofs a viable option for scaling Bitcoin?

(Asked by: username_0 on 2023-12-19)

I'm aware that this might be borderline taboo to discuss because of its potential implications (uncapped block size) but, in an attempt to put aside the ego stuff from the block size wars, I'd like to hear from people/devs with a deeper understanding of the Bitcoin system than I currently have whether it's technically feasible to use SPV and fraud proofs to scale Bitcoin.

Having an uncapped supply of block space makes some sense to me from an economic standpoint (potential greater decentralization of miners and services they would provide), not to mention it would be nice if everybody could afford to self custody some bitcoin, but if it's simply not a real option from a security standpoint then I guess none of that really matters.

Is it a necessary aspect for the security of the system that everybody (or as many individuals as possible) have the ability to validate every transaction that's been and will be broadcasted? Is it not possible to have individuals use SPV and merkle proofs to keep track of their own UTXOs only and maybe keep track of active chain tips, relying on fraud proofs from miners who are incentivized to maintain an honest chain? Could the system maintain its security if users only validated transactions relevant to them?

Excuse me if there's some something obvious I'm not seeing here, just kinda going off the top of my head. I would appreciate a technical answer/discussion or links to where I could read a more in-depth explanation of the roadblocks to this scaling method. Thank you!

Edit: Found an informative link from 2019 it seems, so might be outdated?

<https://tlu.tarilabs.com/cryptography/fraud-proofs>

**Tags:** security, scalability, spv, fraudproofs


---

## 2 answers

### Answer by username_1 on 2023-12-19. Score: 1

Fraud proofs are a good tool for scaling lite-clients, but this cannot be extrapolated to the entire network without risking core security assumptions being sacrificed.


---

### Answer by username_0 on 2023-12-19. Score: 0

Okay after reading through these links:

<https://tlu.tarilabs.com/cryptography/fraud-proofs#full-node-vs-spv-client>

[How to use SPV to validate transactions NOT (yet) on the blockchain?](https://bitcoin.stackexchange.com/questions/109940/how-to-use-spv-to-validate-transactions-not-yet-on-the-blockchain?rq=1)

<https://gist.github.com/harding/dabea3d83c695e6b937bf090eddf2bb3>

<https://en.bitcoin.it/wiki/User:Gmaxwell/features#Proofs>

I've realized there's one fraud proof that always seems to require the full history: proving that a UTXO remains unspent. Or another way of putting it would be proving that a transaction that references/unlocks a person's UTXO doesn't exist on the chain.

The only way to prove that something doesn't exist is to, of course, be in possession of everything that exists.

If there was a way for the honest parties to "force" the dishonest party (who is lying about being in possession of a private key capable of unlocking the script) to prove that they could/have spent the UTXO, then we'd be good to go. But burden of proof is on the honest parties who would need to alert SPV users that fraud is occurring, the only known way being giving them the entire blockchain.

Would still appreciate anything anyone feels they can add :)


---

