BIPs 157 & 158: Block Filtering stuff #636

pull jimpo wants to merge 1 commits into bitcoin:master from jimpo:client-side-filtering changing 3 files +916 −0
  1. jimpo commented at 10:20 PM on January 17, 2018: contributor

    This is a revision of #609 that is intended as a replacement due to the number of substantial changes. Test vectors will be added once the BIP has been reviewed by the community and the reference implementation is updated.

    Abstract

    This BIP describes a new light client protocol in Bitcoin that improves upon currently available options. The standard light client protocol in use today, defined in BIP 37, has known flaws that weaken the security and privacy of clients and allow denial-of-service attack vectors on full nodes. The new protocol overcomes these issues by allowing light clients to obtain compact probabilistic filters of block content from full nodes and download full blocks if the filter matches relevant data.

    New P2P messages empower light clients to securely sync the blockchain without relying on a trusted source. This BIP also defines a filter header, which serves as a commitment to all filters for previous blocks and provides the ability to efficiently detect malicious or faulty peers serving invalid filters. The resulting protocol guarantees that light clients with at least one honest peer are able to identify the correct block filters.

    State of Implementation

    We've tested the implementation of both a light client implementing this BIP, as well as the serving full-node on Bitcoin's testnet over the past several months. Additionally, this new operating mode also serves as the basis for our light weight Lightning node. These implementations are based on an earlier version of the spec, and require some updates.

  2. jimpo force-pushed on Jan 18, 2018
  3. luke-jr commented at 5:08 AM on January 18, 2018: member

    Please use BIP number 158.

  4. luke-jr added the label New BIP on Jan 18, 2018
  5. luke-jr renamed this:
    Client Side Filtering
    BIP 158: Client Side Block Filtering
    on Jan 18, 2018
  6. jimpo commented at 5:19 AM on January 18, 2018: contributor

    @luke-jr Thanks! There are two BIPs now though. It would be nice to get two sequential numbers.

  7. luke-jr commented at 5:30 AM on January 18, 2018: member

    Two BIPs? What am I overlooking? I don't see that?

  8. jimpo commented at 5:35 AM on January 18, 2018: contributor

    There are two files. They are related, but separate BIPs.

    1. Client Side Block Filtering
    2. Compact Block Filters for Light Clients
  9. luke-jr commented at 5:35 AM on January 18, 2018: member

    Sorry, totally overlooked that this PR had two files.. Let's go with 157 & 158 then? Also, note there is no Editor key in the preamble.

  10. jimpo commented at 5:36 AM on January 18, 2018: contributor

    Great, thanks. Will update shortly.

  11. luke-jr renamed this:
    BIP 158: Client Side Block Filtering
    BIPs 157 & 158: Block Filtering stuff
    on Jan 18, 2018
  12. jimpo force-pushed on Jan 18, 2018
  13. jimpo force-pushed on Jan 18, 2018
  14. jimpo force-pushed on Jan 18, 2018
  15. jimpo force-pushed on Jan 18, 2018
  16. jimpo force-pushed on Jan 18, 2018
  17. jimpo force-pushed on Jan 18, 2018
  18. jimpo force-pushed on Jan 18, 2018
  19. jimpo force-pushed on Jan 19, 2018
  20. jimpo commented at 9:40 PM on January 22, 2018: contributor

    @luke-jr Anything else required for merge here?

  21. BIP 157 & 158: client-side block filtering. 996c7c8e88
  22. jimpo force-pushed on Jan 22, 2018
  23. luke-jr commented at 2:42 AM on January 23, 2018: member

    Looks good

  24. luke-jr merged this on Jan 23, 2018
  25. luke-jr closed this on Jan 23, 2018

  26. hkjn commented at 11:57 AM on January 23, 2018: none

    Maybe you're already aware, but FYI there's a remaining TODO in BIP158 for test vectors:

    cc @jimpo @luke-jr

  27. jimpo deleted the branch on Mar 8, 2018
  28. sipa referenced this in commit a07e8caa5d on Apr 26, 2018
  29. UdjinM6 referenced this in commit 2924424924 on May 21, 2021
  30. UdjinM6 referenced this in commit f3ce0156a1 on May 25, 2021
  31. UdjinM6 referenced this in commit 7ff6515c88 on May 25, 2021
  32. UdjinM6 referenced this in commit 0f9f133f78 on Jun 5, 2021
  33. gades referenced this in commit 997422aee5 on Apr 30, 2022
  34. malbit referenced this in commit 7a3fadc360 on Aug 7, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-19 06:50 UTC