The Bitcoin blockchain is not known for its ability to enable smart contracts. In fact, most developers creating smart contracts use a different blockchain, like Ethereum.
But the truth is that the Bitcoin protocol can be used to create smart contracts. Particl.io, the blockchain eCommerce platform, is doing just that by using Bitcoin-based smart contracts to manage funds in their trustless escrow: Mutually Assured Destruction (MAD) escrow.
For Particl, Bitcoin provides the ideal mix of smart contract functionality — enough to make smart contracts easy to implement but without the security and privacy risks of a more complicated platform like Ethereum.
Smart Contracts Overview
A smart contract is an agreement that can be enforced through a blockchain. Rather than relying on trust or a legal framework to ensure that each party that enters into a contract will adhere to its terms, you can use the blockchain to create a contract that is automatically enforced, between two people, in a decentralized fashion.
Ethereum has become the most popular blockchain for creating smart contracts. One of the major design goals of the Ethereum platform was to support smart contracts. From the start, this set Ethereum apart from Bitcoin, which was created first and foremost as a digital currency platform.
Smart Contracts on Bitcoin Codebase
As the Bitcoin protocol has evolved, it has gained support for smart contracts. Smart contract functionality is not as programmable and extensible on Bitcoin as it is on Ethereum. However, using features added to Bitcoin through improvement proposals, certain smart contract functionality can be achieved through Bitcoin scripting.
For Particl, the most important smart contract feature in Bitcoin is the OP_CHECKLOCKTIMEVERIFY opcode, which was introduced by Peter Todd as Bitcoin Improvement Proposal (BIP) 65. The opcode makes it possible to write scripts that prevent funds in a multi-signature wallet from being spent until a certain signature pattern is implemented or a certain amount of time passes.
Particl, Smart Contracts and MAD Escrow
MAD escrow is a technique that effectively prevents fraud in a transaction without requiring the oversight of a third party. In a MAD escrow contract, a buyer and seller both place funds into escrow. The seller starts by depositing an amount they want the buyer to match to symbolize a virtual handshake. This could be between 0 and 100 percent of the item’s purchase price. The buyer then deposits an amount equal to the handshake amount plus the price of the item they are buying. The escrowed funds are not released to anyone until both parties confirm that the transaction has been completed satisfactorily. The technique prevents either party from profiting through cheating in a transaction.
Particl uses the BIP 65 opcode to enable MAD escrow contracts by locking funds in a multi-signature wallet until all of the parties sign off on the transaction. With this approach, buyers and sellers on Particl’s ecommerce platform can operate without worrying about fraud or paying unnecessary fees.
They also don’t have to sacrifice privacy because no third party is involved in the transaction. Furthermore, and perhaps most significantly, because there is only basic scripting involved, security concerns are minimal.
Particl’s approach to MAD escrow smart contracts is arguably better than building smart contracts on a platform like Ethereum. While Ethereum provides more extensible support for smart contracts, that flexibility comes with a higher risk of security and privacy threats. The more code that goes into a smart contract, the greater the risk of introducing a vulnerability that could enable an intrusion.
Ethereum might be a strong foundation for writing very complex smart contracts, or ones in which security and privacy are not priorities, but Bitcoin provides a simpler and more reliable scripting framework for the private escrows that Particl requires.
Contributing to Bitcoin’s Future
Particl’s choice of Bitcoin as the backbone for its smart contracts is also a reflection of the team’s efforts to build a completely private platform on top of the Bitcoin codebase, arguably the most secure, battle tested and contributed to protocol on the market.
There are many dozens of Bitcoin-based blockchain projects out there, but most are simply building cryptocurrencies forked from Bitcoin. They’re not taking advantage of Bitcoin’s potential to create the foundation for a completely decentralized platform that supports a multitude of DApps and programmable functionality.
In this sense, Particl is helping to ensure that Bitcoin’s future will evolve more than just creating another cryptocurrency. Privacy enhancements Particl has already implemented onto the latest Bitcoin codebase such as Confidential Transactions and RingCT can just as easily be one day adopted upstream to further harden Bitcoin.