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
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
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.
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