Lost in all the Bitcoin jargon and discussions about Bitcoin Covenants? We can help. Today we’re going to help guide you through what covenants are, how they’re used, their long history and even what their downsides are. It’s one of the more technical sides to Bitcoin, but as usual, we’re here to explain it. Simply.
What Are Bitcoin Covenants?
A covenant is a promise or contract between two parties that states what each party will or will not be allowed to do. For example, a loan or mortgage contract is a covenant. You, as one of the parties, signs the covenant promising to pay back the loan while the bank, the other party, promises to loan you the money to buy the house.
Covenants also restrict what you can and can’t do with the property. As Bitcoin is also property, Bitcoin Covenants are all about restricting your rights over the bitcoin itself. Specifically this is done by restricting what you can do with your Unspent Transaction Output (UTXO).
For example, imagine you receive 1 bitcoin into an address. You or someone else could put a covenant on it that means it can only be spent to another specific bitcoin address and nowhere else.
What Is A Bitcoin Fork?
A Bitcoin Fork is when the code that runs the Bitcoin network is changed. This changed code becomes its own “branch” that’s forked off from the main “tree” of the previous code.
These changes result in a new set of rules for all the nodes that make up the Bitcoin Network and also impacts the Blockchain. Forks have historically caused a lot of confusion and controversy in the community and as such, can be a very hot topic.
Bitcoin Hard Fork Vs Soft Fork
There are two main types of Bitcoin forks, each with a slightly different meaning:
- Soft Fork: These are changes to the code that do not result in a whole new blockchain being created. Critically this means they’re backwards compatible with nodes that don’t upgrade
- Hard Fork: These are changes to the code that are so big, that they break backwards compatibility. This results in the creation of an entirely new blockchain and if a node wants to interact with this new blockchain, it needs to upgrade to the new code