Objection 1: Drivechain introduces new costs to miners
Example argument: “DC node = more validation costs = higher minimum requirement for profitable mining. And they absolutely do gain an advantage, extra income.” @brian_trollz
Me expanding on that idea (and hopefully not turning it into a strawman): Adding costs to miners shuts out some new entrants. Mining is already a pretty expensive field to enter, e.g. a rig with the latest asics can cost $10,000 or more. Keeping the cost of mining low allows people to mine at home. If mining becomes an ever more costly industry to enter, existing players and the very wealthy might take it over completely, giving them power to censor transactions.
My answer: Drivechain doesn’t introduce new costs to miners. Running sidechain software is optional for every miner. One reason why a miner might choose to completely avoid it is because they earn revenue without doing anything new. Drivechain users have to pay bitcoin fees to commit their drivechain’s blocks to bitcoin. Bitcoin miners can just sit back and let those fees roll in. They have the option to run a drivechain node, validate its transactions, and personally commit the drivechain’s blocks to bitcoin (and thus collect fees on the drivechain in addition to bitcoin fees), but they don’t have to. They make money either way.
Another answer: Drivechains don’t introduce sidechain costs because sidechains already exist. You can’t introduce something that’s already here. Sidechains like namecoin and rootstock, as well as my sidechain launcher, already pay bitcoin miners to commit to sidechain blocks in bitcoin’s blockchain. Today, right now, without drivechain, most mining pools run sidechain software to collect fees on sidechains in addition to collecting bitcoin fees. Running sidechain software has a cost, but most pools choose to do it anyway because the revenue outweighs the cost. Drivechain is better than today’s sidechains, but drivechains don’t cost more to run than sidechains do today, and – like with today’s sidechains – they are completely optional. Only the miners who want to do drivechain stuff run drivechain nodes.
Objection 2: Drivechain introduces new fees for miners
Example argument: “this is a big reason for which I'm against bip300. It creates new perverted incentives for miners to extract more value from the ordering of the transactions or reorgs besides the fees they get from layer 1.” @zndtoshi
Me expanding on that idea (and hopefully not turning it into a strawman): Hacks and forks on a drivechain can lead some users to try to withdraw coins that other users claim are theirs. Both sides might clamor for bitcoin miners to block someone else’s withdrawal, and get hysterical and demand that bitcoin miners orphan a bitcoin block if a contentious withdrawal occurs in it. If a significant part of a miner’s revenue comes from that drivechain, that miner might listen to the drivechain’s users. Problems on the drivechain can therefore overflow to bitcoin, leading to reorgs and forks on bitcoin (hugely disruptive) to fix the drivechain’s problems.
My answer: I agree that some miners are likely to respond to contention on drivechains and I don’t think that’s a bad thing. The practice will do them good. If the future world relies on bitcoin to process its transactions, bitcoin will have to deal with the contentious parts. Fork fights are nothing, imagine a world where nations in a real war pressure miners to orphan blocks containing payments to their adversaries. If bitcoin has weaknesses in this area, if people can pay our miners to orphan our blocks and reorg our chain, I’d like to find out sooner rather than later. Let the sidechainers try their hardest to censor transactions on bitcoin. If they succeed, that means bitcoin has a vulnerability, and we will either fix it or learn it can’t be fixed. Either is better than fleeing the fight. The fight will come, and I’d like to be ready.
Another answer: This argument and the previous one both seem to assume that anything miners do other than mine bitcoin is bad and dangerous. Every economic action miners take will either bring profits or losses, failure or success, and either one can have an impact on miner incentives. Any new source of income for a miner, and any new cost, is a new way for someone to pressure them to do their bidding, a new way to twist the knife. But nonetheless, miners will seek out new sources of revenue – they are already doing it – and they will deal with the new costs they bring. That’s how each miner finds their edge. Drivechain doesn't "introduce" costs or fees, it recognizes that they are here and tries to leverage them to the advantage of bitcoin’s users.
Objection 3: Miners can steal
Example argument: “The miners control withdrawals from drivechain to main chain. Essentially miners can steal coins if they want, which is not possible on main chain.” @vega113t
Me expanding on that idea (and hopefully not turning it into a strawman): Drivechain funds can be withdrawn to any bitcoin address as long as 51% of miners approve the withdrawal. This is supposed to be used by drivechain users to request that miners process a withdrawal of the user’s own coins to the user’s own bitcoin address, but nothing stops miners from withdrawing all the money in a drivechain and sending it to themselves. Therefore drivechain is essentially a new form of custody, and if it gets into bitcoin that sends a bad message. It says custody is fine, custody is a scaling solution, custody is approved by a consensus of bitcoin nodes, and at that point you might as well tell everyone to use coinbase.
My answer: You can make something an option for those who want it without recommending it for general use. I wouldn’t use drivechain if it was an option because I don’t want 51% of miners to custody my money. For a similar reason, I don’t use current sidechains, where some percentage of a fixed federation holds all the money. But that’s my personal preference. Even though I don’t use current sidechains, I think it’s good that people have the option to use them, notwithstanding that federated pegs are a type of custody. I want them to have the same option to use drivechain’s miner-enforced peg mechanism even though it’s also a type of custody. That doesn’t send the message that custody is recommended, only that freedom is a good thing. If you decide you want to use a drivechain, I don’t want to stop you, just inform you of the tradeoffs.
Objection 4: There are no compelling use cases for drivechain
My answer: It seems to me that the compelling use case is to use bitcoin on three sidechains: one with monero’s privacy, one with the additional scripting functions of liquid or ethereum, and a "big block" one. (There are a few others but those are the only ones I hear lots of people say they want.) It’s true that you can already use bitcoin on current sidechains that have these properties, but in current sidechains the "peg out" mechanism relies on the honesty of a fixed federation, and some people think having 51% of miners hold the money is an improvement.
I personally think it’s an improvement in terms of censorship resistance. In a federated peg, the individual members of the federation can be corrupted or even eliminated by powerful forces of governments and corporate interests, and the security of the federation can be silently degraded in this way. With miners, when one leaves, another takes their place, and so the set of miners changes dynamically, even daily. Therefore drivechain gives us meaningfully better sidechains than the ones we have today, and I think that’s a good thing, because I’m a fan of tools for greater censorship resistance.
Objection 5: I don’t personally want to use drivechain so I have no incentive to help activate it
My answer: Freedom is the incentive for me. I’ve reviewed bip300 and decided that the code change is simple and harmless to me, it brings new revenue to miners, and some people want to use it to make better sidechains than the ones we have today. It seems like a good deal. Also, the very act of bringing in new freedom and new options can also bring in new users. That benefits all of us because the more users there are in bitcoin, the greater its network effects. A monetary system with more people, all other things being equal, is better than a monetary system with fewer people, because it means you can transact with more people and have consensus on a base monetary unit. So I support drivechain and am happy to help people test out the code. Let me know if you want to try a sidechain on the bip300 testnet.
OP_CHECKSEQUENCEVERIFY
, which is the timelock where you can only spend your coins after waiting X blocks. Bip300's new timelock is different because it lets miners increase the value of X through a 51% vote. That way, if two people try to withdraw the same coins from a sidechain whose deposit address uses this timelock, miners have time to decide which one should "win," and their ability to increase the value of X lets them pause one withdrawal attempt, if necessary, to let the other one go through. But since it takes 51% of miners to lengthen the timelock, 51% of miners have to agree on which withdrawal attempt should "win."