On Mon, Aug 19, 2013 at 10:59:18AM +1000, Gavin Andresen wrote: > Peter said: > "In any case given that SPV peers don't contribute back to the network > they should obviously be heavily deprioritized and served only with > whatever resources a node has spare." > > This seems very much like a "cut off your nose to spite your face" solution. > > SPV peers are INCREDIBLY IMPORTANT to the growth of Bitcoin; much more > important than nodes that have the bandwidth and disk I/O capability of > being a full node. Bitcoin will be just fine if there are never more than > 10,000 big, beefy, full nodes forming the backbone of the network, but will > be NOTHING if we don't support tens of millions of lightweight SPV devices. > > Ok, that's an exaggeration, Bitcoin would be just fine in an Electrum model > where tens of millions of lightweight devices rely 100% on a full node to > operate. But I would prefer the more decentralized, less-trust-required SPV > model. Don't read too much into what I said; under normal circumstances when a Bitcoin node isn't being attacked, there will be plenty of spare capacity for SPV nodes. All I'm suggesting is that we make sure serving those nodes doesn't come at the expense of maintaining consensus - mainly distributing new blocks around the network so the blockchain keeps moving forward. (something many SPV peers can help with anyway) I'd much rather my Android wallet take a long time to sync up, than blocks get re-organized because miners found themselves separated from one another, let along someone clever using that to do double-spend attacks during those re-orgs. After all, I can always find a private node to connect to that won't be overloaded because it doesn't accept connections from anonymous users. It's also easy to just use really basic measures to limit abuse, like "sign up with your bitcointalk" account, or "pay 10 cents for an account to discourage spammers" Anyway all things less likely to be needed if attackers know all they are going to manage to do is inconvenience people temporarily because the network itself will keep running. -- 'peter'[:-1]@petertodd.org