Smart contracts are becoming increasingly popular, but what are they and what problems do they address?
Smart contracts are essentially just like real world contracts, the only difference, is that they are completely digital.
A smart contract is actually a small computer program, that is stored inside a blockchain.
Smart contracts can be programmed to receive funds for a project until a certain goal is reached.
The supporters of a project can transfer their money to the smart contract, if the project is fully funded, the contract will automatically pass the money to the creator of the project.
If a project fails to meet its goals, the money will automatically go back to the supporters.
Because smart contracts are stored on a blockchain, everything is completely distributed.
So essentially, no one is in control of the money.
Smart contracts are also immutable, which means that once the contract is created, it can never be changed again, so no one can tamper with the code of the contract.
Also, by being distributed, your contract is validated by everyone on the network.
So one single person can’t force the release of funds, because everyone else on the network can see this and mark it as invalid.
It is almost impossible to tamper with smart contracts.
Smart contracts, can be applied to many different things like
- Crowdfunding
- Bank loans, payments
- Insurance process claims
- Postage-payment on delivery
Ethereum is a platform that is built specifically for creating smart contracts.
Ethereum allows developers to program their own smart contracts.
Smart contracts can:
- Function as multi-signature accounts
- Manage agreements between users
- Provide utility to other contracts
- Store information about an application (domain registration, membership records etc)
Each contract will require transaction fees, which depend on the amount of computational power required.
Ethereum runs smart contract code, when a user/another contract, sends it a message with enough transaction fees.