BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Understanding the Bitcoin sidechain solution Drivechain: How to achieve two-way anchoring between Bitcoin and multiple sidechains?

马赫区块链
特邀专栏作者
This article is about 4186 words, reading the full article takes about 6 minutes
Drivechain uses the "computing power hosting" solution to realize the anchoring between Bitcoin and the side chain, which is simple and more incentivizing.
AI Summary
Expand
Drivechain uses the "computing power hosting" solution to realize the anchoring between Bitcoin and the side chain, which is simple and more incentivizing.

Original title: "Popular Science | What is Drivechain?" "
Written by: fiatjaf

Before understanding Drivechain, we must first change the mindset that most Bitcoin users are accustomed to. The key to understanding Drivechain is not "trust-free" or "mathematical certainty", but game theory and incentives. (The same is true of Bitcoin in general, but people tend to ignore this and indulge in the trustless assumptions that mathematics brings.)

This article will introduce the basic principles (simple) and incentives (complex) of "hashrate escrow", and how it achieves two-way anchoring between the main chain (Bitcoin) and multiple side chains.

The full concept of "Drivechain" also involves blind merged mining (that is, sidechains self-mine by posting block hashes to the mainchain without requiring miners to run sidechain mining software), but This concept is much easier to understand and can be achieved through BIP 301 mechanism or Spacechains mechanism.

How does escrow work from a Bitcoin perspective?

We need to create a new address type. All tokens entering such addresses will be locked, and only when all miners reach a consensus on the withdrawal transaction (WT^) within 6 months, can the tokens on this address be used. Each sidechain has such an address on the Bitcoin blockchain.

To gather miner consensus, bitcoind tracks a "score" of all transactions that want to spend coins on a particular address. Whenever a new block is mined on a side chain, the miner can use the coinbase transaction to increase the score of one WT^ by 1, and subtract 1 from all other WT^ scores; or subtract 1 from all WT^ scores ; or do nothing. (Translator's Note: The "miners" here refer to the miners of the Bitcoin main chain.)

When a transaction scores high enough, the transaction is published on-chain, transferring assets from the sidechain to the user who initiated the withdrawal transaction.

WT^ whose scores failed to meet the threshold within 6 months were discarded.

What is the point of the above process?

The above process means that users can transfer tokens from the main chain to the side chain by depositing them into a special address, and then withdraw the tokens on the side chain through a special withdrawal transaction.

Special transactions can freeze tokens on the side chain in some way, and then all withdrawal requests will be aggregated into a main chain WT^ and submitted to the main chain miners for voting by the main chain miners. After a few months, the voted WT^ will be released to the chain.

Now, the most critical part: the validity of WT^ is not verified by the Bitcoin main chain rules, i.e., if Bob has requested a withdrawal from the sidechain to his address on the main chain, but someone issued a wrong WT^ , sending the tokens that originally belonged to Bob to Alice’s address on the main network, which is unknown to the main chain. Whether WT^ is valid depends only on the miners' voting scores. It is the miner's job to vote correctly - for this they may want to run the sidechain's SPV (Simple Payment Verification) node in order to witness that a reference to the WT^ transaction exists on the sidechain blockchain (and then verify that it is valid), Or verify by other means.

What? Waiting 6 months to get my money back?

Yes and no. In fact, users who want to get their tokens back can use atomic swap, submarine swap, or other similar services to transfer tokens in both directions between the sidechain and the mainchain. The cost of the longer withdrawal delay period will be borne by the few liquidity providers who want to profit from it.

Why bother?

Drivechain can solve many different problems:

Catalyze experiments and new use cases on Bitcoin

Issuing assets, fully private transactions, stateful blockchain contracts, Turing completeness, decentralized games, some DeFi ideas, prediction markets, Futarchy, decentralized and meaningful human-readable domain names, contains a lot of common transactions Megablocks, a blockchain optimized for the Lightning Network, and more...

These ideas may have great value, but no one has ever really tried them because they cannot be implemented or interacted with by real bitcoins. These ideas can only fall back to the next best thing, either relying on junk coins, or seeking custody solutions such as Liquid or RSK. Perhaps it is for this reason that they failed to form a network effect.

resolve conflicts and internal disagreements

Some people want to realize completely private transactions in UTXO mode, while others want to bind their names and reputations to "accounts"; some people want a simple multi-signature solution, and some people prefer to read Complex codes that take a lot of variables; some people want to batch transactions on the chain every 10 minutes, some people want to lock funds in the channel to realize instant transactions off the chain; some people want to use tokens, Some people just want to hold tokens; some people want to use blockchain technology to solve all the problems in the world, and some people just want to use blockchain technology to reshape currency.

Sidechain solutions based on Drivechain can eliminate the differences between people and make everyone happy. At the same time, even if they are reluctant, people will use the same currency and contribute to each other's ecology. Plus, people are free to switch camps, reducing cognitive dissonance.

Solve the expansion problem

Many chains (such as those mentioned above) are pulling out all the stops to increase the throughput of Bitcoin. It is possible that we will see special lightning network chains, even normal chains or mimblewimble chains and so on that are made of huge blocks can do this. There are even dumb ways, like running 200 independent blockchains (you can call them "shards") similar to Bitcoin and not having other functions, so that you can increase the current throughput of Bitcoin by 200 times .

Solving Blockchain’s Security Budget Problem

The security budget is simple to calculate: first think about what you think a reasonable security budget for each block would be without the block subsidy, and then divide it by the number of bytes a block can hold to calculate the number of bytes per block. What is the price of a byte in satoshi. If estimates are reasonable, each Bitcoin transaction requires users to pay a large number of satoshi, such a high cost not only makes it unsuitable for daily transactions, but also makes it impractical to open and close Lightning channels.

So without a solution like Drivechain, you're left with only one option: have a trusted service provider like Liquid and RSK, or a custodial Lightning wallet spend Bitcoin on your behalf. However, with Drivechain, it is possible for thousands of transactions to occur on the sidechain, all packaged into a sidechain block, and then paid a high fee (via blind merge mining) to publish to the mainchain. The security of Bitcoin is guaranteed.

Maintain Bitcoin's decentralization

Once we hand over ordinary transactions to the side chain, the main chain is just a "hub" for side chain assets to enter and exit, and then we can reduce the upper limit of the block size of the main chain to a small value (such as 100 KB), greatly Reduce the difficulty of running the full node.

Can miners steal?

Can. If a group of miners conspire to control the majority of computing power and maintain it for 6 months, they can issue a WT^ to take all the money on the sidechain and transfer it to their own account.

Do miners steal?

No, because it's not worth it.

While it may appear at first glance that a miner can make a ton of money stealing for free, there are many costs involved:

  • Stopping the revenue loss from blind merge-mining — the theft would destroy the sidechain, so all the transaction fees miners were expected to earn for years to come are gone.

  • The cost of being an enemy of community justice — Once involved in stealing, miners will be strongly resisted by the community, which cannot be ignored. If the malicious miners are publicly identified entities, they may be subject to personal injury, death threats, or sanctions from the national judicial system.

  • Collusion costs - assuming that miners are ordinary salesmen, they just want to do their own work and get paid, but stealing requires cooperation with other miners. It's easy to break up.

  • Miner Churn Costs — What we call “miners” are actually pool operators, so they must consider the risk of miners migrating to other pools before they start stealing.

  • The cost of falling bitcoin prices - Once the theft is successful, it means that Drivechain is unsafe, the usability of bitcoin will decrease, and the reputation of miners will also be damaged, which may lead to a decline in bitcoin prices, affecting the business and operation of miners income.

  • Another effect of being an enemy of community justice is that if miners try to steal for their own self-interest, even if they fail in the end, it will deepen the community’s concerns about the miners’ excessive power in the Bitcoin ecosystem, which may eventually lead to the community agreeing to pass Hard forks to change the mining algorithm, or introduce more entities into the mining process (e.g., develop new ASIC miners), which have the potential to reduce profits for current miners.

Another point to consider is that people assume that newly created sidechains or sidechains with low usage are more likely to be hacked because of the lower rewards of blind merge mining (see "1") - but in fact, using The side chain with a low rate does not have much money to steal, and other costs besides "1" cannot be avoided, so it is not worth stealing.

The above considerations only make sense if miners steal good sidechains. If a sidechain is inherently problematic, such as deceiving users, not being used, or full of loopholes, miners can destroy it, and people will only applaud.

What should we do if miners steal?

Paul Sztorc has suggested that miner theft can be prevented by user-activated soft forks, i.e. most Bitcoin users and nodes pass the rules proposed here to invalidate erroneous WT^. In this way, other nodes will not accept the block containing the WT^, and the miners who packaged the block will be forked out.

This suggestion makes people mistakenly think that Drivechain, a side chain solution, relies on users to activate soft forks to ensure security, but this is not the case. While soft forks are possible, Drivechain absolutely cannot and will not rely on soft forks because the coordination costs are too high and no one would want them to happen.

If miners ignore these counter-incentives (mentioned above) and insist on stealing from a good sidechain. This shows that the Drivechain experiment has failed, and it probably means that the Bitcoin experiment has also failed, because it proves that miners can ignore economic and social pressure for a long time to do evil together, and it is very likely that they are targeting Bitcoin. State or other power support. Therefore, Bitcoin transactions on the main chain are no longer safe.

Why choose Drivechain over other mature trustless sidechain technologies?

Because such a thing does not exist.

If you hear someone say "just use a sidechain", "do this in a sidechain", etc., please note that they are not talking about a "consortium" sidechain (i.e., where funds are held jointly by a group of entities) It's Drivechain, or it's just whimsical and thinks there are other ways to run sidechains.

No, I mean a trustless two-way peg, where the Bitcoin protocol verifies that withdrawals are correct!

This is impossible unless Bitcoin verifies all transactions on the sidechain, which is tantamount to greatly increasing the block size limit and extending Bitcoin's rules, which is really not a good idea.

What about the Blockstream sidechain white paper?

Yes, this is also a way. Conceptually, Drivechain computing power hosting is not only simpler, but also more incentivized, less garbage on the chain, and more secure.

Isn’t computing power escrow a kind of complicated soft fork?

Yes, but it's much easier than SegWit. Unlike SegWit, Drivechain hashrate escrow doesn't force users to accept anything, i.e. it doesn't enforce a block size cap increase.

Why do we expect miners to actively participate in the voting mechanism?

Because it is in the interests of the miners themselves, and the cost is very low. Today, more than half of the miners are mining RSK. Unlike blind merge mining, this is a very complex process that requires miners to run RSK full nodes. For a Drivechain sidechain, an SPV node is enough, or getting data directly from the block explorer API is much simpler.

What if I still don't like Drivechain after reading this article?

That's the point! You don't have to like Drivechain or use it, as long as you accept others using it. The computing power hosting address will not affect you at all, the verification cost is extremely low, and the migration of other people to the side chain will allow you to enjoy more space on the main chain. The other is the point mentioned in the "Internal differences" section above.

Cross-chain
Welcome to Join Odaily Official Community