Overview of Smart Contracts on Bitcoin
20 April, 2021
Smart contracts on Bitcoin can make life substantially easier for anyone engaged in commerce and dealing. This is due to Bitcoin’s ability to provide the perfect mix of smart contract functionality. It allows for the easy implementation of contracts without the security and privacy risks that more complicated platforms normally involve.
Given that nowadays numerous processes are gradually becoming digitalized, it’s important to find ways to make digital agreements secure and reliable. Smart contracts are an excellent alternative to traditional contracts, which have normally been complicated to implement and too slow.
It was back in 1994 that a computer scientist, legal scholar and cryptographer named Nick Szabo introduced the term “smart contracts”. He defined them as “computerized transaction protocols that execute terms of a contract”. Since then, smart contracts have become enormously popular. We are now seeing businesses across the world racing to embrace them.
Smart contracts offer a large number of benefits, with the most significant being transparency and scalability, low costs, automatic execution, high speed, unrivalled security, immutability, and guaranteed accuracy.
There are currently a number of blockchain platforms used for smart contract deployment, with Ethereum being the most popular. However, it’s the Bitcoin blockchain that has recently expanded its profile and attracted support for its smart contracts. Although smart contract functionality on Bitcoin isn’t as programmable and extensible as on Ethereum, it still has a wealth of advantages to offer.
Read on to discover more about smart contracts on Bitcoin, their technical specifics and their use cases. You will also find out what areas can benefit from adopting smart contracts.
Bitcoin smart contract: what is it?
A Bitcoin smart contract is a software code that is stored and executed across all nodes in the Bitcoin blockchain network. The smart contract creator is responsible for defining the rules, and negotiates them with the parties involved. Once the contract has been saved in the blockchain, it remains there forever, and the code itself will never change. The Bitcoin ledger, in its turn, stores and replicates the agreement and provides it with security and immutability.
Apart from defining the rules of an agreement, blockchain smart contracts also allow for the automatic execution of those rules or other obligations. Therefore no central authority and/or intermediaries are needed for the seamless functioning of the software.
Despite the fact that smart contracts on Bitcoin have long been considered difficult to develop, several decentralized applications have been launched using Bitcoin scripts. These are known as DApps, and among the most prominent are those in domains such as data storage, voting, and gambling.
What is Bitcoin itself and how does it function?
Bitcoin (BTC) is a digital currency that was introduced in January 2009 by the pseudonymous Satoshi Nakamoto. It acts as an online version of cash that can be used for purchasing different goods and services. Bitcoins are not tangible currencies — they exist only as balances on a public ledger, which are operated by a decentralized authority.
At present, not many retailers accept Bitcoins. Even so, some world-renowned companies are starting to embrace them. In October 2020 PayPal, a company that facilitates online payments, announced that it would allow its users to buy and sell Bitcoins. Then, in March 2021, Tesla CEO Elon Musk announced that Tesla vehicles in the US could be purchased with the digital currency.
Each Bitcoin is normally represented as a computer file, which is stored in a digital wallet located on either a smartphone or a computer. All Bitcoin transactions are recorded on a completely immutable and, crucially, unalterable blockchain, which allows users to view and trace an accurate history of their transactions. What’s more, Bitcoin offers the lure of lower transaction costs compared to traditional online payment mechanisms.
Where can smart contracts be used?
In tandem with blockchain technology, smart contracts have helped take digital relationships to a new level. The multifaceted nature of smart contracts means that they can be used in a variety of industries. To date, they have shown themselves to be indispensable and highly efficient protocols in areas such as supply chain management, insurance, real estate, healthcare, and finance.
By implementing smart contracts, supply chains can be made more transparent, efficient, and simpler. They are underpinned by a greater level of trust. Smart contracts are able to register ownership rights when items go through the supply chain, verifying who holds responsibility for the product at a particular point. Therefore, the finished product gets validated at each delivery stage until it finally reaches the customer.
A prominent use case involves the blockchain-based supply chain company Treum and the World Wildlife Fund. Together they aim to revolutionize the tuna industry. By tracking the tuna all the way to the supermarket, customers manage to get the information about where, when, and by whom the tuna was caught, simply by scanning a QR-code on the package with their smartphone.
The insurance sector has been lacking in automated administration — but fortunately smart contracts have the capability to turn this around and bring about significant improvement.
For instance, in some cases insurance companies may need hours, days or even weeks to process a single insurance claim, whereas smart contracts can accomplish the whole procedure within a few minutes by automatically triggering a claim once a particular insured event has taken place. What’s more, by dint of smart contracts both insurer and customer can come to an agreement without the assistance of any intermediaries, which will help save a lot of money.
The benefits of smart contracts don’t end here — they can also radically reduce the chance of fraud and make court settlements much more transparent.
Teambrella utilizes blockchain and smart contracts in order to perform insurance payments. Members of a particular Teambrella group are locked into a specific smart contract and can use it to vote and execute payments for their claims.
The security of real estate transactions has always been a special concern. Luckily, it’s a challenge that smart contracts are able to overcome. Ingenious software programs can make the fulfillment of the agreement simpler and more secure by eliminating the costly and sometimes unreliable intermediaries.
Agent Not Needed, for instance, is a specially developed platform that aims to substitute real estate agents with a P2P platform that needs less intermediary involvement. The company hopes to reduce the costs of real estate transactions via sophisticated smart contracts that can help do away with the fees that are normally charged by middlemen.
Smart contracts enable patient records and other related data to be safely stored on a digital ledger. In this way, if a patient is moving from one hospital to another, they won’t have to fill out numerous forms, as their health records are kept on the blockchain and will be available to hospitals everywhere. The data can be accessed and viewed by patients’ preferred doctors on the blockchain network, on condition that the former provide access (private key) to it.
But now for a much more curious use case of smart contracts in the healthcare industry. Based in the Netherlands, Dentacoin has come up with an extraordinary consumer-facing application of blockchain and smart contracts.
Its smart contracts motivate patients to take care of their teeth, including flossing, appropriate and healthy nutrition as well as regular check-ups with their dentists. Patients are able to earn rewards, on the condition that they have provided accurate reviews after each visit in order to contribute to quality improvement within the entire dental community. Given that all reviews are stored on blockchain, they’re immutable and cannot be altered in any way.
It comes as no surprise that the most widespread adoption of smart contracts is observed in the financial sector, as money and associated documents are gradually becoming electronic. The range of opportunities for smart contracts in the financial sector is enormous and diverse. It comprises payment processing, settlement of financial instruments, and various regulatory technologies like Know Your Customer (KYC) certification. Smart contracts are also well capable of seamlessly executing transactions between buyers and sellers in the stock market, thus saving all parties a lot of time and effort.
As a result of the capacity of smart contracts and blockchain as a whole to disrupt the financial sphere, plenty of blockchain startups and companies have emerged, eager to bring novel and groundbreaking solutions to market. A good example here is Ava Labs, which offers a public blockchain network specifically for financial services. It comprises smart contracts, a tokenization platform, a sophisticated app development infrastructure for DApps, and more.
These are just some of the areas where smart contracts can be deployed. In fact, a much larger number of businesses can potentially take advantage of these highly convenient software programs. To understand whether your business will benefit from smart contracts implementation, it’s always advisable to turn to professional blockchain consultants. They will be able to help you work out the viability, usefulness, and prospects of your idea.
What are Bitcoin smart contracts capable of?
Bitcoin smart contracts are by right considered to be multifunctional. Among their most distinct capabilities, it’s worth highlighting the following:
- Operating as multi-signature accounts. This means that spending funds can be released only after a required percentage of people have given their consent
- Handling agreements between several parties
- Offering some utility functions to other contracts
As well as these, smart contracts on Bitcoin also possess built-in enforcement mechanisms that enable issuers to freeze, thaw, and even confiscate tokens. The upshot is that parties can handle their tokens more efficiently and comply with different regulations.
Bitcoin’s Taproot upgrade
Like any other technology, Bitcoin smart contracts are subject to upgrades.
The Taproot upgrade is set to enhance Bitcoin’s smart contract functionality and introduce new privacy features. Bitcoin’s developers, along with community members, have even come up with a timeline for when they will activate what will prove to be Bitcoin’s most significant upgrade since the inception of SegWit in 2017.
Taproot itself is a forward-compatible soft fork that has the capacity to improve Bitcoin’s scripts, thus increasing privacy and bolstering a number of aspects related to complex transactions. Taproot will allow users to mask smart contracts as regular BTC transactions. Its code has recently been incorporated into the Bitcoin Core and needs to be activated on the Bitcoin network.
Moreover, combined with Schnorr signatures — a cryptographic signature scheme created by Claus Schnorr — Taproot can boost efficiency in the transaction process. It can also reduce the amount of data that needs to be transferred and stored on blockchain, allow for more transactions per one block (i.e. higher TPS rate), and even lower transaction costs.
What’s more, thanks to Taproot, signatures will cease to be malleable (malleability has been a pressing issue in the entire Bitcoin network). By using smaller and faster Schnorr signatures (as opposed to Bitcoin’s current signature algorithm, also known as elliptic curve digital signature algorithm or ECDSA), Taproot will allow for more lightweight and sophisticated Bitcoin smart contracts.
Technical aspects of smart contracts on Bitcoin
First of all, it’s important to understand that the existing blockchain platforms can be divided into two types: script-based blockchain represented by Bitcoin, which supports limited expressions of operations, and Turing-complete, represented by Ethereum, which supports arbitrary functions with Turing-complete programming languages.
Bitcoin is the first and probably best known script-based smart contract platform. The majority of advanced script-based blockchains are derived from Bitcoin — thus almost all construction schemes in Bitcoin can be implemented in these blockchain systems without any significant modifications.
As for Bitcoin smart contracts, they can be locked to transactions-setting script hashes as output addresses (Pay to Script Hash, or P2SH) that encode the hashes of scripts into Bitcoin Unspent Transaction Outputs, also known as UTXOs. P2SH transactions are regarded as the foundation for multi-signature (MultiSig) transactions, Lightning Network and many other processes within the Bitcoin ecosystem which play a vital role in data communication. These processes allow both messages and instructions to be delivered and executed systematically throughout a network without any mutual trust.
The figure below illustrates a simplified payment process in Bitcoin with the time field omitted. When carrying out a transaction that spends UTXOs from a P2SH transaction T(x0), miners have to verify the sender’s signature. Next they are able to check whether the script code used in the transaction payload corresponds to the script hash H(script). Then they can check if the other payload data p(data) matches the evaluated script. If it does, the signed redeem transaction T(x1) is considered valid.
Bitcoin needs about ten minutes to append a new block to the blockchain. It’s advisable to wait for a minimum of one sequence of six blocks, in order to ensure that the transactions will come into force and won’t be either erased or forked. This, however, causes a delay in the transaction confirmation, which consequently can limit the implementation of Bitcoin smart contracts.
Note that as the information on the Bitcoin blockchain is publicly available, its full scripts can be viewed by the whole network.
Scripts in Bitcoin
Bitcoin is able to support a set of scripts that allow for the auto-enforcement of particular financial procedures other than e-cash exchange, which is a kind of smart contracts prototype. However, these scripts can only be applied to a limited number of scenarios. This is because Bitcoin intentionally excludes the opcode for loops in order to avoid some potential ongoing operations that can result in the workflow stoppage.
Despite the fact that finite loops can be provided as multiple repeated options, the total script length is limited to 520 bytes and each opcode can take 4-5 bytes. Novice programmers find the script language a bit difficult to learn because of its “old-style” appearance, while professional programmers also stumble over certain complexities too.
But even so, several decentralized applications, or DApps, run on those scripts, with the most popular being those related to data storage, voting, gambling, and online poker games. Most of the apps involve multiple lines of scripts and use the inherent cryptocurrency in order to carry out automatic value transfer without a TTP (Trusted Third Party). The logic of these apps is generally considered to be relatively simple in comparison with that in Ethereum, for example.
Programming languages for Bitcoin smart contracts
To tackle the complexities of script programming, a wide range of programming languages for Bitcoin smart contracts have been proposed. They all have the capacity to enhance the readability, expressivity, and verifiability of the Bitcoin scripts. As a means of bringing simplicity and smoothness to some complicated processes, new coding languages for Bitcoin are developed quite regularly, with Sapio being just one of the most recent examples.
Based on their expressivity, languages can be divided into high-level, like Ivy, BALZaC, and BitML, and intermediate representation, such as Simplicity. These four programming languages are represented in detail in the figure below.
|Year||Security proof||Open-sourced||Templates available||Description|
|Ivy||2016||−||+||+||high-level language, educational purposes only|
|Simplicity||2017||+||−||−||intermediary representation, verifiable with Coq|
|BALZaC||2018||−||+||+||high-level language, along with a formal model of Bitcoin|
|BitML||2018||+||+||+||high-level language, process-algebraic language|
High-level languages are those that are regarded as more expressive and can be used by all developers with ease, whereas intermediate representation languages come in handy when dealing with the compilation and security analysis.
Normally, high-level languages are better for script-based blockchains, which can reduce the burden of contract programmers as is the case with the Solidity language in Ethereum. Yet high-level languages are sometimes hard to use and implement.
One of the major challenges relates to converting programs that were created in one high-level and script language to another language without introducing errors. That’s why an easy-to-use and a demonstrably secure language, as well as a compiler able to turn the programs into scripts, are still needed for Bitcoin blockchain.
Use cases of smart contracts on Bitcoin
Smart contracts on Bitcoin can be used in a variety of domains.
For example, if you’re thinking about renting out your villa, you can turn to Bitcoin smart contracts: they will enable your tenant to pay the rent with Bitcoins. The settlement process can be managed automatically and the tenant will be notified when the rent is due. Therefore, as a landlord you will be able to do away with mundane and lengthy processes.
Once the payment has been sent, the smart contract will have to validate its arrival. The digital agreement will issue receipts and store the transaction data on the Bitcoin ledger. It’s also possible to program a smart contract on Bitcoin in a way that allows for the return of the initial escrow deposit to the tenant’s account via a separate transaction only after the lease has expired and all the payments have been made.
Another example of where Bitcoin smart contracts can be used is in a fantasy sports pool or betting. Some companies have decided to give blockchain a go and have implemented it on their sports betting platforms. Through the combination of smart contracts and cryptocurrencies, these platforms make it possible for players to place their bets in real time.
There are many DApp development platforms using Bitcoin. They tend to be highly efficient, reliable, easy-to-use and secure. We’ll now compare two of them and find out what benefits they offer to their users.
Echo is a blockchain app development platform and network powered by Bitcoin and smart contracts. It allows for elaborate DApps for both Bitcoin and Ethereum, with top-class functionality and flexibility.
The Echo blockchain is a layer-2 protocol that comprises an Ethereum sidechain as well as a Bitcoin one in order to allow for network interoperability. This blockchain protocol makes it possible for other blockchain assets, like ERC-20 tokens, to be represented on the Echo chain via a bi-directional peg, thus allowing Echo DApps to natively support those assets. It’s also worth noting that smart contracts in Echo are Turing-complete and are written in Solidity.
By using Echo, developers can build decentralized finance (DeFi) applications that smoothly and easily integrate with Bitcoin’s blockchain and reap the benefits of the performance and flexibility of Echo’s advanced smart contract protocol.
Particl is a decentralized ecosystem that leverages the Bitcoin codebase, keeping it up-to-date with latest versions. It uses the BIP 65 opcode in order to facilitate MAD escrow contracts by locking up funds in a multi-signature wallet before all the participants sign off the transaction.
As a result, buyers and sellers using Particl’s eCommerce platform can conduct their transactions smoothly, without worrying about fraudulent activities and unnecessary fees. At the same time they needn’t worry about privacy, as the transaction is carried out without any intermediaries and runs only on basic Bitcoin scripting.
Bitcoin smart contracts are considered to be a tricky beast to tame. However, they bring numerous opportunities and exciting possibilities to the blockchain area and, crucially, play their part in enhancing the entire Bitcoin ecosystem. In addition, we are set to see yet more advances and improvements as Bitcoin’s Taproot upgrade draws near and new coding languages are developed.
Smart contracts have already been successfully implemented and embraced by a wealth of companies worldwide. The benefits that they offer in terms of transparency, trust, speed, efficiency, security, and savings are being enjoyed by ever-increasing numbers of users.
By collaborating with a reliable smart contract development partner, you are set to automate and bring full transparency into commercial interactions as well as internal processes. It’s definitely a smart move to consider if you suffer from too much overhead and serious delays in executing deals that are at the core of your business’ operations.
Get front-row industry insights with our monthly newsletter
Get front-row industry insights with our monthly newsletter