Mon. Nov 18th, 2024

Despite a nice few months this summer after Burak, infamous slayer of the Lightning Network, dropped his proposal for the new second layer protocol Ark where people had a lot of discussion around different covenant proposals, drivechains are once again becoming a dominant topic of discussion. There are a large number of problems with drivechains, from the rationale for supporting them, to claims about how they don’t affect incentives being inaccurate, and even reasons for why they may actually hurt miner income instead of increasing it. In this piece I’m going to focus solely on the issues regarding incentives for brevity’s sake.

If you are not familiar with the specific technical workings of BIPs 300 and 301, you can read a succinct summary of that here.

Separation of Concerns: Mainchain Miners and Sidechain “Miners”

One of the core claims from drivechain proponents is that the activation of this BIP introduces no new requirements or costs for miners who participate in securing these sidechains. While this is strictly technically true, it does not require or mandate anything new from miners, the incentives of the design naturally create a funnel motivating miners to take on full responsibility for operation of these sidechains themselves to maximize profit. Over time due to the competitive nature of mining, this can eventually make miners running sidechain nodes and handling block construction themselves to maintain their economic competitiveness.

The design of blind merge mining (BMM) in BIP 301 specifies a mechanism for users who do not engage in Bitcoin mining to openly bid in the mempool for miners to select their sidechain block for confirmation. For miners to accept a specific bid from some sidechain “miner” they must include a matching commitment to selecting their block in their coinbase transaction. The consensus rules of the proposal make any bid transactions from sidechain miners invalid unless the corresponding message is included in the coinbase. This both ensures that miners cannot claim funds from a sidechain miner unless they actually confirm their sidechain block. It also prevents them from claiming funds from multiple sidechain miners while only commiting to one of their sidechain blocks.

The proposal is designed this way with the goal of allowing miners to collect revenue from sidechains without having to actually validate them or involve themselves in constructing blocks for the sidechains. According to proponents, sidechain miners will simply bid the fees paid to mainchain miners up to be almost the entirety of the sidechain’s profits, and miners will capture ~99% of the value without having to do anything. This assertion completely glosses over the reality and nuances of the incentives involved in this arrangement.

It is regularly claimed that “anyone can participate in constructing sidechain blocks.” This is not true. While it is an open process to participate in, it isn’t free. It requires capital in the form of bitcoin to actually be a sidechain miner, and this capital requirement grows in proportion to the growth in fee revenue generated by a specific sidechain. So if a sidechain generates only 0.0001 BTC per block, it will be a very open process that almost anyone can participate in. But let’s say that sidechain generates 1 BTC in fees each block, that is a very different game. Also, the withdrawal period for a drivechain is three months; that’s roughly 90 days before you can actually withdraw anything you have earned, so at 1 BTC per block with 144 blocks in a day up to 12,960 BTC are required to pay miners for confirming sidechain blocks. Keep in mind in theory this is a competitive thing, so that cost will be split between all the successful sidechain miners, but that is still a massive amount of capital (just for one sidechain). Even a more modest 0.1 BTC is still 1,296 BTC in that period.

This brings me to the crux of the problem. Do you really think that the majority of the fees collected on a sidechain are going to be paid to miners? People will collectively part with and put at risk over 1200 BTC in a three month period just to have a shot at earning a chunk of 12 BTC? The entire rationale for miners never having to do anything is that ~99% of available revenue will be given to miners due to competitive pressures, and it will not be worth the 1% reward to mine the sidechain’s themselves. That 12 BTC represents the 1% left over. Over 1200 BTC is at risk for the potential reward of 12 BTC. If that assumption is wrong, and sidechain miners that are not also mainchain miners will not spend that amount of capital for that low of a return, then there is a much bigger % that mainchain miners are not capturing on the table. The only way to capture it in that situation will be to become a sidechain miner themselves too. Miner’s entire incentive is to maximize profit, leaving significant profit on the table will motivate them to capture it. And here’s the final kicker: miners don’t need to have and spend that BTC capital up front in order to mine the sidechain, they just have to stick a commitment to a sidechain block in their coinbase. For the miners themselves that’s free.

The assumption of how much of the fees will be paid to mainchain miners being wrong essentially creates an incentive spiral that leads to the exact same type of mining centralization pressure traditional merge mining or something like a blocksize increase would create. In other words, it means the claim about BMM solving mining centralization is false.

Second Layer Fee Sniping

One of the game theoretical concerns with Bitcoin long term is an issue called fee sniping. Post block subsidy when most of miners’ revenue comes from fees, when abnormal fee spikes occur, miners actually do have an incentive to perform short reorg attacks and fight over blocks that collect those abnormally high fees. Right now if a huge fee spike occurs miners can always count on the block subsidy in the next block even if they missed out on that fee spike. As that subsidy disappears and miners depend on the variance of the fee market alone to pay the bills, exaggerated enough spikes in fees change the equation and make it worth reorging (or redoing work) for a time to fight over that exaggerated income. This will make sense until the cost of redoing work on the same block over and over with no reward collected approaches the point of being an economic loss, and then miners would rationally cease the fight.

The way that drivechains BMM specification works changes the dynamic of this. In traditional merge mining you would have to reorg the mainchain in order to reorg a sidechain. In drivechains you don’t. The same way that mainchain blocks have a pointer back to the previous block, drivechains do as well. The thing is, you don’t have to remove a commitment to a sidechain block in order to point to a different one. Look at this example below, the numbers in parentheses are the blocks the current one is pointing back to:

A sidechain block when using drivechains is just something committed to in the mainchain, and while the mainchain goes marching forward without going back, the sidechain can go back and forth between multiple forks. The sidechain software is still following a longest chain rule (which miners are trusted to respect), but unlike the mainchain reorgs those blocks don’t just disappear. The commitment to them still exists in the mainchain, and still needs to be scanned.

So what does this have to do with fee sniping? Everything. For miners to fee snipe on a sidechain it doesn’t require redoing work, it doesn’t require giving up the mainchain fees (or even fees from other sidechains). So when that sidechain miner collects twice the fees as normal and only pays the mainchain miners what they normally do, a mainchain miner can come along and reorg that block on the sidechain and collect the sidechain fees while the miner who received coins on chain for the original version of that sidechain block still keeps that fee. So the original sidechain miner earns nothing, and loses what they paid in mainchain fees. So one miner can feesnipe without the first miner losing what they earned. If a miner gets lucky, the same miner can even double collect the original fee on the mainchain and the sidechain fees by reorging it if they mine two blocks in a row. Only the sidechain miner who doesn’t mine on the mainchain loses money in this situation, and because they do not actually have hashrate there is nothing they can do about it.

Now in order for the mainchain miner to successfully pull this off, the sidechain miners have to build on their block instead of the original. If a pool is big enough, they have decent odds of just finding the next block themselves, where of course they will build on their own block. They could even openly bid like a sidechain-only miner to increase their odds. This would require paying an actual mainchain fee, but the initial reorg was free. Other miners might even just build on the reorg block instead of the original because it is more recent, those details come down to how the actual software implementation pools deploy is built.

Overall though there is a large asymmetry in risk between sidechain-only miners and mainchain miners when it comes to sidechain reorgs. Mainchain miners who have a sidechain block reorged from them suffer the opportunity cost of losing extra potential revenue, sidechain-only miners actually lose money they already had. And all of this occurs without a reorg disruption to the mainchain itself. This is a big disadvantage, and disincentive, for sidechain-only miners to participate in this process.

Even removing sidechain-only miners from the picture, this dynamic change still exists in a situation with only mainchain miners. If we look at mainchain miners doing this to each other though, the reality is it will likely fall into equilibrium where everyone isn’t achieving optimal profits, but greater than they would without sidechains. Some might question whether that would prevail given that 26% of miners can stop all pegout transactions from sidechains, and that the tail end of pools might do so in protest of disproportionate benefits for larger pools. All that would accomplish is to create an organic incentive for the majority of miners who stand to gain from the withdrawal going through to orphan the mainchain blocks of the miners stalling it. So while this still disproportionately benefits larger pools who will statistically find multiple blocks in a row more often, smaller pools have an incentive to accept it. This dynamic is yet another centralizing pressure for miners by itself, and also another reason the incentives push the arrangement towards miners validating and mining these sidechains themselves.

MEV

Miner Extractable Value is becoming a big problem, particularly in the ETH ecosystem. MEV is any type of method to profit where the miners/stakers/etc. have an asymmetric advantage over everyone else in collecting that profit. Typically this is done through controlling the order of transactions in a block, such as trades interacting with a DEX contract, but in abstract that is not strictly necessary. The profit margin that sidechain-only miners keep for themselves discussed above is itself a very basic form of MEV, it is value sitting on the table that miners have an advantage in being able to claim. This form of MEV is not very complicated, expensive to analyze, and is easily extractable by mainchain miners simply running basic sidechain software.

Let’s look at a transaction ordering form of MEV, like a DEX on ETH. Decentralized Exchange protocols allow non-custodial trading of assets between trading parties using a smart contract as a mediator. It atomically fulfills both sides of the trade, or none. The thing is though, if you can make a profit in making such a trade, the only way to collect it is if miners include that transaction in a block. And the simple fact of broadcasting that transaction gives miners the inside scoop on available profit before it’s actually confirmed in a block. This gives them the opportunity to front run you and collect those profits for themselves. A sidechain-only miner engaging in such activities would likely be able to bid much higher than other sidechain miners, getting much closer to 100% of the fee rewards directly available in that block. However, in doing so they signal to mainchain miners that an opportunity for even greater profit exists. Given that F2Pool is currently playing MEV games front running other Stacks participants, Luxor purchased and is building out Ordinalshub, miners looking to generate new streams of revenue is a fact of reality and not a hypothetical. This is yet another incentive for miners to become sidechain miners themselves.

But the MEV risk doesn’t stop there with just more miner centralization risk. There are situations where miners cannot just easily capture the MEV value themselves. Say a company or group ran a front end for a massive DEX to make it easier to use (almost every DEX on ETH has such players), and sourced the user orders before they even hit the mempool and privately constructed a block to bid for to mainchain miners. Mainchain miners wouldn’t be able to inspect the contents of this block until after it was confirmed and propagated between sidechain nodes, so they will be incapable of frontrunning in the mempool to extract this value, they would have to actually reorg and feesnipe the sidechain. This obviously would hurt the sidechain miner operating the DEX front end and the mainchain miner can be double paid, but the mainchain miner can never actually extract this value himself front running the mempool because the valuable transactions never enter it. And by reorging and putting the sidechain miner/DEX front end operator out of business, they are destroying that source of value. That’s a more involved effort, and more divergent from their main business of just running nodes, or selectively replacing things they see in their mempool.

There are also situations where mainchain miners extracting MEV is essentially impossible. Imagine a sidechain spun up specifically to facilitate payments for goods on Amazon, or integrate with some Amazon cloud service. The indirect new revenue this sidechain’s existence could generate is literally only capturable by Amazon. For miners to extract that value, they would literally have to build a company that would obsolete and replace Amazon. That’s just not happening.

So in the end not only do MEV risks on drivechains exacerbate incentives for mainchain miners to directly participate in them, it also has the possibility of introducing external influence into mining incentives. What if Amazon only shared its MEV value with the few biggest pools? It would incentivize miners to switch to them to earn a cut. It gives them a degree of direct influence over miners revenue streams.

But Merge Mining Already Exists

This is the common response to these concerns: merge mining already exists. Yes, it does, but for freely valued shitcoins. Namecoin is the common example brought up, but Namecoin represents essentially nothing in percentage terms of miners income. Numerous SHA256 coins have been merge mined with Bitcoin, almost none of them are anymore because their price crashed to the point of it not being worth the effort. That is the empirical historical trend here. Those systems observably do not pose anywhere near the same incentive risk as a coin pegged to Bitcoin, that cannot simply independently crash in price to the point that it’s not worth involving yourself with.

Some people might bring up federations, but the reality is no one seems to have interest in using federated sidechain pegs. They generate no demand, where there seems to be plenty of clambering for a drivechain hashrate escrow peg. That could fundamentally alter the equation here and create demand large enough to cause damaging incentive distortions where they otherwise wouldn’t exist. On the other side, mining pools setting up a federation would offer no real dynamic membership to who controls the coins (as the current keyholders would have to explicitly add new members and transfer coins), and gains no real value from being merge mined. It is also something mining pools that start it could run independently of actual miners, i.e. if 100% of hashrate left mining pools that started a federation, the pools with no hashrate could still operate it. They could sign blocks, and any prior merge mined scheme is essentially meaningless because the pools control the coins on chain. It’s essentially just a federation like Liquid that has some illusion of an overlap with mining at that point.

So, the big claims regarding drivechains are that mainchain miners do not have to care about them, and that they do not alter mining incentives in any way. I have laid out the biggest (but by no means all) of the arguments showing they do in fact alter them in very substantial ways. These costs should be something seriously considered when contemplating this proposal, as despite the claim by many drivechain advocates, they are very real.