Hmm consider an established social network which sees lots of bad actor activity, these folks will likely be sharing IP's on these residential network severly damaging their reputation.
You should only see one user-id per MAC / IP. If you see multiple then its a sign of a bad actor.
Before you're established using something like a captcha prevents most spam, except for state actors, and they wont be focused on the site until its larger.
You're not wrong that its easy to get relatively obscure IP addresses cheaply, however youll be sharing them with lots of folks potentially damaging reputation.
At scale, say P2P-book becomes the largest social networking site, all bad actors will be focused on using it and they will likely be sharing IP's, comingiling their reputation.
Sharing account ID's across IP would also be penalized.
People who post consistently from the same IP / MAC would be boosted, those are real people.
Of course before one is the biggest game in town you will simply not be on the radar, so using a captcha as well will be useful to prevent bots.
For almost all of human history information has been centralized among a small actors, for some time period we had a large independent press but those days are gone.
Everyone has a stake in getting accurate information, and therefore they have an interest in owning part of that system.
Beyond federated systems, P2P systems seem to have a strong advantage here in identifying bad actors.
Ranking posts/comments by the exponential of inverse IPAddress-post-frequency would solve bad actors posting behind VPNs/proxies like evil bot farms / state actors and marketers.
Real users have their own IP address, and IP addresses are expensive like $20-50 a month which would make mocking traffic an extremely expensive proposition.
Mocking 1% of reddit's 120M daily active user would cost 58M and you wouldn't want to share/sell these addresses with other actors since it would ruin your credibility