Bitcoin is a decentralized network that allows the transfer of value between its participants without the need for intermediaries or central authorities. Bitcoin operates based on a protocol that defines the consensus rules, validation, and execution of transactions. This protocol consists of a set of operations called opcodes, which are used to construct scripts that determine the spending conditions of bitcoins.
One of the proposed improvements to the Bitcoin protocol is BIP-119, which stands for Bitcoin Improvement Proposal 119. This proposal was presented by developer Jeremy Rubin, founder of Judica, a research and development company focused on a new smart contract language called Sapio. BIP-119 aims to introduce a new opcode called OP_CHECKTEMPLATEVERIFY (CTV), which would allow the creation of covenants, a new type of conditional transaction.
BIP-119 can potentially enable use cases such as congestion control, vaults, payment channels, lotteries, smart contracts, and more. BIP-119 could also introduce unwanted complexity into the Bitcoin protocol, potentially compromising its security.
What are covenants?
Covenants are transactions that impose restrictions on how bitcoins can be spent in the future. For example, a covenant could send a bitcoin to someone who could only send that bitcoin to a specific address. Another example would be a covenant that would lock a bitcoin for a certain period or require proof of work to be spent.
Covenants allow for more expressive programming and more efficient transaction routing. With covenants, it would be possible to create smarter custody solutions with automatic safes to protect bitcoins from hackers. It would also be possible to confirm payments to multiple recipients, paying fewer fees efficiently. Moreover, covenants could enhance the Lightning network, creating non-interactive channels, with as many as desired, and routing as many HTLCs as desired.
How does CTV work?
CTV is an opcode that checks if the outgoing transaction matches a predefined template. The template is a hash of a partially signed transaction, which specifies the values, addresses, and sequences of the outputs. CTV prevents the outgoing transaction from being altered in any way that is not in accordance with the template. In this way, CTV creates a dependency relationship between transactions, ensuring they are executed in the desired order and conditions.
CTV is a simple opcode which requires no changes to the transaction structure or script validation. CTV is compatible with existing opcodes and can be combined to create more complex covenants.
How to activate CTV?
CTV is a soft fork proposal, meaning a change that makes the protocol rules more restrictive but remains compatible with previous versions. To activate CTV, it is necessary to obtain network consensus, i.e., approval from most participants, including miners, nodes, and users.
Rubin proposed using a Speedy Trial to obtain consensus for CTV activation. As the name suggests, the Speedy Trial is a method that speeds up the process of testing whether an improvement proposal can achieve consensus. The Speedy Trial was used to activate the Taproot update, for example.
The Speedy Trial requires the approval of 90% of the network's hash power, i.e., the miners who validate transactions and create blocks. This method is called Miner Activated Soft Fork (MASF), which requires miners to signal their support for the proposal. Nodes can then update their software when the proposal achieves sufficient favour to be activated.
What is the community's opinion on CTV?
BIP-119 is a controversial proposal that has sparked debates and disagreements within the Bitcoin community. Some developers are in favour of the proposal, claiming it would bring more functionality, efficiency, and innovation to the network. Others oppose the proposal, arguing that it would be unnecessary, complex, and risky for the security and stability of the protocol.
Rubin has passionately defended his proposal, trying to persuade miners, nodes, and users to support CTV. He has also encouraged people to read his full explanation of BIP-119, available on utxos.org. Rubin asserts that CTV is a simple proposal, carefully designed to be easy to understand, use, and implement.
However, Rubin has also faced criticism and resistance from other developers who question CTV's necessity, feasibility, and implications. Some developers believe that CTV is a solution in search of a problem and would not benefit Bitcoin significantly. Others fear that CTV might introduce undesired complexity into the protocol, potentially compromising its security and robustness.
One of the developers opposing CTV is Luke Dashjr, known for being one of the strictest and most conservative defenders of the Bitcoin protocol. Dashjr criticized Rubin's proposal, stating it is "a mess" and "stands no chance of being accepted." Dashjr also accused Rubin of trying to force his proposal onto the network using an unsuitable and rushed activation method. Dashjr believes users should activate Bitcoin protocol improvement proposals through a User Activated Soft Fork (UASF), which requires node approval. Nodes are the computers that run the protocol and verify transactions. He argues that this method is more democratic and secure, giving more power to users and preventing miners from imposing their will on the network.
Another developer who spoke out against CTV was Jimmy Song, one of the most influential and respected Bitcoin educators and communicators. Song conducted a poll on Twitter, asking his followers whether they supported BIP-119. The result was that only 13% of voters said yes, while 87% said no. Song speculated that the low number of votes (he typically attracts thousands in a standard Twitter poll) indicated that few people even understood BIP-119.
What are the downsides of BIP-119?
BIP-119 could introduce some negative aspects to Bitcoin, potentially affecting its characteristics and operation. Some of the downsides of BIP-119 include:
BIP-119 could negatively impact Bitcoin's fungibility, one of its main features. Bitcoin's fungibility is based on the fact that each bitcoin is identical in functionality and quality. Introducing covenants that change the properties of specific bitcoin units would effectively create different types of bitcoins regarding how they can be spent or where they can be sent. This could reduce the value of these bitcoins, as they would have fewer usage options. Moreover, these bitcoins could be tracked on the network since they would have a distinctive mark identifying them as part of a covenant. This could harm Bitcoin's censorship resistance and privacy, two of its primary features.
For instance, a covenant could send a bitcoin to someone who could only send that bitcoin to a specific address. This bitcoin would have a restriction differentiating it from other bitcoins that can be sent anywhere. This could reduce that bitcoin's value, as it would have fewer usage options. Furthermore, this bitcoin could be tracked on the network, as it would have a distinctive mark identifying it as part of a covenant.
Another example would be a covenant that locks a bitcoin for a certain period or requires proof of work to spend it. This bitcoin would have a condition making it less liquid than other bitcoins that can be spent immediately. This could decrease that bitcoin's value, as it would have less market demand. Similarly, this bitcoin could be monitored on the network, as it would have a unique feature associating it with a covenant.
These examples illustrate how covenants could affect Bitcoin's fungibility, creating different types of bitcoins with varying properties and values. This could harm Bitcoin's censorship resistance and privacy, two of its primary features.
BIP-119 could introduce unwanted complexity into the Bitcoin protocol, potentially compromising its security and robustness. BIP-119 requires adding a new opcode, increasing the attack surface and the risk of bugs. Additionally, BIP-119 could create unforeseen or unwanted scenarios, such as infinite loops, invalid transactions, or loss of funds.
Some of these scenarios include:
- Infinite Loops: A covenant could create an infinite loop if it refers to itself or another covenant that references it, creating a never-ending circular chain of transactions. This could consume network resources and cause scalability issues.
- Invalid Transactions: A covenant could create an invalid transaction if it specifies a condition that cannot be met, like an address that doesn't exist or a value greater than the available balance. This could result in bitcoins getting stuck in an inaccessible address and lost forever.
- Loss of Funds: A covenant could cause fund loss if it specifies a condition that's too challenging or impossible to verify, like a zero-knowledge proof or a third-party signature that doesn't cooperate. This could lock bitcoins in an address until the condition is met, which might never happen.
These are just a few scenarios BIP-119 could create, but there are others. Therefore, it's crucial to understand the proposal's risks and benefits before supporting or rejecting it.
BIP-119 could be activated inadequately and hastily without proper network consensus. BIP-119 proposes using a Speedy Trial to obtain consensus for CTV activation. This method requires 90% approval from the network's hash power, i.e., miners who validate transactions and create blocks. This method, called Miner Activated Soft Fork (MASF), requires miners to signal their support for the proposal. Some developers criticize this method, saying it's unsuitable and rushed for a proposal as complex and controversial as BIP-119. They also argue that the Speedy Trial is a way to manipulate miners, who might be induced to signal without understanding the proposal's implications.
BIP-119 can potentially enable use cases like congestion control, vaults, payment channels, lotteries, smart contracts, and more. However, BIP-119 could also introduce unwanted complexity into the Bitcoin protocol, potentially compromising its security and robustness. BIP-119 requires adding a new opcode, increasing the attack surface and the risk of bugs. Moreover, BIP-119 could create unforeseen or unwanted scenarios, such as infinite loops, invalid transactions, or loss of funds.
BIP-119 is currently under discussion in the Bitcoin community, with divergent opinions. Some developers, users, and companies support the proposal, claiming it brings more expressiveness and flexibility to Bitcoin. Others criticize it, arguing it introduces more complexity and risk to Bitcoin. BIP-119 requires 90% of the network's mining power for activation, which might be challenging. Additionally, BIP-119 proposes using an activation method called Speedy Trial, which speeds up the consensus testing process but can generate pressure and conflict within the community.
BIP-119 is, therefore, a controversial proposal, raising technical, economic, and philosophical questions about Bitcoin's future. Those interested in Bitcoin must understand the proposal's risks and benefits before supporting or rejecting it. Depending on one's perspective, BIP-119 could be revolutionary or a threat to Bitcoin.
BIP-119: Here’s everything you need to know about the Bitcoin proposal
BIP-119: Unpacking CTV and How It Would Change Bitcoin