Smart contract is a term used to describe computer program code that is capable of facilitating, executing, and enforcing the negotiation or performance of an agreement (i.e. contract) using Blockchain technology.

Its basically a fancy term to describe code running on BC that can change its state. This code can be Pascal, Python, PHP, Java, Fortran, C++. Each language has its own strengths and weaknesses. You don’t program webs in C or compress video in Ruby, but you could do it paying an enormous price in convenience, performance and length.

Smart contract is a term used to describe computer program code that is capable of facilitating, executing, and enforcing the negotiation or performance of an agreement (i.e. contract) using Blockchain technology. Once the SC is executed it updates the BC.

The entire process is automated and can act as a complement or substitute for legal contracts, where the terms of the smart contract are recorded in a computer language as a set of instructions.

Run on any BC (mostly ETH) exactly as programmed, no option to fail, downtime, manipulation, etc. No need to pay middleman. Faster, cheaper, simpler, etc. Supervised by the network of computers.

SC is like a a self executing computer program that only executed and takes place when someone initiates the conditions.

The entire process is automated can act as a complement, or substitute, for legal contracts, where the terms of the smart contract are recorded in a computer language as a set of instructions.

In general, Smart contracts help you exchange money, property, shares, or anything of value in a transparent, conflict-free way while avoiding the services of a middleman.

Works like a vending machine: drop some crypto and get the contract. Define the rules and penalties but also ENFORCE those obligations.

Different kind of open source BC that allows create and execute smart contracts.

SC is an application of BC technology to replace legal paper contracts.

Each performance of the function is initiated by an ETH address. This needs to the noted by miners into the BC. This functions are called Small Contracts.

Contracts live on the blockchain in an Ethereum-specific binary format (EVM bytecode).A smart contract is a piece of software that resides on the Ethereum Blockchain. Like traditional contracts, smart contacts not only define the rules and penalties around an agreement but additionally the enforce those obligations.

The entire process is automated can act as a complement, or substitute, for legal contracts, where the terms of the smart contract are recorded in a computer language as a set of instructions.

In general, Smart contracts help you exchange money, property, shares, or anything of value in a transparent, conflict-free way while avoiding the services of a middleman.

STANDARDS

Some standards for contracts have began to emerge. eg ERC20 is the standard token contracts should implement. Its implemented in the major contract tokens that are live now in the network. This is allowing awesome things to happen.

High level object oriented to program on Ethereum BC Smart Contracts. Similar to Javascript and C++. Contract specific features include Modifiers of function events to debug data on the interface or the other nodes of the same BC, custom global variables. Solidity is compiled to Bztecode excutable in EVM.

SC FEATURES

Autonomy – You’re the one making the agreement; there’s no need to rely on a

broker, lawyer or other intermediaries to confirm.

Trust – Your documents are encrypted on a BC shared ledger. There’s no way that

someone can say they lost it.

Backup – Imagine if your bank lost your savings account. On the Blockchain,

each and every one of your friends has your back. Your documents are

duplicated many times over.

Safety – Cryptography, the encryption of websites, keeps your documents safe.

There is no hacking. In fact, it would take an abnormally smart hacker to crack the code and infiltrate.

Speed – Much faster than any lawyer or bank.

Accuracy – Its a computer program, no human errors.

SC CONS

Code may have bugs because they are man made.
How will governments regulate smart contracts?
Identity management. The account address is the only ID of the person.
Good practices and security. Almost no real life applications yet.