Long post but hopefully interesting:
Maybe each node (user) could publish a "newsfeed" that any other node could subscribe to.
The newsfeed could either be configured to either automatically publish changes in a directory or it could be manually assembled and edited.
Changes/news could either be published as a new version of the entire feed or as smaller changelogs.
Subscribing nodes would at regular/random/manual intervals query for updates of the feeds they subscribe to.
A good mechanism to ensure the anonymity of the publishing user and subscribing users is needed. Also a mechanism to ensure a feed can not be hijacked or manipulated. Everything completely distributed just like the rest of the system.
New feeds would be added manually by the user inserting a feed key. The feed keys could be distributed on the normal internet if they do not reveal anything about the publisher.
A feed could also link to other feeds, either from the same user (a user should be able to have many feeds) or from other users. The subscribing user can choose to subscribe to the related feeds too or simply ignore them.
By subscribe I mean downloading only the feed list (xml), not downloading the shared files (zip/avi/pdf/jpg).
Feeds should be categorized by in some global general themes/tags defined by the developers. This could be used by users to filter out themes they dislike (such as pornography). A feed could refer to several themes/tags.
Linked feeds could be assigned a quality rating of some sort. Plus rating for ok or excellent feeds. Minus rating for lousy or objectionable feeds. It should be possible to rate both "trustworthiness" (is the content what the publisher says it is or is it spam/fake) and "content" (is the quality of the files good or bad).
Using the trustworthiness rating could be used to combat spam and avoid valuable network capacity getting lost by people downloading many gigabytes of files that turn out to be fake. If a user downloads a fake from a feed he can publish that feed as untrustworthy in his own feed.
It could be a filter to automatically hide feeds below a certain rating (using trust and/or content rating). But the user should always be able to ignore the filter if he wants to. Feeds could be activated and deactivated. A user should be able to list all the feeds he subscribes to as one big feed. Big feed can be sorted by date, feed, filesize, filename and so on. (Date should be the date published, never the date on the physical file being shared.)
Comments and ratings could be handled as a special case of feeds. Comments and ratings for one user for one specific feed would be a separate feed. The comments feed from a user should not contain his relation to other feeds to keep anonymity. He can have separate identity towards separate feeds if he wants to (or not). Strong separation between feeds is needed to avoid situations where user A fully agrees with user B on one feed (e.g. "My bezt moviz feed") and trusts that user B is a trustworthy person, but on another feed (e.g. "Bennys jazz music feed") B has a completely different opinion of what is trustworthy/quality, and user A can be fooled by his ratings. Therefore separation is needed. Comments/ratings should be between one feed and one identity, and a person should be able to have one identity pr feed he subscribes to if he wants to keep the things separate.
The comment feed could contain trustworthiness and content quality ratings for the feed itself and for each separate item in the feed, so the user does not need to call the entire feed a bluff even if one file happens to be mislabled or broken. Comment feeds should of course refer to the key of the feed in question.
A user should be able to block a specific commenter or all comments, and in his own comment to that feed specify a trustworhiness (does he rate correctly) and content quality (are his text comments useful) rating for other commenters.
Comments for each feed a user subscribes to should be requested periodically/manually. Default should be that comments are requested after subscribing to the feed.
Care should be taken to avoid that the fetching of comments could be used to determine which user is subscribing to which feed. Comments are not very important and can tickle in after some hours or days. The subscribing and publishing user should get some non intrusive notification (icon, last comment date) when new comments are available.
The feeds/identities/comments system should be either a separate connected network or integrated in the normal working of OneSwarm. Whatever gives strong anonymity and separation.
High latency is a low price to pay for privacy in a spam resistent and decentralized comments system.
User generated meta data (users feeds/ratings, within a set of broad categories for coarse filtering) is the only weapon available against spam in a limited friend based network (where users do not actually trust each other). I know the adding of unknown "friends" is a crutch and contrary to the OneSwarm idea, but without that model also working in a efficient and sabotage resistent way OneSwarm will probably not be sustainable on a long term because it will be subject to advanced distributed DoS attacks. There will always be a large majority of "unknown friend" connections because it is so much easier to get acceptable speed and reachability that way compared to only connecting to real friends.
A feed/comments system should be equally suited for publishing normal blogs (without any torrent attached). That should be taken into account when designing the system. That may be an argument for keeping it somewhat separate from the file sharing system itself. But use the same ratio system.
How big would the combined size of the feeds/comments be after a while? How would it be shuffled around? What happens when a new user subscribes to all feeds available and creates a lot of identities for each feed? Some restrictions must be enforced. The selfish ratio system employed for OneSwarm file sharing could be a good staring point since it makes spamming and leeching expensive. Think about what the needs of a typical user would be. 100 feeds maybe? Optimize for that. Make abuse very expensive. Bandwidth and storage are resources. Maybe use storage for latency and longer term availability? Where is everything stored? Should the feed provider and feed subscriber be the only ones keeping it on disk or should everything tickle out to everyone? If everything tickes it would be more anonymous, but have more latency and more storage requirement. Oldest comments disappear when storage is full?
Once again i think this problem is important to address to avoid complete chaos.
Please comment.
edit: I am really no longer sure about the "one user can have several identities" and "each identity is towards only one feed". It would probably easier to combat spam if you could ignore a user once and that could be applied to all feeds (for you). But to avoid the difference of opinion problem stated before (user A likes that jazz feed but user B hates it) trust/content ratings towards a commenter/user should still be towards specific feeds. You could give them a default rating that is applied if you do not override it but it should be possible to in effect say "I think user B is not trustworthy in respect to this specific feed (but I do think he is trustworthy when it comes to movies)".
Comments anyone? Is the decentralized feeds thing a good idea? Or would it be better with one central mega site like thepiratebay.org?