Blockchain - PoW/PoW = signed Merkle Trees
A simple example of the latter is a Git repo. You can just require the commits to be signed. Easy to work with, no need for new code.