I think a blockchain is probably overkill, especially since in the long run blockchains tend to grow very large and unwieldy. The bitcoin blockchain is currently more than 100GB.
While technically blockchains provide the strongest guarantee of decentralized trust, they are only necessary when you're expecting the network to be attacked by technically skilled people with lots of time and deep pockets. In practice the worst kind of attack a network like this could expect would come from particularly autistic shitposters with relatively little disposable income. Even things like the bittorrent network still function fine despite being targeted by the likes of Hollywood.
Proof-of-work algorithms are a good idea though. They can be used to increase the computational cost of attacks and prevent a malicious entity from doing damage faster than a few humans can undo it.
If I was designing something like this I'd require proof-of-work both for node ID generation (to prevent sybil attacks) and for any edits made to the image/tag database. Let leaf nodes query the network for free (within certain bandwidth limits), but make them generate a computationally intensive ID if they want to push any changes to it. Each node should adjust its trust in its neighbors depending on how often they agree with the consensus, blacklisting any nodes which consistently give bad responses.