/ c5 / 9a7442a6ea72c405ce584b72289f5588ea4a2c
9a7442a6ea72c405ce584b72289f5588ea4a2c
  1  Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193]
  2  	helo=mx.sourceforge.net)
  3  	by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
  4  	(envelope-from <andyparkins@gmail.com>) id 1QerJ0-000402-Fn
  5  	for bitcoin-development@lists.sourceforge.net;
  6  	Thu, 07 Jul 2011 16:19:58 +0000
  7  Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com
  8  	designates 74.125.82.53 as permitted sender)
  9  	client-ip=74.125.82.53; envelope-from=andyparkins@gmail.com;
 10  	helo=mail-ww0-f53.google.com; 
 11  Received: from mail-ww0-f53.google.com ([74.125.82.53])
 12  	by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
 13  	(Exim 4.76) id 1QerIx-0004r2-FG
 14  	for bitcoin-development@lists.sourceforge.net;
 15  	Thu, 07 Jul 2011 16:19:56 +0000
 16  Received: by wwf26 with SMTP id 26so1013174wwf.10
 17  	for <bitcoin-development@lists.sourceforge.net>;
 18  	Thu, 07 Jul 2011 09:19:49 -0700 (PDT)
 19  Received: by 10.216.54.197 with SMTP id i47mr6713177wec.48.1310055589292;
 20  	Thu, 07 Jul 2011 09:19:49 -0700 (PDT)
 21  Received: from dvr.localnet (mail.360visiontechnology.com [92.42.121.178])
 22  	by mx.google.com with ESMTPS id c17sm7006305wbh.12.2011.07.07.09.19.46
 23  	(version=TLSv1/SSLv3 cipher=OTHER);
 24  	Thu, 07 Jul 2011 09:19:47 -0700 (PDT)
 25  From: Andy Parkins <andyparkins@gmail.com>
 26  To: bitcoin-development@lists.sourceforge.net
 27  Date: Thu, 7 Jul 2011 17:19:39 +0100
 28  User-Agent: KMail/1.13.6 (Linux/2.6.38-2-686; KDE/4.6.3; i686; ; )
 29  References: <201107071049.48131.andyparkins@gmail.com>
 30  	<CANEZrP0L-8PmwLma4DJdfoj+NefXS0kH8wvVFe-vuyRnpF-+mw@mail.gmail.com>
 31  In-Reply-To: <CANEZrP0L-8PmwLma4DJdfoj+NefXS0kH8wvVFe-vuyRnpF-+mw@mail.gmail.com>
 32  MIME-Version: 1.0
 33  Content-Type: multipart/signed; boundary="nextPart3210105.bXfVgRihYC";
 34  	protocol="application/pgp-signature"; micalg=pgp-sha1
 35  Content-Transfer-Encoding: 7bit
 36  Message-Id: <201107071719.45416.andyparkins@gmail.com>
 37  X-Spam-Score: -1.6 (-)
 38  X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
 39  	See http://spamassassin.org/tag/ for more details.
 40  	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
 41  	sender-domain
 42  	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
 43  	(andyparkins[at]gmail.com)
 44  	-0.0 SPF_PASS               SPF: sender matches SPF record
 45  	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
 46  	author's domain
 47  	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
 48  	not necessarily valid
 49  	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
 50  	0.0 T_TO_NO_BRKTS_FREEMAIL To: misformatted and free email service
 51  X-Headers-End: 1QerIx-0004r2-FG
 52  Subject: Re: [Bitcoin-development] Suggestion for enhancements to getblock
 53  X-BeenThere: bitcoin-development@lists.sourceforge.net
 54  X-Mailman-Version: 2.1.9
 55  Precedence: list
 56  List-Id: <bitcoin-development.lists.sourceforge.net>
 57  List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
 58  	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
 59  List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
 60  List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
 61  List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
 62  List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
 63  	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
 64  X-List-Received-Date: Thu, 07 Jul 2011 16:19:58 -0000
 65  
 66  --nextPart3210105.bXfVgRihYC
 67  Content-Type: Text/Plain;
 68    charset="utf-8"
 69  Content-Transfer-Encoding: quoted-printable
 70  
 71  On 2011 July 07 Thursday, Mike Hearn wrote:
 72  > On Thu, Jul 7, 2011 at 11:49 AM, Andy Parkins <andyparkins@gmail.com> wro=
 73  te:
 74  > > Imagine this situation though.  I am a light weight client.  I store the
 75  > > block headers only.  I am only interested in the history of my own
 76  > > wallet addresses. I receive a block broadcast with a transaction that
 77  > > sends coins to one of my addresses.  That transaction references other
 78  > > transactions (of course), but I haven't stored any transactions.  So; I
 79  > > want to request those transactions and ensure they are all valid and in
 80  > > blocks.  I can't.
 81  >=20
 82  > Everyone writing an alternative client goes through this thought
 83  > process :-) There's no point in doing it, you cannot prove your
 84  > transaction is not a double spend. That requires knowledge (ie, an
 85  > index) of all transactions.
 86  
 87  Ah; you mistake me.  I'm not interested in double spend prevention, in this=
 88  =20
 89  case I'd be willing to trust the full node to return whatever block it thin=
 90  ks=20
 91  contains that transaction, and that it has already done double spend=20
 92  prevention.
 93  
 94  What I want to be able to do though is calculate a balance for an aribtrary=
 95  =20
 96  address.  Not every address; just the particular ones that the client is=20
 97  interested in.  It's complete overkill to require the whole block chain jus=
 98  t=20
 99  to calculate the balance of a few addresses.
100  
101  > You have to treat appearing deep in the chain as ipso-facto proof of
102  > validity. Lightweight/SPV clients simply must have that trust, it
103  > cannot be done any other way. See this article:
104  
105  Not entirely.  If I ask for "the block that contains transaction with hash=
106  =20
107  12345678abcd..." then when I get that full block, I can verify the merkle t=
108  ree=20
109  myself.  I do have to trust that the peer hasn't been adding double spends =
110  in,=20
111  but not that the transaction is actually in the chain.
112  
113  > > It should be possible to request the current pending transaction list.
114  >=20
115  > I think it'd be better to implement the filtering suggestions that
116  > have been made. It doesn't scale to download the entire memory pool -
117  
118  I'm sorry, I've only started watching this list in the last few days.  I'm =
119  not=20
120  familiar with the filter suggestions.
121  
122  I'm not entirely sure I see how a filter helps.  If I've been offline for t=
123  en=20
124  minutes then I need all the transactions pending in the last ten minutes.  =
125  No=20
126  amount of filtering makes that list any smaller.
127  
128  > a better approach is to give the remote node a filter to match against
129  > transactions then have it only relay those. After setting a filter,
130  > transactions pending and matching would be sent in one big inv and you
131  > can then keep the connection open to learn about new transactions
132  > without needing to "drink from the firehose". Filters can be
133  > probabilistic and set on many different nodes to reduce the privacy
134  > implications.
135  
136  That would be fine.  My reason for suggesting using getblocks was that it=20
137  didn't introduce a new command.
138  
139  
140  
141  Andy
142  
143  =2D-=20
144  Dr Andy Parkins
145  andyparkins@gmail.com
146  
147  --nextPart3210105.bXfVgRihYC
148  Content-Type: application/pgp-signature; name=signature.asc 
149  Content-Description: This is a digitally signed message part.
150  
151  -----BEGIN PGP SIGNATURE-----
152  Version: GnuPG v1.4.10 (GNU/Linux)
153  
154  iEYEABECAAYFAk4V3JsACgkQwQJ9gE9xL22VkACgx/J/sUIn5Vuuoehh3VLzMewR
155  SKgAn3qgesWy6GzvBvrqlWTJ6k4syNoz
156  =j5wG
157  -----END PGP SIGNATURE-----
158  
159  --nextPart3210105.bXfVgRihYC--
160  
161