As we have event sourcing aggregates that hold state, the states and events need to be uniquely identifiable. This can be done by a simple, unique ID in the events and aggregate to know about which entity one is talking about.
Reference
Hoffman, Kevin. Real-World Event Sourcing: Distribute, Evolve, and Scale Your Elixir Applications. The Pragmatic Bookshelf, 2025. The Pragmatic Programmers.
Highlights or timestamps
- [?] An aggregate is a single, uniquely identifiable entity that has state, validates commands and emits events.
— highlight from Highlights of Real-World Event Sourcing
Given a stream of ledger events, the key that differentiates one aggregate from another might be the key field account_number.
— highlight from Highlights of Real-World Event Sourcing