Subject: Re: [Bitcoin-development] Punishing empty blocks?

From: Jeff Garzik <[email-masked]>
Date: Thu, 24 May 2012 14:16:51 -0400

On Thu, May 24, 2012 at 1:27 PM, Robert McKay <[email-masked]> wrote:
> If miners wanted to continue mining empty blocks without bothering to
> monitor the Tx pool they would just switch to stuffing the empty blocks
> with a dummy transaction of their own to get round your new rules.

Yes.  This was stated in the original email.

> Once the block reward halves in a few months time then receiving
> transaction fees will probably become more important to the miner's
> profit and loss calculations and they'll spend the extra time to
> implement proper transaction processing. I suspect if we do nothing this
> particular issue will go away. Perhaps it could be helped along by
> publishing some example code to make it easier for them.

At current rates it is potentially years before that point is reached
-- years of degraded service for existing users.

> The ability to refuse transactions seems like an important part of the
> game theory of transaction pricing. Miners are supposed to be able to
> jack up transaction costs by declining to process no fee or too low fee
> (in their opinion) transactions.. the counter balance is that they are
> losing money by doing that and leaving more on the table for the next
> miner to score a block.
>
> I expect that in the future there will be other instances when people
> complain that the miners are being 'unfair' and that the rules should be
> changed in some way to lower transaction fees (ie: increase block size).

If you see a rule change, you have misunderstood the proposal.

This is an -implementation- change, which users and miners are free to
accept or reject as part of their choice of software to use in the
bitcoin ecosystem.

As such, miners continue to be free to build upon empty blocks, and
let those blocks become part of a useful chain.  You would not simply
/ban/ empty blocks completely, but avoid relaying top-of-chain empty
blocks.

Mining power and network collaborate to choose the best chain at that
point -- perhaps even including those empty blocks.  Clients will
continue to follow the longest, strongest chain, even after this
implementation change.

An implementation change is a soft vote of choice by the user, not a
hard requirement on all users.

> I think it should be legitimate not to publish a transaction
> to the p2p network at all.. in the future there will probably be lots of
> networks other than the p2p network.. right now we have the IPv6 network
> and the IPv4 network.. in the future there could be many other protocols
> and perhaps not all transactions will make it back to the old legacy
> ipv4 p2p network or into the mempool of bitcoin nodes on that network..
> but they should still be able to get into the block chain.

See above -- such behavior is perfectly fine.

It should be noted that out of band (OOB) TXs, transited through third
party means outside P2P network, would not cause _empty_ blocks, as
the block chain will continue to have traffic for the foreseeable
future.

OOB TXs are a great idea, too.  In a hyperscaled bitcoin future, OOB
TXs might even be the norm.

-- 
Jeff Garzik
exMULTI, Inc.
[email-masked]