A blockchain has three key elements: 1) A contract that specifies how individuals can interact with the blockchain and their obligations, 2) An immutable history of all valid transactions within the contract, and 3) Cryptographic encoding of the contract and proofs of compliance that can be verified but keep details private.