Subject: Re: [Bitcoin-development] BIP 33 - Stratized Nodes

From: Jeff Garzik <[email-masked]>
Date: Wed, 16 May 2012 14:22:08 -0400

On Wed, May 16, 2012 at 12:46 PM, Mike Hearn <[email-masked]> wrote:
> Thanks for getting this started.
>
> With regards to the specific proposal, I don't believe it's the best option
> and still plan to eventually implement the original design outlined more
> than a year ago in this thread:
>
>   https://bitcointalk.org/index.php?topic=7972.msg116285#msg116285
>
> Namely that you use a new protocol command to set a Bloom filter on a
> connection. Only transactions matching that filter will appear in relayed
> inventory. Blocks that are requested will arrive as a header plus
> transaction/merkle branch pairs. Clients are expected to maintain and track
> the block chain as per usual, but instead of downloading the whole chain and
> then dropping the irrelevant transactions, that filtering is done server
> side. By strengthening or weakening the Bloom filters you can choose your
> preferred point on the privacy/bandwidth-usage spectrum. It is a fairly
> simple change to the Satoshi and BitcoinJ codebases but still allows clients
> to gain confidence in their balance by examining the chain, and this is true
> even in the presence of a hijacked internet connection (you can't trust
> pending transactions that way, but you can still trust confirmed
> transactions).

Makes sense.

In an idealized model of a client as a set of private keys, they will
want to (a) notice new activity on these keys, (b) notice increased
confidence on existing transactions with those keys [confirmations],
and (c) be able to submit to the network new transactions.  Your
proposal covers those bases, I believe.

-- 
Jeff Garzik
exMULTI, Inc.
[email-masked]