The term "Bitcoin covenant" may sound a bit theological, but it's just a fancy word for an agreement. In the bitcoin world, covenants are agreements that lay out how bitcoins can be spent or transferred.
Bitcoin covenants are sometimes called smart contracts as well, but the two are quite different from each other. A smart contract enforces a set of conditions that must be met to complete the transaction and move the funds forward to their next location or beneficiary; if these conditions aren't met, no funds will be moved, and no assets will be sold.
By setting up these bitcoin covenants, you can add more security to your wallets and ensure that nobody else can access your money without your permission. But how do they work, exactly? First, let's take a closer look at what bitcoin covenants are and why they matter in the bitcoin world.
What are Bitcoin Covenants?
Bitcoin covenants are ideas that limit how and where a bought coin may be used and transferred. It allows programmers to specify the requirements for moving bitcoin to a specific wallet. That is, even if they have access, they can determine which addresses may or may not utilize that bitcoin.
So, in essence, Bitcoin covenants attempt to increase Bitcoin's programmability by letting programmers restrict how Bitcoins can be spent in the future. For example, using a covenant, one may whitelist or blacklist specific addresses, limiting where BTC might be spent even for the person who possesses the key to those Bitcoins.
Understanding how they work
Bitcoin covenants are a type of smart contract that enables users to attach restrictions to their transactions. This implies that consumers may designate how and when their bitcoins can be used. Covenants are the lowest and most basic unit of processing that a programmer may use to enhance the Bitcoin script language for transactions to limit the scripts of the redeeming Bitcoins.
A Bitcoin script typically involves simple instructions; for instance, the script may refuse to approve a transaction without a signature showing possession of the private key that corresponds to the public key. Similarly, some scripts state that coins cannot be spent until a particular number of blocks has passed.
Basically, a typical Bitcoin script requires simple specified conditions to be completed to unlock a specific requirement (for example, signing a transaction with a private key). On the other hand, a Bitcoin covenant limits what you can and cannot do with the currency as well as when and where not to spend the coin. Covenants broaden the range of financial possibilities expressible in Bitcoin and allow new and sophisticated security applications, such as vaults.
Vaults are designed to improve the security of private cryptographic keys. Maintaining these keys safely and reliably has historically been a crucial weakness for Bitcoin users. However, Vaults deter key theft by prohibiting an attacker from getting complete access to stolen cash.
Individuals who attempt to profit from the system by breaking the law and engaging in illegal activities will not be granted such a pass again. It is simpler to properly regulate how a coin may be used and where the coins are transferred using BTC covenants.
The advantages of Bitcoin covenants
- Security: Covenants are critical for Bitcoin security, particularly against a wrench attack. It provides complete protection for Bitcoin from attackers and makes it more difficult to steal. For example, you could set some of your unspent transaction output (UTXO) to remain restricted for a particular period. For example, A user with a Bitcoin wallet of 10 BTC split into UTXOs of 2 BTC, 3 BTC, and 5 BTC can restrict the 5 BTC UTXO to prevent them from losing 50% of their funds even if the private key is breached.
Similarly, Bitcoin Covenants help to secure crypto vaults, potentially mitigating the possible losses from a compromised vault.
- Scalability: With Covenants, multiple transactions can be merged together to consume lesser block data, thereby facilitating quicker transactions and reduced fees. Similarly, it can be used to compress bulky transactions during network congestion, and then roll them out when the mempool is uncongested, hence facilitating cheaper fees.
The disadvantages of Bitcoin covenants
- The possibility of a recursive covenant: A recursive covenant occurs when a programmer restricts transactions in a Bitcoin wallet, such that it counters another covenant. This result in an infinite number of covenants where each condition has to be settled for a transaction to go through. At best, the transaction will take ages, causing network congestion; in the worst case, all affected transactions will remain pending. Either way, it’s not a pleasant outcome.
- Censorship/Centralization: The openness to censorship is a positive disadvantage of Bitcoin Covenants, especially in terms of security. However, this will open Bitcoin up to government control and censorship, all of which are against the core purpose of creating Bitcoin - a borderless currency beyond the control of central banks and Governments.
- Fungibility Concerns: When some Bitcoins can be spent without restrictions and some others are restricted by covenants, the fungibility of Bitcoin is defeated; hence, a covenanted Bitcoin will become of lesser value than unrestricted ones. Eventually, Bitcoin will be divided into two types, and the values of both will never remain the same in real-world markets.
- Exploitation: There are concerns about malicious covenants designed to rob users of their tokens or prevent access to them. This is because, the majority of users don't understand how these covenants work, so it may provide a new way for exploitation and malicious attacks.
Bitcoin contracts will continue to hold a dividing opinion among industry key players, with some sects favoring the feature due to its security benefits, while others feel it's a way to move "one step forward and two backward." Perhaps we could see another Bitcoin fork if consensus nodes do not reach an agreement on the use of Bitcoin contracts.