Bitcoin is a virtual currency designed to act as money and a form of payment enabled by a wide variety of financial smart contracts carried out in a completely decentralized manner. However, part of its power derives from the way transactions use a flexible script language to specify redemption criteria.
The system ensures that subsequent transactions must fulfill the redemption criteria in order to unlock the embedded value. While traditional financial contracts rely on trust and after-the-fact enforcement, Bitcoin’s scripting mechanism allows for the enforcement of contracts within the currency system itself. Moreover, with the present mechanism, insecurity still dwells in how the Bitcoin system is used by crooks.
That’s why developers in the cryptosphere have been brewing proposals on the topic of covenants for Bitcoin. Basically, covenants are meant to make Bitcoin safer, more efficient, and scalable. But how exactly do they work, and what major problem are they solving? These are some of the things you will find out as you read on, but first, let’s define a Bitcoin covenant in simple terms.
What Is a Bitcoin Covenant?
Think of covenant as what is now known as a “smart contract” on the Ethereum (ETH) blockchain or any other blockchain network where the same is applicable. In simple terms, a covenant is a mechanism that would enable users to enforce conditions on the way BTC coins within a wallet can be transferred in the future.
As of now, Bitcoin programmability is largely limited to the base level of transactions. For instance, using a Bitcoin script, a programmer can restrict what can be done before a transaction is spent (i.e. processed). Similarly, using a timelock, one can set a specific amount of time before a transaction can be spent.
So essentially, Bitcoin covenants aim to bring more programmability to Bitcoin by allowing programmers to control how Bitcoins can be spent in the future. Using a covenant, one would be able to whitelist or blacklist certain addresses, restricting where BTC can be spent even for the person who has the key to those Bitcoins.
Currently, the expressiveness of Bitcoin’s script language is quite limited, not only by the tight operations of the language, but also by the information that can be accessed by a script program.
How Do Bitcoin Covenants Work?
A Bitcoin covenant is a mechanism to enforce conditions on how the control of coins will be transferred in the future, i.e. once acquired or received. However, to understand how Bitcoin covenants work, it is important to explain how a typical Bitcoin transaction is protected.
That said, a typical Bitcoin translation is protected by what experts regard as a locking script, which contains a set of preconditions that must be fulfilled before a transaction is processed.
Some of these locking conditions include but are not limited to denial of expenditure without a signature proving you have the private key that matches the public key, or timelocks, which are similar to covenants and indicate that coins can’t be spent until after a certain number of blocks.
Unlike the case of a normal Bitcoin script, which only requires specific conditions to be met to unlock a particular requirement (sign a transaction with a private key, for example), a covenant takes the process a step further by introducing additional preconditions.
A notable precondition introduced by covenants is restricting the activities of a token i.e., what you can do with that coin or where it can be spent. Essentially, Bitcoin covenants allow developers to include and set new preconditions for Bitcoin transactions.
Pros of Bitcoin Covenants
Improving Bitcoin security is one of the most significant advances constantly sought by developers, and covenants might offer a great helping hand in that regard. However, some advantages of Bitcoin covenants include the following:
1. Covenants are super useful for Bitcoin security. It takes further steps to protect your Bitcoin storage and assets so that it becomes tougher for hackers/scammers to steal.
2. Another good security approach provided by covenants would be to restrict unspent transaction output (UTXO) from being sent to a multi-sig address after a given period. In addition, covenants can also address the issue of secure key management, as well as implement secure vaults, which can help with one of the biggest problems of cryptocurrency security.
3. With a Bitcoin covenant, a user can employ a mechanism that prevents an attacker from gaining full control over funds despite stealing the private keys used to secure them. This mechanism includes the use of pre-signed transactions with key deletion to enforce a time-lock on funds.
4. You can use these for channel factories for Lightning so you can open/close/edit many channels in one transaction rather than requiring one UTXO per channel modification. To an extent, this brings fee and scalability benefits.
5. It could also allow for congestion-controlled batch transactions where you can compress transactions into a single transaction and then once the mempool is less congested, you can expand it back out and process each one.
Cons of Bitcoin Covenants
Everything has its drawbacks including Bitcoin covenants. Many in the industry have their reservations concerning covenants. Here are some:
1. First of all, Bitcoin educator, author, and entrepreneur, Andreas Antonopoulos, claimed that recursive covenants can be a bad thing for Bitcoin. If you are wondering, a recursive covenant occurs when a programmer restricts a transaction but does it in a way that restricts another transaction after that, thereby starting a chain effect resulting in future limitless recursive covenants.
2. Some experts are of the opinion that covenants could interfere with Bitcoin’s fungibility — the ability of each Bitcoin to be identical in function and quality. Although useful for security and scalability, covenants could potentially change the properties of specific Bitcoin units, essentially creating different types of digital currency, distinct according to what could be spent or where it could be sent.
3. There is also the thought among developers that covenants are overly complex and so won’t be used by the everyday Bitcoiner; hence, they aren’t something to focus on now. Bitcoin users and stakeholders also expressed concerns that covenants may be used to add censorship or blacklisting and that governing bodies and law enforcement agencies might put pressure on- and off-ramps to include their approval as a covenant.
4. Lastly, there’s the risk that if people don’t understand the covenant on the coins, then they might sign up for something they don’t understand or that it could turn out to be a secret attack.
How Exactly Can Bitcoin Covenants Prevent Theft?
Most cryptocurrency investors are aware that there is theft every now and then in the crypto space. Large sums of digital currency go missing sometimes and the hackers seem to vanish into the void of internet anonymity, taking with them the loot of digital assets that are then impossible to trace or recover.
Scammers around the world took home a record $14 billion in cryptocurrency in 2021 alone, mostly due to the rise of DeFi and the lack of adequate knowledge amongst users. What’s more, cryptocurrency theft increased 516% from 2020 to $3.2 billion worth of cryptocurrency.
This is where covenants come in handy. Covenants expand the set of financial instruments expressible in Bitcoin and enable new powerful security uses, one of which is vaults.
Vaults focus on improving the security of private cryptographic keys. Historically, maintaining these keys securely and reliably has been a critical vulnerability for Bitcoin users. However, vaults disincentivize key theft by preventing an attacker from gaining full access to stolen funds.
In this case, people who try to take advantage of the system by breaking the law and start pursuing illegal activities will not have such a pass again. With BTC covenants, it is easier to effectively restrict how a coin can be spent as well as where the coins are being transferred.
While various forms of covenants have been proposed over the years, they all aim to improve the expressiveness of Bitcoin contracts as well as deepen security within the network while maintaining the simplicity of the UTXO design.
In doing this, there have been a couple of drawbacks impeding the implementation of Bitcoin covenants, and many existing descriptions of such points at the lack of formalization as a major disadvantage.
It is also interesting to see such innovative changes floating to the surface of Bitcoin advancement in the developer community. Ultimately, covenants could go a long way in upgrading and changing how the system works for the world’s most valuable cryptocurrency.