Skip to content

explicitly note source of magic numbers in Hashing Limit section #29

@emergent-reasons

Description

@emergent-reasons

The "Hashing Limit" section has a handful of unnamed, bare constants that I didn't find an explanation for:

  • 7: ((41 + unlocking_bytecode_length) * 7) / 2
  • 1, 8, 64: 1 + ((message_length + 8) / 64) + (is_double ? 1 : 0); (the first 1+, not the conditional)

Each of them deserves a name and/or explanation. In contrast, e.g. the numbers 41, 800 have explanations.

I can guess at or infer the source of them based on other parts of the spec, but I'm not totally confident about my inference. It should be in the spec even if it's explained here.

My guess is that 7 is a conservatively selected tuning number to match up with previous implicit limits.

1, 8 and 64 though... I dunno. I think 64 is explained in a note, but the linkage isn't explicit, at least not for someone with my level of knowledge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions