Contrats intelligents.
On les appelle également contrats autonomes, car leur exécution ne nécessite pas l'intervention d'un tiers de confiance. Dans le contexte de la blockchain il s'agit d'un programme qui peut réaliser des opérations lorsque certaines conditions sont remplies sur le registre.
Les smart contracts sont constitués de bytecode manipulant :
Le bytecode des smart contracts n'est généralement implémenté directement mais issu de la compilation d'un en bytecode directement, mais d'un langage de plus haut niveau (Solidity ou le langage d'assemblage Serpent).
Il se doit d'être déterministe.
Inventés par Nick Szabo s1Szabo, N.: "Smart Contracts", 1994 s2Szabo, N.: "Smart Contracts: Building Blocks for Digital Market", 1996, s3Szabo, N.: "Smart Contracts: Formalizing and Securing Relationships on Public Networks", 1997.
Des exemples de contrats autonomes sont