Subject: Re: [Bitcoin-development] bitcoind multiplexing proxy - request/response routing problem

From: Mike Hearn <[email-masked]>
Date: Thu, 8 Sep 2011 11:29:25 +0200

It's probably best to keep this discussion on just one mailing list. It's
confusing to have duplicate threads in different places. People will end up
making the same points.

To repeat what I posted elsewhere, for now I'd just start with the simplest
possible approach:

- Ignore version skew for now (disconnect older clients)

- Don't send received transactions/blocks to the bitcoind. Let it hear about
them from its own p2p connections. That way you will always receive all
valid transactions/blocks which you can then relay/cache/drop inbound
duplicates.

- Parse/handle inv/getblocks/getheaders requests so clients that connect and
catch up with the chain don't place any load on the bitcoind. If a client
requests data the proxy doesn't have in RAM, it can go fetch it from the
underlying bitcoind.

If you can make v1 work and demonstrate actual scalability improvements,
then you can always go back and make it smarter in v2.