Smart contracts are pieces of code that have in them a set of criteria for a transaction to take place, and when these criteria are met, the transaction goes through without any human intervention. A smart contract has two major components, digital assets, and two or more participants.