A smart contract is a computer protocol intended to facilitate, verify, or enforce the negotiation or performance of a contract.