Re: [Bitcoin-development] Block Size Increase Requirements

2015-05-31 Thread Gavin Andresen
On Sun, May 31, 2015 at 10:59 AM, Jorge Timón jti...@jtimon.cc wrote:

 Whatever...let's use the current subsidies, the same argument applies,
 it's just 20 + 25 = 45 btc per block for miner B vs 27 btc for miner B.
 Miner B would still go out of business, bigger blocks still mean more
 mining and validation centralization

Sorry, but that's ridiculous.

If Miner B is leaving 18BTC per block on the table because they have bad
connectivity, then they need to pay for better connectivity.

If you are arguing I should be able to mine on a 56K modem connection from
the middle of the Sahara then we're going to have to agree to disagree.

So: what is your specific proposal for minimum requirements for
connectivity to run a full node? The 20MB number comes from estimating
costs to run a full node, and as my back-and-forth to Chang Wung shows, the
costs are not excessive.

-- 
--
Gavin Andresen
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Block Size Increase Requirements

2015-05-31 Thread Jorge Timón
On May 31, 2015 5:08 PM, Gavin Andresen gavinandre...@gmail.com wrote:

 On Sun, May 31, 2015 at 10:59 AM, Jorge Timón jti...@jtimon.cc wrote:

 Whatever...let's use the current subsidies, the same argument applies,
it's just 20 + 25 = 45 btc per block for miner B vs 27 btc for miner B.
 Miner B would still go out of business, bigger blocks still mean more
mining and validation centralization

 Sorry, but that's ridiculous.

 If Miner B is leaving 18BTC per block on the table because they have bad
connectivity, then they need to pay for better connectivity.

Well, I was assuming they just can't upgrade their connection (without
moving thei operations to another place). Maybe that assumption is
ridiculous as well.

 If you are arguing I should be able to mine on a 56K modem connection
from the middle of the Sahara then we're going to have to agree to
disagree.

No, I'm not suggesting that.

 So: what is your specific proposal for minimum requirements for
connectivity to run a full node? The 20MB number comes from estimating
costs to run a full node, and as my back-and-forth to Chang Wung shows, the
costs are not excessive.

Well, you were I think assuming a new desktop connecting from somewhere in
the US. I would be more confortable with an eee pc from a hotel in India,
for example. But yeah, targeting some concrete minimum specs seems like the
right approach for deciding how far to go when increasing centralization.

But hitting the limit will be chaos seems to imply that completely
removing the consensus maximum blocksize is the only logical solution. What
happens when we hit the limit next time? When do we stop kicking the can
down the road? When do we voluntarily get that chaos?
Again, that's too far away in the future to worry about it is not a very
conving answer to me.
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] [Bulk] Re: Fwd: Block Size Increase Requirements

2015-05-31 Thread Gavin Andresen
On Sun, May 31, 2015 at 9:31 AM, gb kiw...@yahoo.com wrote:

 Aren't you calculating bandwidth for a singly-connected node? A highly
 connected miner could have 30-100 node connections so you probably need
 to increase your traffic estimates by that factor.

 I.e. For 100MB blocks, 30-100 Mbps and $60-$100 per day data costs.


No, randomly connected gossip networks (which is what the Bitcoin p2p
network is) don't work that way, bandwidth is (roughly) O(N) where N is the
number of bytes relayed to everybody.

(it is actually a small multiple of N, because of the overhead of 'inv'
messages, and if we ever get really serious about scaling up we'll need to
fix the protocol to reduce that overhead, but that won't be a problem for
years).


-- 
--
Gavin Andresen
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: Block Size Increase Requirements

2015-05-31 Thread Ricardo Filipe
He also said that the equation for miners has many variables, as it
should. There is no disadvantage if the network speed is the same
between the miners. If there is a difference in network speed, the
miner is incentivized to invest in their network infrastructure.

2015-05-31 23:55 GMT+01:00 Alex Mizrahi alex.mizr...@gmail.com:
 Yes, if you are on a slow network then you are at a (slight) disadvantage.
 So?


 Chun mentioned that his pool is on a slow network, and thus bigger blocks
 give it an disadvantage. (Orphan rate is proportional to block size.)
 You said that no, on contrary those who make big blocks have a disadvantage.
 And now you say that yes, this disadvantage exist.

 Did you just lie to Chun?


 --

 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development


--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: Block Size Increase Requirements

2015-05-31 Thread Ricardo Filipe
2015-06-01 0:40 GMT+01:00 Pindar Wong pindar.w...@gmail.com:


 On Mon, Jun 1, 2015 at 7:23 AM, Ricardo Filipe ricardojdfil...@gmail.com
 wrote:

 He also said that the equation for miners has many variables, as it
 should. There is no disadvantage if the network speed is the same
 between the miners.


 Hi,

 Is that an assumption?
no, let me rephrase: The disadvantage alex refers to only exists if
miners do not have the same network speed.


 If there is a difference in network speed, the
 miner is incentivized to invest in their network infrastructure.


 Perhaps it's best not to  assume that investing in Internet network
 infrastructure's a free or open market everywhere.
Just like easy ASIC access, low price electricity, etc are not a free
and open market.


 p.



 2015-05-31 23:55 GMT+01:00 Alex Mizrahi alex.mizr...@gmail.com:
  Yes, if you are on a slow network then you are at a (slight)
  disadvantage.
  So?
 
 
  Chun mentioned that his pool is on a slow network, and thus bigger
  blocks
  give it an disadvantage. (Orphan rate is proportional to block size.)
  You said that no, on contrary those who make big blocks have a
  disadvantage.
  And now you say that yes, this disadvantage exist.
 
  Did you just lie to Chun?
 
 
 
  --
 
  ___
  Bitcoin-development mailing list
  Bitcoin-development@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/bitcoin-development
 


 --
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development



--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: Block Size Increase Requirements

2015-05-31 Thread Pindar Wong
On Mon, Jun 1, 2015 at 7:58 AM, Ricardo Filipe ricardojdfil...@gmail.com
wrote:

 2015-06-01 0:40 GMT+01:00 Pindar Wong pindar.w...@gmail.com:
 
 
  On Mon, Jun 1, 2015 at 7:23 AM, Ricardo Filipe 
 ricardojdfil...@gmail.com
  wrote:
 
  He also said that the equation for miners has many variables, as it
  should. There is no disadvantage if the network speed is the same
  between the miners.
 
 
  Hi,
 
  Is that an assumption?
 no, let me rephrase: The disadvantage alex refers to only exists if
 miners do not have the same network speed.

 
  If there is a difference in network speed, the
  miner is incentivized to invest in their network infrastructure.
 
 
  Perhaps it's best not to  assume that investing in Internet network
  infrastructure's a free or open market everywhere.
 Just like easy ASIC access, low price electricity, etc are not a free
 and open market.


-- point well made and taken.

p.



 
  p.
 
 
 
  2015-05-31 23:55 GMT+01:00 Alex Mizrahi alex.mizr...@gmail.com:
   Yes, if you are on a slow network then you are at a (slight)
   disadvantage.
   So?
  
  
   Chun mentioned that his pool is on a slow network, and thus bigger
   blocks
   give it an disadvantage. (Orphan rate is proportional to block size.)
   You said that no, on contrary those who make big blocks have a
   disadvantage.
   And now you say that yes, this disadvantage exist.
  
   Did you just lie to Chun?
  
  
  
  
 --
  
   ___
   Bitcoin-development mailing list
   Bitcoin-development@lists.sourceforge.net
   https://lists.sourceforge.net/lists/listinfo/bitcoin-development
  
 
 
 
 --
  ___
  Bitcoin-development mailing list
  Bitcoin-development@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/bitcoin-development
 
 

--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: Block Size Increase Requirements

2015-05-31 Thread Alex Mizrahi

 Yes, if you are on a slow network then you are at a (slight) disadvantage.
 So?


Chun mentioned that his pool is on a slow network, and thus bigger blocks
give it an disadvantage. (Orphan rate is proportional to block size.)
You said that no, on contrary those who make big blocks have a disadvantage.
And now you say that yes, this disadvantage exist.

Did you just lie to Chun?
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Block Size Increase Requirements

2015-05-31 Thread Gavin Andresen
On Sun, May 31, 2015 at 3:05 AM, Peter Todd p...@petertodd.org wrote:

 Yeah, I'm pretty surprised myself that Gavin never accepted the
 compromises offered by others in this space for a slow growth solution


What compromise? I haven't seen a specific proposal that could be turned
into a pull request.




 Something important to note in Gavin Andresen's analysises of this issue
 is that he's using quite optimistic scenarios for how nodes are
 connected to each other.


NO I AM NOT.

I simulated a variety of connectivities; see the .cfg files at
  https://github.com/gavinandresen/bitcoin_miningsim

The results I give in the are bigger blocks better blog post are for
WORST CASE connectivity (one dominant big miner, multiple little miners,
big miner connects to only 30% of little miners, but all the little miners
connected directly to each other).


 For instance, assuming that connections between
 miners are direct is a very optimistic assumption


Again, I did not simulate all miners directly connected to each other.

I will note that miners are VERY HIGHLY connected today. It is in their
best interest to be highly connected to each other.


 that depends on a
 permissive, unregulated, environment where miners co-operate with each
 other - obviously that's easily subject to change!


Really? How is that easily subject to change? If it is easily subject to
change, do bigger blocks have any effect? Why are 1MB blocks not subject to
change?

I talk about what if your government bans Bitcoin entirely here:
   http://gavinandresen.ninja/big-blocks-and-tor

... and the issues are essentially the same, independent of block size.


-- 
--
Gavin Andresen
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] [Bulk] Re: Fwd: Block Size Increase Requirements

2015-05-31 Thread gb

Aren't you calculating bandwidth for a singly-connected node? A highly
connected miner could have 30-100 node connections so you probably need
to increase your traffic estimates by that factor.

I.e. For 100MB blocks, 30-100 Mbps and $60-$100 per day data costs.

 You should be able to handle 20MB blocks no problem; if I round up to
 100MB per block that works out to 1.3Mbps.
 
 
 We also use Aliyun and Linode cloud services for block
 propagation. As of May 2015, the price is 0.13 U.S. dollars
 per GB for
 100Mbps connectivity at Aliyun.
 
 
 That speed will handle 20MB blocks no problem.
 
 
 If each 20MB block is 100MB of data up/down the wire (I'm vastly
 over-estimating, after optimization it should be 40MB) then you'll be
 paying...uhhh:
 
 
 0.1 GB / block-data-on-wire * 144 blocks/day * 30.5 days/month * 0.13
 $ / GB = $57
 
 
 Less than $2 per day in bandwidth.
  
 For a single cross-border TCP
 connection, it would be certainly far slower than 12.5 MB/s. 
 
 
 That's OK, you'll 1.3Mbps or less


 -- 
 --
 Gavin Andresen
 
 --
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development



--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: Block Size Increase Requirements

2015-05-31 Thread Gavin Andresen
On Sat, May 30, 2015 at 9:31 PM, Chun Wang 1240...@gmail.com wrote:

 If someone propagate a 20MB block, it will take at best 6 seconds for
 us to receive to verify it at current configuration, result of one
 percent orphan rate increase.


That orphan rate increase will go to whoever is producing the 20MB blocks,
NOT you.


Or, we can mine the next block only on
 the previous block's header, in this case, the network would see many
 more transaction-less blocks.


Are you sure that is the best strategy? If a big block is slow to
propagate, I suspect it will be better to punish the miner that created it
by refusing to build on it until it has been fully validated.

I'll try to find time to run a couple of simulations.




 Our orphan rate is about 0.5% over the past few months. If the network
 floods 20MB blocks, it can be well above 2%. Besides bandwidth, A 20MB
 block could contain an average of 5 transactions, hundred of
 thousands of sigops, Do you have an estimate how long it takes on the
 submitblock rpccall?


I can benchmark it. It should be pretty fast, and sipa has a couple of
patches pending to make the UTXO cache much faster.

It can be fast because the vast majority of the work of validating all
those transactions can happen as they are received into the memory pool.


 For references, our 30Mbps bandwidth in Beijing costs us 1350 dollars
 per month.


You should be able to handle 20MB blocks no problem; if I round up to 100MB
per block that works out to 1.3Mbps.

We also use Aliyun and Linode cloud services for block
 propagation. As of May 2015, the price is 0.13 U.S. dollars per GB for
 100Mbps connectivity at Aliyun.


That speed will handle 20MB blocks no problem.

If each 20MB block is 100MB of data up/down the wire (I'm vastly
over-estimating, after optimization it should be 40MB) then you'll be
paying...uhhh:

0.1 GB / block-data-on-wire * 144 blocks/day * 30.5 days/month * 0.13 $ /
GB = $57

Less than $2 per day in bandwidth.


 For a single cross-border TCP
 connection, it would be certainly far slower than 12.5 MB/s.


That's OK, you'll 1.3Mbps or less.


 I think we can accept 5MB block at most.


Are you worried about paying too much, or do 20MB blocks feel like too
much ?

-- 
--
Gavin Andresen
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: Block Size Increase Requirements

2015-05-31 Thread Alex Mizrahi
 That orphan rate increase will go to whoever is producing the 20MB blocks,
 NOT you.


This depends on how miners are connected.

E.g. suppose there are three miners, A and B have fast connectivity between
then, and C has a slow network.
Suppose that A miners a block and B receives it in 1 second. C receives it
in 6 seconds.
This means that blocks mined by C during these ~5 seconds will be orphaned
because B gets A's block first.
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: Block Size Increase Requirements

2015-05-31 Thread Dave Hudson

 On 31 May 2015, at 13:52, Gavin Andresen gavinandre...@gmail.com wrote:
 
 On Sat, May 30, 2015 at 9:31 PM, Chun Wang 1240...@gmail.com 
 mailto:1240...@gmail.com wrote:
 If someone propagate a 20MB block, it will take at best 6 seconds for
 us to receive to verify it at current configuration, result of one
 percent orphan rate increase.
 
 That orphan rate increase will go to whoever is producing the 20MB blocks, 
 NOT you.

There's an interesting incentives question if the mining fees ever become large 
enough to be interesting. Given two potential blocks on which to build then for 
the best interests of the system we'd want miners to select the block that 
confirmed the largest number of transactions since that puts less pressure on 
the network later. This is at odds with the incentives for our would-be block 
maker though because the incentive for mining would be to use whichever block 
left the largest potential fees available; that's generally going to be the 
smaller of the two.

This, of course, only gets worse as the block reward reduces and fees become 
the dominant way for miners to be paid (and my hypothesis that eventually this 
could lead to miners trying to deliberately orphan earlier blocks to steal 
fees because the fixed block reward is no longer the dominant part of their 
income).

When coupled with the block propagation delay problem increasing the risk of 
orphan races I'm pretty sure that this actually leads to miners having an 
incentive to continually mine smaller blocks, and that's aside from the 
question of whether smaller blocks will push up fees (which also benefits 
miners). 


Cheers,
Dave


--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: Block Size Increase Requirements

2015-05-31 Thread Yifu Guo
I will abstain on this wrangle of when,

Instead I'd like to address some of the network topology health issues
that's been brought up in this debate.

Due to how blocks are being broadcast by miners at the moment, it is not
difficult to find the origin node of these blocks. These more influential
origin nodes are a minority, about 100 out of ~6000, 2%. These data
points are important to certain attack vectors. It is highly recommended
that pools adopt broadcast logic that rotates broadcasting nodes and
increase their node count.. Eloipool has this implanted for those seeking
to adopt/see it in action in the wild.

China is a particular worse-case due to the sporadic nature of their
internet infrastructure, especially connecting from/to outside of gfw, on a
average node-walk I can get up to a 10% difference while I know for a fact
some of the nodes shown to be down are up.

In F2Pool's case, I see 6 replay nodes, I don't know if that's enough or
that's all the nodes F2Pool runs, but it may be beneficial to set up
multi-homing with shadowsocks over mptcp to increase the stability. also
see if you can get a CERNET connection to be part of your rotations since
their backbone is quite good.

comments, question and grievances welcome.

On Sat, May 30, 2015 at 9:31 PM, Chun Wang 1240...@gmail.com wrote:

 On Sat, May 30, 2015 at 9:57 PM, Gavin Andresen gavinandre...@gmail.com
 wrote:
  Bad miners could attack us and the network with artificial
  big blocks.
 
 
  How?
 
  I ran some simulations, and I could not find a network topology where a
 big
  miner producing big blocks could cause a loss of profit to another miner
  (big or small) producing smaller blocks:
 
  http://gavinandresen.ninja/are-bigger-blocks-better-for-bigger-miners
 
  (the 0.3% advantage I DID find was for the situation where EVERYBODY was
  producing big blocks).

 If someone propagate a 20MB block, it will take at best 6 seconds for
 us to receive to verify it at current configuration, result of one
 percent orphan rate increase. Or, we can mine the next block only on
 the previous block's header, in this case, the network would see many
 more transaction-less blocks.

 Our orphan rate is about 0.5% over the past few months. If the network
 floods 20MB blocks, it can be well above 2%. Besides bandwidth, A 20MB
 block could contain an average of 5 transactions, hundred of
 thousands of sigops, Do you have an estimate how long it takes on the
 submitblock rpccall?

 For references, our 30Mbps bandwidth in Beijing costs us 1350 dollars
 per month. We also use Aliyun and Linode cloud services for block
 propagation. As of May 2015, the price is 0.13 U.S. dollars per GB for
 100Mbps connectivity at Aliyun. For a single cross-border TCP
 connection, it would be certainly far slower than 12.5 MB/s.

 I think we can accept 5MB block at most.

 (sorry forgot to cc to the mailing list)


 --
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development




-- 
*Yifu Guo*
*Life is an everlasting self-improvement.*
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Block Size Increase Requirements

2015-05-31 Thread Gavin Andresen
On Sun, May 31, 2015 at 10:46 AM, Jorge Timón jti...@jtimon.cc wrote:

 Here's a thought experiment:

 Subsidy is gone, all the block reward comes from fees.

I wrote about long-term hypotheticals and why I think it is a big mistake
to waste time worrying about them here:
   http://gavinandresen.ninja/when-the-block-reward-goes-away


-- 
--
Gavin Andresen
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: Block Size Increase Requirements

2015-05-31 Thread Gavin Andresen
On Sun, May 31, 2015 at 9:45 AM, Alex Mizrahi alex.mizr...@gmail.com
wrote:



 That orphan rate increase will go to whoever is producing the 20MB
 blocks, NOT you.


 This depends on how miners are connected.

 E.g. suppose there are three miners, A and B have fast connectivity
 between then, and C has a slow network.
 Suppose that A miners a block and B receives it in 1 second. C receives it
 in 6 seconds.
 This means that blocks mined by C during these ~5 seconds will be orphaned
 because B gets A's block first.


Yes, if you are on a slow network then you are at a (slight) disadvantage.
So?

There are lots of equations that go into the is mining profitable
equation: cost of power, Internet cost and connectivity, cost of capital,
access to technology other miners don't have, inexpensive labor or rent,
inexpensive cooling, ability to use waste heat...

That's good. An equation with lots of variables has lots of different
maximum solutions, and that means better decentralization -- there is less
likely to be one perfect place or way to mine.

-- 
--
Gavin Andresen
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Block Size Increase Requirements

2015-05-31 Thread Jorge Timón
Whatever...let's use the current subsidies, the same argument applies, it's
just 20 + 25 = 45 btc per block for miner B vs 27 btc for miner B.
Miner B would still go out of business, bigger blocks still mean more
mining and validation centralization. The question is how far I we willing
to go with this scaling by sacrificing decentralization, but the answer
can't be that's to far away in the future to worry about it, right now as
far as we think we can using orphan rate as the only criterion.
On May 31, 2015 4:49 PM, Gavin Andresen gavinandre...@gmail.com wrote:

 On Sun, May 31, 2015 at 10:46 AM, Jorge Timón jti...@jtimon.cc wrote:

 Here's a thought experiment:

 Subsidy is gone, all the block reward comes from fees.

 I wrote about long-term hypotheticals and why I think it is a big mistake
 to waste time worrying about them here:
http://gavinandresen.ninja/when-the-block-reward-goes-away


 --
 --
 Gavin Andresen

--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development