When it comes to smart contracts, Ethereum is the holy grail. And that is mostly due to its flexibility and security. That said, Bitcoin blockchain is also capable of enforcing smart contracts. But the types of smart contracts one can deploy are only a few.
Some popular smart contract types are:
Escrow and Arbitration – This type befits e-commerce. A customer buys a product, and the funds will be held in a smart contract. After the customer receives goods or services, the seller will receive the funds. A tertiary body which maintains the contracts will solve any disputes.
Micropayment channel – Huge number of microtransactions will cost a lot due to transactions fees. So, the sender will hold the Bitcoins in a smart contract and signs it with the receiver public key, e., the wallet address. The receiver must approve any refunds. After the accumulation of the funds, everything will be sent in a single transaction.
CoinJoin – Bitcoin has a public ledger with pseudo-anonymity. However, with some analysis and research, one can track and identify who is sending funds to whom. So, two or more people who wish to have better privacy will come forward. And they agree to swap their Bitcoins. So that tracking becomes difficult. But who trusts first to send funds to the other person. Instead, they can send the funds to a CoinJoin contract which will handle the send and receive transactions.
Many new contract types have been proposed. And the proposals are available here.
RSK, a start-up, had already launched a Bitcoin smart contracts platform in beta. And will have capabilities similar to that of Ethereum blockchain. But this is using a sidechain that allows moving Bitcoins to the main chain and back.
Also, the team behind the lightning network proposal are also working to bring the smart contracts to the Bitcoin ecosystem.