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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions