Skip to content

Secure Message Delivery and reordered messages #313

@fizyk20

Description

@fizyk20

Consider this scenario:

  • X is at version 1 and sends a message to Y, that knows X at version 1. It attaches a chain (v0, v1) to the message.
  • X advances to version 2 and sends another message to Y. It attaches a chain (v0, v1, v2).
  • Y receives the second message first and updates its knowledge of X to v2.
  • Y receives the first message and cannot validate it, as v2 doesn't match any of the attached keys (v0, v1).

A possible (though hacky) solution is to keep old_infos, that is - an LRU cache of other sections' outdated keys. This way it will be probable that in such a scenario Y will still have the v0 key for X in its old_infos when the first message arrives, which will enable it to validate it correctly. This is not a complete solution, however.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions