1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
helo=mx.sourceforge.net)
by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
(envelope-from <jgarzik@exmulti.com>) id 1T23vX-0005NU-BD
for bitcoin-development@lists.sourceforge.net;
Thu, 16 Aug 2012 17:32:11 +0000
X-ACL-Warn:
Received: from mail-qa0-f47.google.com ([209.85.216.47])
by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
(Exim 4.76) id 1T23vW-0006KS-CV
for bitcoin-development@lists.sourceforge.net;
Thu, 16 Aug 2012 17:32:11 +0000
Received: by qadc11 with SMTP id c11so905261qad.13
for <bitcoin-development@lists.sourceforge.net>;
Thu, 16 Aug 2012 10:32:04 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20120113;
h=mime-version:x-originating-ip:date:message-id:subject:from:to
:content-type:x-gm-message-state;
bh=b5FgedYHi4y7MafQ1Um6vQeZ5sqngzGKPZj/p7tNWfI=;
b=RisB2rJHFDSIiEQGAlN1QakDJ1FSJNH2ZBd0tjCj0WvZsZzPkT3wuL9ibysLQOWA7S
I0MU1cs325ysRY8OUMZaJMsM9hJ+Aq1482U1BX1M3gTms/2g9iLB4liPMpDiR7QkWkf1
onnIlzTeQBMY1jzU8ZB5SwGTgD01CBYxjUWGd/FUxVWJ23EnT8E71hRW8JneUJy3c6tu
KgPynHokO9sviyQAdiOer3OzBnuRKhzpf72Up/XZ5svv32r2tpkIJ3T3O0xOTQqDrKHL
AcXcllXRG4bGARurjRsNpcfEdiCpG3DpA3ELMhKw1hF2DdktORl/icE/UF0KDCoxHYA5
VEyg==
MIME-Version: 1.0
Received: by 10.229.105.166 with SMTP id t38mr1200671qco.136.1345138324653;
Thu, 16 Aug 2012 10:32:04 -0700 (PDT)
Received: by 10.49.97.6 with HTTP; Thu, 16 Aug 2012 10:32:04 -0700 (PDT)
X-Originating-IP: [2001:4830:1603:2:21c:c0ff:fe79:c8c2]
Date: Thu, 16 Aug 2012 13:32:04 -0400
Message-ID: <CA+8xBpcfxdpg-z4OQab3379amznM30Ae-Kurko0BKuySwfBy+Q@mail.gmail.com>
From: Jeff Garzik <jgarzik@exmulti.com>
To: Bitcoin Development <bitcoin-development@lists.sourceforge.net>
Content-Type: text/plain; charset=ISO-8859-1
X-Gm-Message-State: ALoCoQkmq6nLCmVIxBycmURx2M3NwMCzpaEHeJZbA+PTb0qlV10msqKz8M2VhF77Uwb/2HIKknqI
X-Spam-Score: 0.0 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
See http://spamassassin.org/tag/ for more details.
X-Headers-End: 1T23vW-0006KS-CV
Subject: [Bitcoin-development] BIP 35: add mempool message
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Thu, 16 Aug 2012 17:32:11 -0000
Consensus was we should do a BIP for all P2P changes, so here it is...
feedback requested.
https://en.bitcoin.it/wiki/BIP_0035
Abstract
-------------------------------------------
Make a network node's transaction memory pool accessible via a new
"mempool" message. Extend the existing "getdata" message behavior to permit
accessing the transaction memory pool.
Motivation
-------------------------------------------
Several use cases make it desireable to expore a network node's transaction
memory pool:
* SPV clients, wishing to obtain zero-confirmation transactions sent or
received.
* Miners, downloading existing network transactions after a restart.
* Remote network diagnostics.
Specification
-------------------------------------------
1) Upon receipt of a "mempool" message, the node will respond
with an "inv" message containing MSG_TX hashes of all the
transactions in the node's transaction memory pool.
An "inv" message is always returned, even if empty.
2) The typical node behavior in response to an "inv" is "getdata".
However, the reference Satoshi implementation ignores requests
for transaction hashes outside that which is recently relayed.
To support "mempool", an implementation must extend its "getdata"
message support to querying the memory pool.
3) Feature discovery is enabled by checking two "version" message attributes:
a) Protocol version >= 60002
b) NODE_NETWORK bit set in nServices
Backwards compatibility
-------------------------------------------
Older clients remain 100% compatible and interoperable after this change.
Implementation
-------------------------------------------
See https://github.com/bitcoin/bitcoin/pull/1641
--
Jeff Garzik
exMULTI, Inc.
jgarzik@exmulti.com
|