Skip to content

Drop ID too long to provoke collisions #163

@roeslpa

Description

@roeslpa

Currently Drop IDs of 256 Bit are used. That results in 2^256 Drop IDs, which is much too much even if the whole world uses one drop server. Even the smallest range of Drop IDs (64 Bit) is too long. I recommend to use fewer than 20 Bit for the largest range, depending on how many users we expect per server. So let us:

  1. Define how many users can use one (drop+block+accounting) server
    • Can an admin ( @knopwob / @thechauffeur ) estimate the maximum users depending on the number/size of drop/block requests?!
    • Example: max. 2^20 users per server
  2. |DropID| = log_2(number of users per server)
    • Four ranges of anonymity level (like it is currently implemented in the Android client)
    • Assumption: 1/4 of the users select one range
    • Example:
      1. First range 9 Bit => 2^9 Drop IDs, 2^18 user => 512 (+64 (+8 (+1))) users per ID*
      2. Second range 12 Bit => 2^12 Drop IDs, 2^18 user => 64 (+8 (+1)) users per ID
      3. Third range 15 Bit => 2^15 Drop IDs, 2^18 user => 8 (+1) users per ID
      4. Fourth range 18 Bit => 2^18 Drop IDs, 2^18 user => 1 user per ID
      5. Out of range 20 Bit => e.g. incrementing 2^19 Drop IDs with leading 1 to avoid collisions for users who do not want to be anonymous

*This sounds like much traffic, but the respective user chose to gain the maximal anonymity and since i. I guess that less than 1/4 of the users will select this range and ii. this number is only reached when 2^20 users use this server. So I think we could even use fewer Bits for this range.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions