Smart Contracts
Smart contracts are programs stored on blockchain. They are equivalent to classes in other programming languages. Smart contracts are created for specific purposes in order to fulfill predetermined conditions. The main purpose of a smart contract is to implement and automate real world use cases.
As in real world, contracts are pre determined conditions to be met by the signers, smart contracts are a set of promises, specified in digital form, including protocols within which the parties perform on these promises.
A smart contract is a special kind of program that encodes business logic that runs on a special-purpose virtual machine baked into a blockchain or other type of distributed ledger.
Smart contracts have the following characteristics:
-
They’re self-verifying due to automated possibilities.
-
They’re self-enforcing when the rules are met at all stages.
-
They’re tamper-proof, as no one can change what’s been programmed.
Smart contracts can:
-
automate processes done manually,
-
ensure security,
-
reduce relation to trusted intermediaries,
-
support multi-signature accounts to distribute funds as soon as all parties involved confirm the agreement,
-
manage users’ agreements,
-
provide utility to other contracts (similar to how a software library works),
-
store information about an app (domain registration information, membership records, etc.).