1) What is a smart contract?
Basically it is code that runs on blokchain and controls the transfer of digital currencies or assets between parties under certain conditions. An example could be: if the x address receive some tokens than send a percentage to the B address. Another example could be: when the tokens are deposited in the A address then send this transaction with this data to B. Therefore they could reduce the need for litigators, judges, and arbitrators.
2) Advantages of smart contracts
Elimination of third party and brokerage - you are the one that accepts a contract without the need of a third party
savings- since it eliminates the need of a intermediary you can save its cost
trust - documents are encrypted in the blockchain
backup - eanch node in the netowrk has a backup of it since it is in the blockchain
multisignature - it is possibile to allow certain transactions only when more than one has signed it
3) Notable implementations of smart contracts
Ethereum - the ethereum blockchain allows the deployment of smart contracts on it
Counterparty - Counterparty enables anyone to write specific digital agreements, or programs known as Smart Contracts, and execute them on the Bitcoin blockchain.
4) Some challenges for smart contracts
build a bridge between them and paper contracts.
produce a 100% bug-free code
find a way to update them to take into account evolutions in laws