[Bitcoin-development] BIP 35: add mempool message

Jeff Garzik jgarzik at exmulti.com
Thu Aug 16 18:04:13 UTC 2012


On Thu, Aug 16, 2012 at 1:56 PM, Pieter Wuille <pieter.wuille at gmail.com> wrote:
> I suppose it is interesting in general for nodes to
> get a memory pool refill at startup anyway.

Yes.

>>    An "inv" message is always returned, even if empty.
>
> I'm not sure about this last. What is it good for? inv packets can always be
> sent, even not in response to others, so it is not that this gives you an
> acknowledgement the mempool is updated?

A simple guarantee of 1:1 correspondence between request and response.
 The bitcoin protocol sometimes simply elides a response when the
response would be empty, and this makes it difficult to know whether a
request is timing out or already processed.

Sending a ping(nonce) after each P2P command is another way of achieving same :)

> This seems safe, although it forces other full implementations that want to
> expose protocol version 60002 (or later) to also implement this. What do they
> think about this?
>
> I would like to suggest to allocate an extra service bit for this. We still
> have 63 left, and this is a well-defined and useful extra service that was
> not yet provided by any earlier node. Doing that would also mean that
> mempool-providing survices may be discovered before connecting to them, as
> the service bits are carried around in addr messages. Any opinions about that?

An nServices bit would be a better fit for this optional service, but
nServices bits seemed like a scarce resource, so I elected to be
conservative.

Absent the scarce-resource concern, I'd vote for an nServices bit.

-- 
Jeff Garzik
exMULTI, Inc.
jgarzik at exmulti.com




More information about the bitcoin-dev mailing list