public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Stefan Thomas <moon@justmoon•de>
To: bitcoin-development@lists•sourceforge.net
Subject: Re: [Bitcoin-development] Punishing empty blocks?
Date: Sat, 26 May 2012 13:52:33 +0200	[thread overview]
Message-ID: <4FC0C401.1040600@justmoon.de> (raw)
In-Reply-To: <CANdZDc7+_xBH0DhujnXbh7gVB603qMQdQ7yOO5qq3HEfsJ2Lpw@mail.gmail.com>

Zooko is spot on - slower confirmations will give people a reason to set
higher fees. As soon as fees reach a level where they matter, even
botnet operators will be looking into ways of including transactions for
some extra profit.

In the meantime slightly slower confirmations aren't a problem. Consider
that even if it takes four blocks to get your transaction included
instead of one, once it is included, you still benefit from every new
block in terms of security. So if you're looking for six confirmations
for example, even a three block delay will only be a 50% delay for you.
And of course there are techniques for instant transactions which
continue to be refined and improved.

As for the proposed solutions: Punishing 1-tx blocks is complete and
utter nonsense. It's trivial to include a bogus second transaction.

Any additional challenges towards miners like hashes of the previous
block are at best useless. If I was running a botnet, I'd just grab that
hash from a website (pretty good chance Blockchain.info will have it :P)
or mining pool or wherever and keep going undeterred. At worst they may
affect scalability one day. You might imagine a peer-to-peer network of
miners who for cost reasons don't download all blocks anymore, but
verify only a percentage of them at random. They might then exchange
messages about invalid blocks including a proof (invalid tx, merkle
branch) why the block is invalid. This is just one idea, the point is
that assumptions about what a legitimate miner looks like may not always
hold in the future.

Finally, there is an ethical aspect as well. If a miner wishes not to
include my transaction that is his choice. He has no more an obligation
to sell his service to me than I have to buy it from him. If I really,
really want him to include my transaction I will have to offer to pay more.

If we as developers think that confirmations are too slow or that more
blocks should include transactions, then the right measures would be:

- Educating users about the relationship between confirmation speed and fees
- Raising the default transaction fee

Every market has a supply curve, so it is economically to be expected
that there will be some miners who don't include transactions, simply
because they are at that end of the supply curve where it is not worth
it for them to sell their service. All markets must have a certain
tension - there must be miners who don't include transactions for there
to be users who want their transactions included more quickly. In other
words there must be somebody not confirming if confirmations are to have
value. If you interfere with that all you'll accomplish is keep
transaction fees below market level, which will make the transition from
inflation-financed hashing to transaction-financed hashing more painful
and disruptive.

Cheers,

Stefan



  reply	other threads:[~2012-05-26 12:10 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-24 16:33 Jeff Garzik
2012-05-24 17:05 ` Arthur Britto
2012-05-24 17:13 ` Joel Joonatan Kaartinen
2012-05-24 17:23   ` Jeff Garzik
2012-05-24 17:27 ` Robert McKay
2012-05-24 18:16   ` Jeff Garzik
2012-05-24 20:31 ` Luke-Jr
2012-05-24 21:00   ` Jeff Garzik
2012-05-25  0:45 ` Luke-Jr
2012-05-25  0:51   ` Jeff Garzik
2012-05-25  0:57     ` Luke-Jr
2012-05-25  1:17       ` Jeff Garzik
2012-05-25  7:47         ` Christian Decker
2012-05-25 13:44           ` Alan Reiner
2012-05-25 14:00             ` Peter Vessenes
2012-05-25  1:00     ` Gregory Maxwell
2012-05-26  5:03 ` Zooko Wilcox-O'Hearn
2012-05-26 11:52   ` Stefan Thomas [this message]
2012-05-28 14:54     ` Peter Vessenes
     [not found]       ` <1338222334.48856.YahooMailNeo@web121001.mail.ne1.yahoo.com>
2012-05-28 16:25         ` [Bitcoin-development] Fw: " Amir Taaki
2012-05-29  8:52       ` [Bitcoin-development] " Michael Grønager
2012-05-29 14:47         ` Luke-Jr
2012-05-29 15:05           ` Peter Vessenes
2012-05-29 15:18             ` Luke-Jr
2012-05-29 15:28               ` Peter Vessenes
2012-05-29 15:34                 ` Luke-Jr
2012-05-29 15:36                   ` Peter Vessenes
2012-05-29 15:39                     ` Luke-Jr
2012-05-29 15:45                       ` Peter Vessenes
2012-05-29 16:30     ` Rebroad (sourceforge)
2012-05-29 15:33 ` Gregory Maxwell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FC0C401.1040600@justmoon.de \
    --to=moon@justmoon$(echo .)de \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox