recommendation systems are widely used in internet applications . in current recommendation systems , users only play a passive role and have limited control over the recommendation generation process . as a result , there is often considerable mismatch between the recommendations made by these systems and the actual user interests , which are fine - grained and constantly evolving . with a user - powered distributed recommendation architecture , individual users can flexibly define fine - grained communities of interest in a declarative fashion and obtain recommendations accurately tailored to their interests by aggregating opinions of users in such communities . by combining a progressive sampling technique with data perturbation methods , the recommendation system is both scalable and privacy - preserving .