A blockchain is a globally shared transactional database. This means that everyone can read entries in the database by participating in the network. If you want to change something in the database, you have to create a transaction which has to be accepted by all others. The word transaction implies that the change you want to make, assume you want to change two values at the same time, is either not done at all or completely applied. Furthermore, while your transaction is being applied to the database, no other transaction can alter it.
Smart contracts are similar to a legal document and create terms between two parties. The two parties that are dealing with using smart contracts. Also, the contracts use public ledger for storage purposes. Smart contracts are triggered when a condition is met, and are completely autonomous. It just executes based on the code that defines the pre-condition. To make sure that they work as intended, they are analyzed and managed by regulators. It is also helpful in understanding trends and predicts market uncertainties. The three key features of smart contracts include registered, automated settlement of contracts and there is no need for the third party.
Solidity is the programming language built to run the Ethereum blockchain platform. It allows you to implement smart contracts and create decentralized applications based on the blockchain technology. It is influenced by C++,+python and JS . Solidity also uses Ethereum Virtual Machine EVM to function properly.
Smart contracts are not free from disadvantages. A few of the major ones include error, confidentiality, and rogue contracts.