A method implemented by at least one computer to subdivide, distribute and store data associated with a subject in a plurality of distributed memories of a telecommunications network, comprising the steps of:
- a) providing a telecommunications network comprising a plurality of network nodes with decentralized architecture;
- b) providing at least one server component connected to the telecommunications network;
- c) providing a plurality of fragment storage nodes connected to the telecommunications network, each fragment storage node comprising at least one respective non-volatile memory configured to store at least part of a plurality of portions of the data;
- d) storing, in a memory associated with an electronic device, a value of a user identifier to uniquely identify the subject and store at least one respective value of an entity identifier to identify a respective type of data associated with the subject;
- e) subdividing, at the electronic device, the data into a plurality of portions and associating, for each data portion, a respective fragment identifier to identify the respective data portion, thus generating a plurality of fragment identifiers;
- f) storing the plurality of fragment identifiers in the memory of the electronic device;
- g) transmitting, from the electronic device towards the telecommunications network, a storage request message carrying the plurality of data portions and the corresponding plurality of fragment identifiers;
- h) forwarding, by means of the telecommunications network, the storage request message towards at least one server component;
- i) receiving the storage request message at at least one server component and determining a number of a plurality of memories in which to store said plurality of data portions and the corresponding plurality of fragment identifiers;
- j) transmitting, from at least one server component towards the telecommunications network, a plurality of distribution messages, wherein each one of the distribution messages carries at least one data portion and the respective fragment identifier;
- k) receiving, at at least two fragment storage nodes, at least one distribution message;
- l) storing, for each storage node, at least one data portion and the respective fragment identifier in at least one memory associated with the storage node.