There are basically three options that someone designing a social platform has to choose from:
1. Some designated entity decides who gets hidden from everyone's feed. (Google is here)
2. Everyone decides on their own, who they want to hide from their own feeds.
2a. The same but they can also form voluntary groups that share ignore-lists between each other. (Fediverse is here)
3. You can't hide spammers from your feed.
1 is vulnerable to the entity being corrupt (they always turn corrupt) - let's say 5% of global ignore list entries are there for corrupt reasons.
2a has the exact same problem but it's separately per ignore list group, perhaps each individual ignore list has 5% corrupt entries on average, which conversely means that every person is on about 5% of the ignore lists for corrupt reasons. Instead of 5% of the people being on 100% of the lists, now 100% of people are on 5% of the lists (except the spammers who are on 95%) which may give an impression the system is more corrupt than option 1.
The other options, 2 and 3, mean you're constantly bombarded by spam so you give up and quit the platform entirely.
This problem is unsolvable.