Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?

2015-09-30 Thread Jorge Timón via bitcoin-dev
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-dev
 wrote:
>>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?

2015-09-29 Thread Gavin Andresen via bitcoin-dev
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


Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?

2015-09-29 Thread Mark Friedenbach via bitcoin-dev
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-dev  wrote:

> 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?

2015-09-29 Thread Jonathan Toomim (Toomim Bros) via bitcoin-dev
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
> 



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?

2015-09-29 Thread Allen Piscitello via bitcoin-dev
>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.
>
___
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?

2015-09-29 Thread Gavin Andresen via bitcoin-dev
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


Re: [bitcoin-dev] Is it possible for there to be two chains after a hard fork?

2015-09-29 Thread Mike Hearn via bitcoin-dev
>
> 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?

2015-09-29 Thread Allen Piscitello via bitcoin-dev
>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 Andresen 
wrote:

> 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?

2015-09-29 Thread Gavin Andresen via bitcoin-dev
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?

2015-09-29 Thread Allen Piscitello via bitcoin-dev
>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 <
> 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