2

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

2 Answers 2

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.

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://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 :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.