Hey! Glad you like the app.
To answer your question:
But I found that I can fetch messages in the last 24 hours, how can this be done? Are there any centralized nodes store these data?
We have some nodes, which are called “mailservers”, that not only relay whisper envelopes, but also store them.
Clients can connect to one of these nodes and ask for historical envelopes. This is a special connection as you need to “trust” the mailserver, as normally in whisper old envelopes are discarded, but not in this case. This way whisper provides offline messaging.
Whether is centralized is a bit harder to say, anyone can run their own mailserver and start collecting whisper envelopes, and you are free to connect to any mailserver. So there’s nothing inherently centralized about the technology.
Practically speaking though mailservers currently are run mainly by status (the one you are connected to for example), and require high availability (mailserver are offline, no offline messages/gaps in history when they come back online).
Furthermore there’s no discovery mechanism for non-status run mailserver, so at the moment the burden of running mailservers and providing offline messages is bear entirely by status, making it a bit more difficult to answer you question
This is something that we would like to address in the future and currently some work is being done in that regard, although is early stages.
Let us know if you have any other question and thanks for joining the discussion!