ERC 1271 - Externally Owned Accounts (EOA) can sign messages with their associated private keys, but currently contracts cannot. It propose a standard way for any contracts to verify whether a signature on a behalf of a given contract is valid. This is possible via the implementation of a isValidSignature(hash, signature) function on the signing contract, which can be called to validate a signature.