Hello, I’d like to know what will happen if bad nodes exists ? for example, if I’m a bad guy who want to censorship resource A, then I create many bad nodes (suppose I can control 1% of all ipfs nodes), and always transfer corrupted contents of A, and for a normal node X, it simultaneously connected to many bad nodes and few normal node, will X slowly realize the bad nodes (due to they always transfer corrupted contents of A)? or will X always try to acquire part of resource A from bad nodes which lead to A never completed ?
This way wouldn’t work, or at least not be more effective than just DDOSing all nodes requesting the file X.
This attack would easly work on let’s say 3 nodes, but if 100 nodes ask this file, you would need to hold this attack on all of them.
However, you can do a similar attack earlier, on the DHT routing, Sybil attack - Wikipedia explains it and this currently has no real fixes (we could only make that harder, but not within unreasonable bounds).
Thanks for explanation. I’d like to ask another question: how ipfs make decision which nodes to connect to? does it prefer geo-location nearest ones? I mean even bad nodes only count 1% of all ipfs nodes, but if they’re all in a dense location, it may makes the percentage near 99% in that location , will this make surrounding node almost connect to bad nodes? I have such question because during covid , I’ve seen a ipfs blog which titled like ‘covid video uploaded to ipfs which makes it uncensorshippable’ , and I tried to download this file. even I’ve seen many ipfs nodes, such file still can not complete for days, I suspect there’s some weakpoints of ipfs network which make it still censorshippable, but not for sure