I was reading about CTV and think I may have stumbled on a congestion issue that I don't see many people talking about.
At a high level, CTV basically allows the output script of a transaction to specify which output scripts must come next. One potential application mentioned on Jeremy Rubin's webpage is congestion controlled transactions. These transactions essentially consist of a small (low-fee) initial transaction, whose next output would be a large (high-fee) transaction with lots of outputs. These can even be chained together to form a tree with orders-of-magnitude more outputs. As described on the page:
When there is a high demand for blockspace it becomes very expensive to make transactions. By using OP_CHECKTEMPLATEVERIFY, a large volume payment processor may aggregate all their payments into a single O(1) transaction for purposes of confirmation. Then, some time later, the payments can be expanded out of that UTXO when the demand for blockspace is decreased.
Despite the name, I think these types of transactions could lead to more congestion, not less. Suppose all the major exchanges implemented withdrawals using CTV-locked "congestion controlled transactions". If each root transaction expanded into a tree with 100 leaf addresses, then a single block full of these root txs would require at minimum 100 blocks to complete final settlement of everyone's withdrawals.
More generally, if each block contained a fraction of congestion controlled transactions f, and each transaction expanded into an average number of leaf transactions L, then if f*L > 1, the time needed to complete every leaf settlement would grow with each block. It would be like turning the blockchain into an exponentially-growing mempool that could never clear out.
Another application mentioned on Jeremy's webpage is batch channels (or "channel factories"), which are similar to congestion controlled transactions except the leafs would be lightning channels instead of regular bitcoin addresses. In theory, as soon as the root transaction is broadcasted, users could consider the channel "open" since their funding transaction is "guaranteed" by a chain of CTV-locked transactions. However in practice, if an exponentially large number of channels were opened this way, it would be infeasible for even a small percentage to ever close on-chain. For example it would be possible to "open" a billion channels with a tiny number of initial transactions, but since the blockchain only allows ~100M transactions per year, it would take ten years to close them all, or one year to close even 10% of them.
This post isn't intended to be an anti-CSV stance per se, rather I just wanted to bring awareness to a potential negative effect at the system level that I'm not sure if people realized yet. The only place I've seen it discussed was on a twitter thread here. Of course, CTV is opt-in and users could choose to avoid these types of transactions in the first place, but if users were not aware of the risks then they might be stuck with bags of CTV-locked txs that would never settle.
tl;dr: If you think of the bitcoin blockchain like a highway where creating UTXOs are the on-ramps and spending UTXOs are the off-ramps, CTV increases the number of on-ramps exponentially without adding any new off-ramps, potentially leading to congestion.
You can get bonuses upto $100 FREE BONUS when you:
π° Install these recommended apps:
π² SocialGood - 100% Crypto Back on Everyday Shopping
π² xPortal - The DeFi For The Next Billion
π² CryptoTab Browser - Lightweight, fast, and ready to mine!
π° Register on these recommended exchanges:
π‘ Binanceπ‘ Bitfinexπ‘ Bitmartπ‘ Bittrexπ‘ Bitget
π‘ CoinExπ‘ Crypto.comπ‘ Gate.ioπ‘ Huobiπ‘ Kucoin.
Comments