Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?
Gavin, you assume that users must necessarily always follow the hashrate majority, but this is not true. In fact, it is the opposite: market forces make the hashrate follow the users. Not following the hashrate majority is not necessarily insane. If some users aren't happy with the new hardfork rules, they may never upgrade. This is discussed (although I want to improve the text) under the "Schism hardforks" section of BIP99 (which you may have some complaints against, so please review https://github.com/bitcoin/bips/pull/181/files#diff-e331b8631759a4ed6a4cfb4d10f473caR135 ). It is true that users of chain A may sell or their B-coins, but the opposite is also true: users in chain B may sell all their A-coins. Speculators will likely sell both and probably not buy again until the initial uncertainty is gone (or they may never buy again, nobody can predict this). Let's use an example. Let's assume that a hardfork is rolled out to completely remove the blocksize limit (I believe you would be against that from previous conversations with you). As long as there are users creating demand for the old-coins, there will be miners mining the old coins. This is not insane for neither users or miners no matter how big the majority of users and/or miners in the new rules chain. Again, probably the best place to discuss this kind of thing is https://github.com/bitcoin/bips/pull/181 or the bitcoin-dev thread linked from the BIP ( http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008936.html ). On Tue, Sep 29, 2015 at 8:23 PM, Allen Piscitello via bitcoin-devwrote: >>I started this thread as a sanity check on myself, because I keep seeing >> smart people saying that two chains could persist for more than a few days >> after a hard fork, and I still don't see how that would possibly work. > > When you start with the assumption that anyone who disagrees with you is > insane or crazy, I can see why you have such difficulty. > > > On Tue, Sep 29, 2015 at 1:01 PM, Gavin Andresen > wrote: >> >> We really shouldn't have to go over "Bitcoin 101" on this mailing list, >> and this discussion should move to the not-yet-created more general >> discussion list. I started this thread as a sanity check on myself, because >> I keep seeing smart people saying that two chains could persist for more >> than a few days after a hard fork, and I still don't see how that would >> possibly work. >> >> So: "fraud" would be 51% miners sending you bitcoin in exchange for >> something of value, you wait for confirmations and send them that something >> of value, and then the 51% reverses the transaction. >> >> Running a full node doesn't help. >> >> On Tue, Sep 29, 2015 at 1:55 PM, Allen Piscitello >> wrote: >>> >>> >A dishonest miner majority can commit fraud against you, they can mine >>> > only empty blocks, they can do various other things that render your money >>> > worthless. >>> >>> Mining empty blocks is not fraud. >>> >>> If you want to use terms like "honest miners" and "fraud", please define >>> them so we can at least be on the same page. >>> >>> I am defining an honest miner as one that follows the rules of the >>> protocol. Obviously your definition is different. >>> >>> On Tue, Sep 29, 2015 at 12:51 PM, Mike Hearn wrote: > > >because Bitcoin's basic security assumption is that a supermajority of > > miners are 'honest.' > > Only if you rely on SPV. No, you rely on miners honesty even if you run a full node. This is in the white paper. A dishonest miner majority can commit fraud against you, they can mine only empty blocks, they can do various other things that render your money worthless. >>> >>> >> >> >> >> -- >> -- >> Gavin Andresen > > > > ___ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
[bitcoin-dev] Is it possible for there to be two chains after a hard fork?
I keep seeing statements like this: On Tue, Sep 29, 2015 at 9:30 AM, Jonathan Toomim (Toomim Bros) via bitcoin-devwrote: > As a further benefit to hard forks, anybody who is ideologically opposed > to the change can continue to use the old version successfully, as long as > there are enough miners to keep the fork alive. ... but I can't see how that would work. Lets say there is a hard fork, and 5% of miners stubbornly refuse to go along with the 95% majority (for this thought experiment, it doesn't matter if the old rules or new rules 'win'). Lets further imagine that some exchange decides to support that 5% and lets people trade coins from that fork (one of the small altcoin exchanges would definitely do this if they think they can make a profit). Now, lets say I've got a lot of pre-fork bitcoin; they're valid on both sides of the fork. I support the 95% chain (because I'm not insane), but I'm happy to take people's money if they're stupid enough to give it to me. So, I do the following: 1) Create a send-to-self transaction on the 95% fork that is ONLY valid on the 95% fork (maybe I CoinJoin with a post-fork coinbase transaction, or just move my coins into then out of an exchange's very active hot wallet so I get coins with a long transaction history on the 95% side of the fork). 2) Transfer those same coins to the 5% exchange and sell them for whatever price I can get (I don't care how low, it is free money to me-- I will still own the coins on the 95% fork). I have to do step (1) to prevent the exchange from taking the transfer-to-exchange transaction and replaying it on the 95% chain. I don't see any way of preventing EVERYBODY who has coins on the 95% side of the fork from doing that. The result would be a huge free-fall in price as I, and everybody else, rushes to get some free money from anybody willing to pay us to remain idealogically pure. Does anybody think something else would happen, and do you think that ANYBODY would stick to the 5% fork in the face of enormously long transaction confirmation times (~3 hours), a huge transaction backlog as lots of the 95%'ers try to sell their coins before the price drops, and a massive price drop for coins on the 5% fork. -- -- Gavin Andresen ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?
You don't need to appeal to human psychology. At 75% threshold, it takes only 25.01% of the hashpower to report but not actually enforce the fork to cause the majority hashpower to remain on the old chain, but for upgraded clients to start rejecting the old chain. With 95% the same problem exists but with a threshold of 45.01%. BIP 66 showed this not to be a hypothetical concern. On Tue, Sep 29, 2015 at 7:17 AM, Jonathan Toomim (Toomim Bros) via bitcoin-devwrote: > At the 95% threshold, I don't think it would happen unless there was a > very strong motivating factor, like a small group believing that CLTV was a > conspiracy run by the NSA agent John Titor to contaminate our precious > bodily fluids with time-traveling traveler's cheques. > > At the 75% threshold, I think it could happen with mostly rational users, > but even then it's not very likely with most forks. With the blocksize > issue, there are some people who get very religious about things like > decentralization or fee markets and think that even 1 MB is too large; I > could see them making financial sacrifices in order to try to make a > small-block parallel fork a reality, one that is true to their vision of > what's needed to make Bitcoin true and pure, or whatever. > > > > > On Sep 29, 2015, at 7:04 AM, Gavin Andresen > wrote: > > I keep seeing statements like this: > > On Tue, Sep 29, 2015 at 9:30 AM, Jonathan Toomim (Toomim Bros) via > bitcoin-dev wrote: > >> As a further benefit to hard forks, anybody who is ideologically opposed >> to the change can continue to use the old version successfully, as long as >> there are enough miners to keep the fork alive. > > > ... but I can't see how that would work. > > Lets say there is a hard fork, and 5% of miners stubbornly refuse to go > along with the 95% majority (for this thought experiment, it doesn't matter > if the old rules or new rules 'win'). > > Lets further imagine that some exchange decides to support that 5% and > lets people trade coins from that fork (one of the small altcoin exchanges > would definitely do this if they think they can make a profit). > > Now, lets say I've got a lot of pre-fork bitcoin; they're valid on both > sides of the fork. I support the 95% chain (because I'm not insane), but > I'm happy to take people's money if they're stupid enough to give it to me. > > So, I do the following: > > 1) Create a send-to-self transaction on the 95% fork that is ONLY valid on > the 95% fork (maybe I CoinJoin with a post-fork coinbase transaction, or > just move my coins into then out of an exchange's very active hot wallet so > I get coins with a long transaction history on the 95% side of the fork). > > 2) Transfer those same coins to the 5% exchange and sell them for > whatever price I can get (I don't care how low, it is free money to me-- I > will still own the coins on the 95% fork). > > I have to do step (1) to prevent the exchange from taking the > transfer-to-exchange transaction and replaying it on the 95% chain. > > I don't see any way of preventing EVERYBODY who has coins on the 95% side > of the fork from doing that. The result would be a huge free-fall in price > as I, and everybody else, rushes to get some free money from anybody > willing to pay us to remain idealogically pure. > > Does anybody think something else would happen, and do you think that > ANYBODY would stick to the 5% fork in the face of enormously long > transaction confirmation times (~3 hours), a huge transaction backlog as > lots of the 95%'ers try to sell their coins before the price drops, and a > massive price drop for coins on the 5% fork. > > -- > -- > Gavin Andresen > > > > ___ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > > ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?
At the 95% threshold, I don't think it would happen unless there was a very strong motivating factor, like a small group believing that CLTV was a conspiracy run by the NSA agent John Titor to contaminate our precious bodily fluids with time-traveling traveler's cheques. At the 75% threshold, I think it could happen with mostly rational users, but even then it's not very likely with most forks. With the blocksize issue, there are some people who get very religious about things like decentralization or fee markets and think that even 1 MB is too large; I could see them making financial sacrifices in order to try to make a small-block parallel fork a reality, one that is true to their vision of what's needed to make Bitcoin true and pure, or whatever. On Sep 29, 2015, at 7:04 AM, Gavin Andresenwrote: > I keep seeing statements like this: > > On Tue, Sep 29, 2015 at 9:30 AM, Jonathan Toomim (Toomim Bros) via > bitcoin-dev wrote: > As a further benefit to hard forks, anybody who is ideologically opposed to > the change can continue to use the old version successfully, as long as there > are enough miners to keep the fork alive. > > ... but I can't see how that would work. > > Lets say there is a hard fork, and 5% of miners stubbornly refuse to go along > with the 95% majority (for this thought experiment, it doesn't matter if the > old rules or new rules 'win'). > > Lets further imagine that some exchange decides to support that 5% and lets > people trade coins from that fork (one of the small altcoin exchanges would > definitely do this if they think they can make a profit). > > Now, lets say I've got a lot of pre-fork bitcoin; they're valid on both sides > of the fork. I support the 95% chain (because I'm not insane), but I'm happy > to take people's money if they're stupid enough to give it to me. > > So, I do the following: > > 1) Create a send-to-self transaction on the 95% fork that is ONLY valid on > the 95% fork (maybe I CoinJoin with a post-fork coinbase transaction, or just > move my coins into then out of an exchange's very active hot wallet so I get > coins with a long transaction history on the 95% side of the fork). > > 2) Transfer those same coins to the 5% exchange and sell them for whatever > price I can get (I don't care how low, it is free money to me-- I will still > own the coins on the 95% fork). > > I have to do step (1) to prevent the exchange from taking the > transfer-to-exchange transaction and replaying it on the 95% chain. > > I don't see any way of preventing EVERYBODY who has coins on the 95% side of > the fork from doing that. The result would be a huge free-fall in price as I, > and everybody else, rushes to get some free money from anybody willing to pay > us to remain idealogically pure. > > Does anybody think something else would happen, and do you think that ANYBODY > would stick to the 5% fork in the face of enormously long transaction > confirmation times (~3 hours), a huge transaction backlog as lots of the > 95%'ers try to sell their coins before the price drops, and a massive price > drop for coins on the 5% fork. > > -- > -- > Gavin Andresen > signature.asc Description: Message signed with OpenPGP using GPGMail ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?
>A dishonest miner majority can commit fraud against you, they can mine only empty blocks, they can do various other things that render your money worthless. Mining empty blocks is not fraud. If you want to use terms like "honest miners" and "fraud", please define them so we can at least be on the same page. I am defining an honest miner as one that follows the rules of the protocol. Obviously your definition is different. On Tue, Sep 29, 2015 at 12:51 PM, Mike Hearnwrote: > >because Bitcoin's basic security assumption is that a supermajority of >> miners are 'honest.' >> >> Only if you rely on SPV. >> > > No, you rely on miners honesty even if you run a full node. This is in the > white paper. A dishonest miner majority can commit fraud against you, they > can mine only empty blocks, they can do various other things that render > your money worthless. > ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?
We really shouldn't have to go over "Bitcoin 101" on this mailing list, and this discussion should move to the not-yet-created more general discussion list. I started this thread as a sanity check on myself, because I keep seeing smart people saying that two chains could persist for more than a few days after a hard fork, and I still don't see how that would possibly work. So: "fraud" would be 51% miners sending you bitcoin in exchange for something of value, you wait for confirmations and send them that something of value, and then the 51% reverses the transaction. Running a full node doesn't help. On Tue, Sep 29, 2015 at 1:55 PM, Allen Piscitello < allen.piscite...@gmail.com> wrote: > >A dishonest miner majority can commit fraud against you, they can mine > only empty blocks, they can do various other things that render your money > worthless. > > Mining empty blocks is not fraud. > > If you want to use terms like "honest miners" and "fraud", please define > them so we can at least be on the same page. > > I am defining an honest miner as one that follows the rules of the > protocol. Obviously your definition is different. > > On Tue, Sep 29, 2015 at 12:51 PM, Mike Hearnwrote: > >> >because Bitcoin's basic security assumption is that a supermajority of >>> miners are 'honest.' >>> >>> Only if you rely on SPV. >>> >> >> No, you rely on miners honesty even if you run a full node. This is in >> the white paper. A dishonest miner majority can commit fraud against you, >> they can mine only empty blocks, they can do various other things that >> render your money worthless. >> > > -- -- Gavin Andresen ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?
> > Mining empty blocks is not fraud. > I didn't say it was, sorry, the comma was separating two list items. By "fraud" I meant double spending. Mining only empty blocks would be a DoS attack rather than double spending. ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?
>If you start with the premise that more than half of Bitcoin miners would do something crazy that would either destroy Bitcoin or would be completely unacceptable to you, personally... then maybe you should look for some other system that you might trust more, because Bitcoin's basic security assumption is that a supermajority of miners are 'honest.' Miners not being crazy does not mean they are infallible. They may misjudge the market and change their minds about what is the most reasonable action based on new information. Their commitment to one fork or another is very dynamic, and is a huge assumption missing. They may overestimate their influence, support of the economy. Other factors may come into play that no one thought of, and they can revert back at any point. Labeling things as insane or crazy is not productive. >because Bitcoin's basic security assumption is that a supermajority of miners are 'honest.' Only if you rely on SPV. On Tue, Sep 29, 2015 at 12:35 PM, Gavin Andresenwrote: > On Tue, Sep 29, 2015 at 1:24 PM, Allen Piscitello < > allen.piscite...@gmail.com> wrote: > >> I fail to see how always following a majority of miners no matter what >> their actions somehow equates to insanity. > > > Ok, I have a hidden assumption: I assume most miners are also not > completely insane. > > I have met a fair number of them, and while they are often a little bit > crazy (all entrepreneurs are a little bit crazy), I am confident that the > vast majority of them are economically rational, and most of them are also > meta-rational: they want Bitcoin to succeed. We've seen them demonstrate > that meta-rationality when we've had accidental consensus forks. > > If you start with the premise that more than half of Bitcoin miners would > do something crazy that would either destroy Bitcoin or would be completely > unacceptable to you, personally... then maybe you should look for some > other system that you might trust more, because Bitcoin's basic security > assumption is that a supermajority of miners are 'honest.' > > -- > -- > Gavin Andresen > > ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?
On Tue, Sep 29, 2015 at 1:24 PM, Allen Piscitello < allen.piscite...@gmail.com> wrote: > I fail to see how always following a majority of miners no matter what > their actions somehow equates to insanity. Ok, I have a hidden assumption: I assume most miners are also not completely insane. I have met a fair number of them, and while they are often a little bit crazy (all entrepreneurs are a little bit crazy), I am confident that the vast majority of them are economically rational, and most of them are also meta-rational: they want Bitcoin to succeed. We've seen them demonstrate that meta-rationality when we've had accidental consensus forks. If you start with the premise that more than half of Bitcoin miners would do something crazy that would either destroy Bitcoin or would be completely unacceptable to you, personally... then maybe you should look for some other system that you might trust more, because Bitcoin's basic security assumption is that a supermajority of miners are 'honest.' -- -- Gavin Andresen ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?
>I started this thread as a sanity check on myself, because I keep seeing smart people saying that two chains could persist for more than a few days after a hard fork, and I still don't see how that would possibly work. When you start with the assumption that anyone who disagrees with you is insane or crazy, I can see why you have such difficulty. On Tue, Sep 29, 2015 at 1:01 PM, Gavin Andresenwrote: > We really shouldn't have to go over "Bitcoin 101" on this mailing list, > and this discussion should move to the not-yet-created more general > discussion list. I started this thread as a sanity check on myself, > because I keep seeing smart people saying that two chains could persist for > more than a few days after a hard fork, and I still don't see how that > would possibly work. > > So: "fraud" would be 51% miners sending you bitcoin in exchange for > something of value, you wait for confirmations and send them that something > of value, and then the 51% reverses the transaction. > > Running a full node doesn't help. > > On Tue, Sep 29, 2015 at 1:55 PM, Allen Piscitello < > allen.piscite...@gmail.com> wrote: > >> >A dishonest miner majority can commit fraud against you, they can mine >> only empty blocks, they can do various other things that render your money >> worthless. >> >> Mining empty blocks is not fraud. >> >> If you want to use terms like "honest miners" and "fraud", please define >> them so we can at least be on the same page. >> >> I am defining an honest miner as one that follows the rules of the >> protocol. Obviously your definition is different. >> >> On Tue, Sep 29, 2015 at 12:51 PM, Mike Hearn wrote: >> >>> >because Bitcoin's basic security assumption is that a supermajority of miners are 'honest.' Only if you rely on SPV. >>> >>> No, you rely on miners honesty even if you run a full node. This is in >>> the white paper. A dishonest miner majority can commit fraud against you, >>> they can mine only empty blocks, they can do various other things that >>> render your money worthless. >>> >> >> > > > -- > -- > Gavin Andresen > ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev