There doesn't seem to be anything in the original email that's specific to BIP 157. It's a restatement of the arguments against light clients:
- light clients are a burden on the full nodes that serve them
- if light clients become more popular, there won't be enough full nodes to serve them
- people might build products that depend on altruistic nodes serving data, which is unsustainable
- maybe at some point in the future, light clients will need to pay for services
The choice isn't between people using light clients or not. People already use light clients. The choice between whether we offer them a light client technology that is better or worse for privacy and scalability.
The arguments for why BIP 157 is better than the existing light client technologies are available elsewhere, but to summarize:
- they're unique for a block, which means they can easily be cached. Serving a filter requires no computation, just i/o (or memory access for cached filter/header data) and bandwidth. There are plenty of other services that a full node offers that use i/o and bandwidth, such as serving blocks.
- unique-for-block means clients can download from multiple sources
- the linked-headers/filters model allows hybrid approaches, where headers checkpoints can be fetched from trusted/signed nodes, with intermediate headers and filters fetched from untrusted sources
- less possibilities to DoS/waste resources on the serving node
- better for privacy
> The intention, as I understood it, of putting BIP157 directly into bitcoind was to essentially force all `bitcoind` users to possibly service BIP157 clients
Please. No-one is forcing anyone to do anything. To serve filters, a node user needs to download the latest version, set `-blockfilterindex=basic` to build the compact filters index, and set `-peercfilters` to serve them over P2P. This is an optional, off-by-default feature.
Regards,
John