> > Since you keep bringing this up, I'll try to clarify this once again. > I understand the arguments against it. And I think you are agreeing with me - Adam is bemoaning the way developers outsource stuff to third party services, and suggesting it is relevant to the block size debate. And we are saying, no, it's happening because it's easier than doing things in a decentralised way. > If you can't do that, and are just aiming for removing central points of > failure, run a bunch of servers yourself, and let others run their own. > That sounds remarkably close to what you actually did, actually... > Right. There's a deeper issue here. The sort of 'trustless' querying of the UTXO set that was demanded from me is impossible even with commitments, because the answer can change the moment you receive it. All it takes is a new block or new transaction to be broadcast a split second after you download and use the data, and suddenly what you did is incorrect no matter how many proofs you verified! The only way to know this has happened is to be a full node and download all transactions yourself ... and even then, you are trusting your peers to actually relay you all transactions and not a subset. So in the end you can never achieve perfection, only get closer to it. But that situation is *fine* for many use cases, like showing someone a snapshot of their crowdfund in a user interface. We just accept that what we see on the screen may lag behind reality. It happens all the time with all kinds of non-Bitcoin apps. We accept that there may be cases where the answer we get is wrong. The software can nevertheless still be useful. So Lighthouse compromises. It queries multiple peers and cross-references their answers. If their answers don't match it shows an error on the screen and won't show the user any status for their crowdfund at all. This error has never occurred. Maybe one day it will. So the app gets more decentralisation, more robustness, and accepts that the user interface might one day show a wrong answer if the P2P network starts lying (or your internet connection is hacked, but the right fix for that is P2P encryption). Unfortunately this sort of balance-of-risks approach is considered a non-starter in Bitcoin Core. So why would developers even try? The message sent was clear: even if you have an approach you think will work, don't bother. Much easier to just outsource to a trusted service indeed.