LT42 They are essentially a contract written in code or a programming language.
Once created they cannot be changed or manipulated.
For example in a simple escrow function, currency is deposited and is only released if certain criteria is met, such as a date has past, or currency has been added to a specific account etc.
They are mathematical contracts that are financial instruments. In WEB 3.0 you browser interacts with the blockchain using smart contracts or dApps.