Scrapping seems to be a fairly solved problem, there are open source scrapers that are competitive with google, and just download an entire site into an archive, ssl headers could be included to prove the authenticity of the archive in a distributed environment.
Indexing I have no idea how this could be done in a distributed way, as far as I know it basically cant. Distributed p2p apps use a central server or will send the search query to everyone on the entire network until some one gives them a result. Which isn't efficient enough to work on googles scale and the privacy issues.
My best guess is to break a query into tokens and then have a dht of indexes for each token and then have the peer request all the needed indexes compile them together or something? Anyway even if there is a way to distribute an index efficiently, I cant think of a way to generate the indexes in a secure way, at least without some sort of human oversight, which might be acceptable.
Distributed ranking runs into all the problems sdrinf pointed out. A better solution is to have lost of ranking factors enough that its easier to just make a good website than figure out the system and how to game it. Then let the end user weight the ranking factors to suite them, this should give better results than google and make SEO harder to fake.