Author: Olaoluwa Osuntokun 2018-05-22 01:16:52
Published on: 2018-05-22T01:16:52+00:00
The bitcoin-dev mailing list has been discussing the idea of allowing full nodes to decide which subsets of elements they serve filters for, as opposed to trying to decide up front which subset will be most useful to include in the filters. This would allow light clients to download the minimum amount of data required to operate and choose the minimal filter type covering their needs. A full node could advertise that it could serve filters for various subsets such as txid+script+outpoint or script+outpoint, and a light client could choose which one to connect to. The advantages include minimal bandwidth usage, organic growth of the most served filter types, and data on the most widely used filter types. The disadvantage is an exponential blowup in the number of possible filter types in the number of element types. However, this would let them start out small with only the elements they need. Parallel filtering would be pretty nice and would speed up scanning. The filtering model simplifies the code and can leverage identical logic for btcd.
Updated on: 2023-05-20T08:23:06.989787+00:00