Allow to signal both bits and treat them independently #568

pull jonasschnelli wants to merge 1 commits into bitcoin:master from jonasschnelli:node_network_limited changing 1 files +0 −2
  1. jonasschnelli commented at 8:29 PM on August 8, 2017: contributor

    The current BIP couples the two NODE_NETWORK_LIMITED_* bits by setting the state as undefined when signaling both bits. Ideally we can treat them independently which means signalling NODE_NETWORK_LIMITED_HIGH will always require to signal NODE_NETWORK_LIMITED_LOW as well. The downside for this simplification is that we loose the possible third state (both bits set).

  2. Allow to signal both bits and treat them independently f1e884b75a
  3. clarkmoody commented at 8:35 PM on August 8, 2017: contributor

    Would we need another BIP later to define the third state if it is left as undefined for the time being (and adopted by node software)?

    Alternatively, can we come up with a more compelling meaning for both bits?

  4. jonasschnelli commented at 8:43 PM on August 8, 2017: contributor

    @clarkmoody: I guess it's reasonable to not confuse developers by connecting bit states (== treat each bit individual) which result in only two states for two bits.

    Adding a third state would require another bit used. And right now, there is no need for a third state and we don't know if we ever need a third block depth level for limited historical block serving.

    Changing the block values (currently 288 and 1152) is possible depending on the client protocol version.

  5. sipa commented at 9:02 PM on August 8, 2017: member

    One issue is that network nodes will OR service bits together, so if you at one point offer one of the bits, and at another time the other, nodes may combine them into setting both.

    I think this means we can only have 4 combinations with 3 bits:

    • NETWORK: full nodes with full history
    • !NETWORK, LIMITED_HIGH: full nodes with a week of history
    • !NETWORK, !LIMITED_HIGH, LIMITED_LOW: full nodes with a day of history
    • !NETWORK, !LIMITED_HIGH, !LIMITED_LOW: SPV nodes, etc
  6. clarkmoody commented at 9:10 PM on August 8, 2017: contributor

    @sipa It sounds like there is no reason to activate both HIGH and LOW bits, since connecting nodes will go with the best-case history. @jonasschnelli ACK to your proposed change

  7. luke-jr commented at 3:34 AM on August 9, 2017: member

    I dislike wasting service bits like this, but I didn't realise nodes would OR them on their own. :(

  8. luke-jr merged this on Aug 9, 2017
  9. luke-jr closed this on Aug 9, 2017


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-04-19 07:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me