Smart Contracts Programming Languages by Jacinto Dávila

Blockchains are specialized, distributed databases that bring a fundamental feature to computer systems: immutability. This feature alone has triggered the development of financial systems that can be fully automated and can be partially or completely independent from human management. The possibility of self-regulated agreements between well informed parties, known as smart contracts, becomes the core of those financial systems. However, smart contracts depend, not only on the development of a strong cryptographic infrastructure, but also in the ability of the parties to actually encode their corresponding requirements and concessions, and their trust, into the computer systems. A new generation of programming languages seems to be required.