public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Pieter Wuille <pieter.wuille@gmail•com>
To: Peter Grigor <peter@grigor•ws>
Cc: bitcoin-dev@lists•linuxfoundation.org
Subject: Re: [bitcoin-dev] A possible solution for the block size limit: Detection and rejection of bloated blocks by full nodes.
Date: Wed, 1 Jul 2015 01:45:09 +0200	[thread overview]
Message-ID: <CAPg+sBj2P6ZUxJyrn3Dq76USO5kDTfpkF-zuYsKQbpQbTnyq2A@mail.gmail.com> (raw)
In-Reply-To: <CAGpx8BXMfUSaW1FONsbR4dK-uvQ73TjGuh5PUzsxJVwVUW3O1A@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1977 bytes --]

The problem with this approach is that you need 100% exact behaviour for
every node on the network in their decision to reject a particular block.
So we need a 100% mempool synchronization across all nodes - otherwise just
an attempted double spend could result in a fork in the network because
some nodes saw it and some didn't. And actually, if we had 100% mempool
synchronization, we wouldn't need a blockchain in the first place, because
we could just use "first to enter mempool" as validity criterion.

On Wed, Jul 1, 2015 at 1:41 AM, Peter Grigor <peter@grigor•ws> wrote:

> The block size debate centers around one concern it seems. To wit: if
> block size is increased malicious miners may publish unreasonably large
> "bloated" blocks. The way a miner would do this is to generate a plethora
> of private, non-propagated transactions and include these in the block they
> solve.
>
> It seems to me that these bloated blocks could easily be detected by other
> miners and full nodes: they will contain a very high percentage of
> transactions that aren't found in the nodes' own memory pools. This
> signature can be exploited to allow nodes to reject these bloated blocks.
> The key here is that any malicious miner that publishes a block that is
> bloated with his own transactions would contain a ridiculous number of
> transactions that *absolutely no other full node has in its mempool*.
>
> Simply put, a threshold would be set by nodes on the allowable number of
> non-mempool transactions allowed in a solved block (say, maybe, 50% -- I
> really don't know what it should be). If a block is published which
> contains more that this threshold of non-mempool transactions then it is
> rejected.
>
> If this idea works the block size limitation could be completely removed.
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
>

[-- Attachment #2: Type: text/html, Size: 2819 bytes --]

  parent reply	other threads:[~2015-06-30 23:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-30 23:41 Peter Grigor
2015-06-30 23:43 ` Luke Dashjr
2015-06-30 23:45 ` Pieter Wuille [this message]
2015-07-01  2:52   ` Jeremy

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=CAPg+sBj2P6ZUxJyrn3Dq76USO5kDTfpkF-zuYsKQbpQbTnyq2A@mail.gmail.com \
    --to=pieter.wuille@gmail$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    --cc=peter@grigor$(echo .)ws \
    /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