Expanding on pay-with-diff and volatility (closing comment),

Users and miners will have significant difficulty creating and/or predicting a stable block size (and fee environment) with pay-with-diff across the months.  The ability of businesses to plan is low.  Chaos and unpredictability are bad in general for markets and systems.  Thus the binary conclusion of "not get used" or "volatility"






On Thu, Sep 3, 2015 at 10:31 AM, Jeff Garzik <jgarzik@gmail.com> wrote:
It's written as 'a' and/or 'b'.  If you don't have idle hashpower, then paying with difficulty requires some amount of collusion ('a')  

Any miner paying with a higher difficulty either needs idle hashpower, or self-increase their own difficulty at the possible opportunity cost of losing an entire block's income to another miner who doesn't care about changing the block size.  The potential loss does not economically compensate for size increase gains in most cases, when you consider the variability of blocks (they come in bursts and pauses) and the fee income that would be associated.

Miners have more to lose paying with diff than they gain -- unless the entire network colludes out-of-band with ~90% certainty, by collectively agreeing to increase the block period by collectively agreeing with pay-with-diff until the globally desired block size is reached.  At that level of collusion, we can create far more simple schemes to increase block size.

Pay-with-diff will either not get used, or lead to radical short term block size (and thus fee) volatility.  It is complex & difficult for all players to reason, and a Rational game theory choice can be to avoid paying-for-diff even when the network desperately needs an upgrade.






On Thu, Sep 3, 2015 at 2:57 AM, Gregory Maxwell <gmaxwell@gmail.com> wrote:
On Thu, Sep 3, 2015 at 4:05 AM, Jeff Garzik via bitcoin-dev
<bitcoin-dev@lists.linuxfoundation.org> wrote:
> (b) requiring miners to have idle
> hashpower on hand to change block size are both unrealistic and potentially

I really cannot figure out how you could characterize pay with
difficty has in any way involving idle hashpower.

Can you walk me through this?