- How is a smart contract different from a normal computer program?
- A computer program runs on a PC, a smart contract runs on the blockchain (which runs on many nodes).
- A computer program can be stopped; a smart contract is unstoppable.
- A computer program doesn’t necessarily handle transactions; to interact with a smart contracts, user must call public methods via ethereum transactions (and pay fees in gas, in order for the transactions to be mined and to be executed).
- A smart contract manily (but not only) handles value (usually in ETH, but also in other tokens); a computer program handles or visualizes data.
- What do we mean when we say that smart contracts eliminates the need of trust?
If someboy promises you something, e.g. to give you money, if you are a good student and receive good notes at school, you must trust that person will honor the promise. If you do the same via a smart contract, the blockchain slogan applies: “don’t trust, verify!”, which means you can check the source code of the smart contract, verify that it has enough balancr to pay you and a logic to pay you in case you respect the terms. In reality, for such an example, a trusted entity called oracle should allow the smart contract to read the notes of that student. Ethereum doesn’t have such a functionality, but a blockchain running on top of Ethereum, called ChainLink allows to code smart contract interacting with external data via oracles.
- What are some popular platforms for running decentralized applications and smart contracts?
Ethereum, Tron, EOS, ChainLink, NEO, Vechain, Cardano…