Nostr with NIP13 https://github.com/nostr-protocol/nips/blob/master/13.md defines a way to generate proof of work (a la bitcoin) on the client side.
A relay and a client can filter event based on the difficulty.
Nostril is a command line tool that let you produce a message with proof of work.
Here an example.
https://nostr.rocks/event/00000566c20b887f766c29941b38d87f1d02e5073b5b5e4310dc5648ffd0be32