Problem (1) can likely be addressed by restricting the number of iterations to some small constant, like 3 to 6 (which they suggest in the article). You can also restrict the number of peers-of-peers you fetch during each iteration to a small random subset. So if we only iterate 6 times and choose 10 peers for each iterations, we’ll get 1 million (10^6) trust scores needing to be pulled to calculate a trust score. That is an upper bound and will likely be less because it assumes each peer is distinct. At 32-bit floating points, that’s 32 million bits or 4 MB necessary to be fetched.
I can imagine this being reduced by at least a factor of 10 without much impact on the trust score. But note the “random subset” means different people will have different trust scores for the same peer :shrug:
For (2) yeah we probably need to lower our expectations on privacy for the time being; it’s a masters thesis and privacy in open distributed systems is very tricky.