On Thu, May 17, 2018 at 4:59 PM, Matt Corallo <lf-li...@mattcorallo.com> wrote: > Yea I generally would really prefer something like that but it > significantly complicates the download logic - currently clients can > easily cross-check [...] Maybe > there is some other reasonable download logic to replace it with, however.
I think lite clients cross checking is something which very likely will never be implemented by anyone, and probably not stay working (due to under-usage) if it is implemented. This thought is driven by three things (1) the bandwidth overhead of performing the check, (2) thinking about the network-interacting-state-machine complexity of it, and by the multitude of sanity checks that lite clients already don't implement (e.g. when a lite client noticed a split tip it could ask peers for the respective blocks and check at least the stateless checks, but none has ever done that), and... (3) that kind of checking would be moot if the filters were committed and validated... and the commitment would be both much simpler to check for lite clients and provide much stronger protection against malicious peers. My expectation is that eventually one of these filter-map designs would become committed-- not after we already had it deployed and had worked out the design to the n-th generation (just as your proposed revisions are doing to the initial proposal), but eventually. Also, even without this change clients can still do that "are multiple peers telling me the same thing or different things" kind of checking, which I expect is the strongest testing we'd actually see them implement absent a commitment. _______________________________________________ bitcoin-dev mailing list firstname.lastname@example.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev