EIP-1057: ProgPoW, a Programmatic Proof-of-Work