In a cryptographic commitment scheme, the sender can commit to a chosen value (or chosen statement) while keeping the value hidden from others. At some point in the future, the sender can reveal the value and the recipient can test whether it matches their commitment. This is useful as the sender can prove they know something long before it is publicly revealed.
At heart, all early e-cash protocols had to find and appoint a broker to support the issuance (and redemption) of coins. However, the search for an appropriate broker plagued and hindered the adoption of e-cash. There are many reasons for financial institutions to avoid taking on the role including:
In 1997, Nick Szabo published a blog about the idea of smart contracts to embed contractual clauses in software. He envisioned a future where all sorts of valuable property will be controlled by digital means:
The basic crypto used for bitcoin and ethereum. It includes hash functions, commitment schemes, digital signatures, andan intro to zero knowledge proofs.
The master trick by Satoshi Nakamoto was not to design novel cryptographic primitives, but to combine a list of basic ingredients to solve a single problem that has plagued the deployment of e-cash protocols.