Skip to content

Instantly share code, notes, and snippets.

@fiatjaf
Created June 27, 2021 19:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fiatjaf/38b49a4e88aaba308c53f2f61032cb68 to your computer and use it in GitHub Desktop.
Save fiatjaf/38b49a4e88aaba308c53f2f61032cb68 to your computer and use it in GitHub Desktop.
Drivechain Checklist

Drivechain Checklist

Check the boxes you understand and agree with. If you check more than 75% of the boxes you're a Drivechain maximalist. Otherwise you need treatment, join https://t.me/DCinsiders and ask for help.

  • Sidechains are chains independent of Bitcoin consensus. They don't add any burden to the Bitcoin full nodes.
  • Sidechains use bitcoins (BTC) as their base currency, not any shitcoin.
  • Sidechains can have different rules, implement different features, be developed by different teams.
  • Using a sidechain is completely optional.
  • Sidechains are expected to be blindly merge-mined with Bitcoin, which means they increase the Bitcoin security budget without adding any burden to the normal Bitcoin miners.
  • There are useful features that can be implemented in sidechains that we can't implement in Bitcoin today (and we don't want either, because it would clog the Bitcoin main chain which is already too small and want it to remain small).
  • Some of these desirable features exist in shitcoins, but they're useless in these shitcoins because shitcoins don't use Bitcoin nor contribute to the Bitcoin security. They would be useful in sidechains, though. Some examples: Zcash, Monero, Sia, Namecoin, Mimblewimble (you don't have to agree with these examples specifically).
  • Some of these desirable features don't exist in shitcoins because they were never invented or because they were never released as shitcoins, for example, Bitcoin Hivemind.
  • To enable sidechains there must be a way to move funds to and from a sidechain.
  • The hashrate escrow is a bucket of all the funds that were pegged to one specific sidechain.
  • Anyone can send funds to the hashrate escrow, but to spend from it, mining pools must vote on a given withdrawal-transaction (WT) for a period of 3~6 months.
  • Each block mined gives the mining pool the right to one vote (for each sidechain), a vote on a specific WT entails a negative vote on all the others. Mining pools can abstain from voting, or vote negative on all.
  • Once one WT has enough votes it can be published on the main chain and people can get their money.
  • Normal people don't have to wait 6 months to withdraw because they can use atomic swaps or third-party services to exchange mainbitcoin for sidebitcoin.
  • Every 3~6 months mining pools will have to use some googling, or ask someone, or run a sidechain SPV node for 5 minutes, to be able to know which WT is good. Then they can just vote on that continuously.
  • To steal from hashrate escrows, mining pools would have to collude to get a majority of hashrate (how much depends on how much the rest is opposing the steal and how much is abstaining), then this collusion would have to publicly announce itself as it starts voting on an invalid WT, and keep colluding for 6 months.
  • When considering stealing, mining pools would have to assess all the risks associated with possibly destroying the trust in Bitcoin now that it would have been proven that mining pools can collude and do evil things -- and thus all the value in coins they would earn from the steal.
  • When considering stealing, mining pools would be giving up all the extra revenue generated by all the sidechains that is automatically earned by them as transaction fees on the main chain.
  • For the steal to be successful, miners affiliated with these mining pools would have to continuously cooperate with them and not migrate to other mining pools, even though these individual miners are not likely to earn anything from the steal, and they have everything to lose, in devaluation of their coins and in future merge-mined fees.
  • Even if a group of mining pools succeed in stealing from a sidechain, no one does anything and Bitcoin isn't destroyed, this would not be a failure in the Bitcoin protocol, and the only people who would have lost their money are those who voluntarily decided to participate in the sidechains.
  • Enabling Drivechain allow the main chain to ossify and all new features be implemented in sidechains, which means there is less risk for the protocol to be perverted in the future or the 21m limit be removed.
  • Enabling Drivechain allow much more users to own their keys and their coins, and be running a full Bitcoin node, thus allowing the protocol to remain decentralized, while not enabling Drivechain increases the incentives for centralizing coin ownership into the hands of a few custodians, making Bitcoin easier to be perverted.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment