Bitcoin

How CTV Helps Bitcoin Scaling

OP_CHECKTEMPLATEVERIFY has once again become the focus of conversation about improving Bitcoin scaling. This time, more alternative designs for Covenant and real concrete designs utilizing CTV as scaling solutions (Timeout Trees and Ark) were proposed. The conversation includes much deeper concepts to consider in terms of alternatives that can be adopted and concrete proposals that CTV can enable.

One narrative going around in the anti-CTV camp is that “CTV doesn’t scale Bitcoin.” Let’s interpret this to mean that CTV itself does not extend Bitcoin, but rather extends what can be built using CTV. If so, that is not a coherent argument. Isolated Witness did not scale Bitcoin. CHECKLOCKTIMEVERIFY and CHECKSEQUENCEVERIFY did not scale Bitcoin. However, the Lightning Network that made these three proposals possible extends Bitcoin. It adds a huge amount of overhead to increase transaction throughput beyond the limitations of the blockchain itself.

Lightning literally cannot exist without base layer primitives. However, the problem with Lightning is that it only scales the number of transactions it can handle. This does not in any way help improve the scalability of ownership of UTXOs or increase the number of users who can control UTXOs. Lightning is currently unable to do this with its current design and set of consensus primitives available in Bitcoin Script.

CTV can change that.

UTXOs and virtual UTXOs

One of the downsides of Lightning when it comes to Bitcoin ownership scalability is that you actually have to transact on the base layer to open a channel or control UTXOs. Lightning can then facilitate a very large number of off-chain transactions, but users will still need to make on-chain transactions to onboard to Lightning. While this vastly increases the number of transactions Bitcoin can handle, it does nothing to increase the number of people who can own Bitcoin.

This is another big problem that CTV can help with. Burak coined the term “virtual UTXO” for his Ark proposal, but I think this is a perfectly generic term that is useful far beyond the context of Ark. A signed transaction, but not yet created on-chain. Bitcoin doesn’t have the block space for everyone to create a single UTXO the size of the world’s population, but if the commit process for this can be scaled, there’s definitely the potential for people to have their own independent virtual UTXOs.

The problem is scaling promise creation for vUTXOs. There is currently no way to create this other than using pre-signed transactions, which creates a bottleneck that needs to be addressed. The number of vUTXOs that a physical UTXO can commit is limited by the size of the multi-signature set that signs these transactions. To create vUTXOs trustlessly, the owner of every vUTXO must be part of a multi-signature key that signs the transaction promising its creation. Otherwise, there is no guarantee that conflicting transactions will not be created that will invalidate your ability to claim vUTXOs if needed. . The problem of coordinating signatures across all members of a set introduces practical considerations that ultimately severely limit the size to which the vUTXO pool can grow. The only alternative is to have trusted parties sign transactions that commit everyone’s vUTXO, and trust them not to steal those funds from their rightful owners.

CTV offers a solution to both of these problems. You can non-interactively commit to a set of future transactions in the same way as a pre-signed transaction, but solve the coordination problem without requiring all owners of the vUTXOs that those transactions create to coordinate their signatures. At the same time, because no one needs to interact, one person can take on the role of funding the CTV output that causes everyone’s vUTXO to unfold on-chain, with zero trust in that person once the funding transaction is confirmed. Required. Once the actual UTXO is confirmed in the block, the person who funded it cannot cancel or double-spend committed future transactions.

Keep in mind that vUTXO can be whatever you want it to be. This could be a Lightning channel, a multi-signature script for cold storage, etc. CTV performs functions that the current Lightning form does not and expands the actual ownership of Bitcoin as well as the number of transactions that can be processed.

Cut via shortcut

One of the other criticisms of CTV for “not scaling Bitcoin” is that CTV doesn’t actually help improve scalability since committing future transactions doesn’t avoid the need to eventually put them on the chain. I like to call this “OP_IF error”. This means that when people start talking about CTV, they forget that OP_IF exists, and that script may actually have multiple spend conditions to choose from.

The most powerful thing about Taproot is its ability to configure multi-signatures by adding two public keys together and signing them with a single aggregate signature, and to selectively mark only a single “IF” branch of the script that can be used in multiple ways. . When combined with CTV, it provides a very powerful way to leverage vUTXO commitments. Instead of creating a series of transactions purely using CTV, you can build them using CTV spend paths buried inside the taproot tree. At the end of the transaction chain are all individual vUTXOs, owned by each participant and locked only to that user’s public key. Moving backwards toward the root of the tree, we can simply append each set of keys below a node in the tree to use them as Schnorr multi-signature keys with the CTV spend path buried there.

This could actually enable all participants in the intermediate UTXOs to cooperate with each other at any point in the transaction chain unfolding on-chain to convert vUTXOs into real UTXOs, with everyone cooperatively signing transactions moving their coins. It means you can. They want a more efficient approach than simply unfolding predefined transaction flows to transform vUTXOs into actual transaction flows. This allows a small subgroup to avoid the need to physically release the entire set of transactions pre-committed on-chain without weakening the security of each user’s claim to their vUTXO or introducing a trusted party to rely on. .

These two simple realities greatly enhance the scalability of Bitcoin without compromising individual sovereignty or security, and all that is needed to make this happen is CTV.

Acknowledgments: I would like to thank everyone involved in Chicago Bitdevs who helped me formulate these observations succinctly through discussion.

Related Articles

Back to top button