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 ) 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 ; 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: From: Jeff Garzik To: Bitcoin Development 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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