In the real world contract satisfies the terms of a relationship according to law, a smart contracts maintain & verify relationship between senders and receivers by cryptographic code as they are set up to by their creators.
Ethereum users can send some ether to any other user on a particular date using a smart contract, and accordingly create a contract, and then push the data to that contract for executing the predefined rules.
Though Ethereum is a platform that’s built specifically for creating smart contracts, but also make the building blocks for decentralized applications.
Ethereum system allows programmers to code their own smart contracts which is known also as autonomous agents.
Smart contracts support multi-signature accounts because receive and withdraw can be happened when a required number of people agree with same rules.
Smart contracts can communicate with each other for providing resources or roles. And also store information app info, domain info, user info etc.
For two contracts system 1st contract uses suppose user info collection and another contract collects the rules of any policy like insurance.
Executing all contract require transaction fees, which depend on the computational power.
Part of a blockchain system the Ethereum Virtual Machine executes smart contracts in ‘bytecode’.