Smart contract is a computer algorithm executed by a blockchain virtual machine. The smart contract monitors and ensures the fulfillment of obligations by the parties participating in the contract. Smart contracts are used in blockchains. The obligations of the parties (two or more) are entered into the contract code in the “if — then” format. When they are executed, the smart contract independently performs the transaction and guarantees compliance with the agreements.
If it is necessary to obtain data from external sources (banking system, registers), oracles are used to fulfill the conditions specified in the smart contract code.