I've thought about this idea for my own project, and my best solution is to have a network of trust where people rely on curation from their peers and thus only see the content their peers have approved.
The main benefit is also the main downside: content you disagree with is still there, you just don't see it. That means there could absolutely be pockets of CSAM and other content on the network, but your average user wouldn't have that on their system since they only store curated content.
I'm not sure how I feel about that, but I think it's the best you can do without centralized moderation.