What makes proof of work costly to forge, while leaving it easy to check for the rest of the network?