A method for exchanging a data block between a first network enabled device and a second network enabled device comprising: a) receiving from the first network enabled device, by one or more nodes (131, 132, 133) in a distributed database system, a data message including first metadata in clear text relating to encrypted data and first encrypted private data that has been encrypted using a symmetric key, the metadata comprising (i) first permissions data, (ii) time period validation data, and (iii) encryption parameters; b) storing, in one or more databases amongst a plurality of databases (131A, 132A, 133A) by one or more nodes (131, 132, 133) in the distributed database system,the first metadata and first encrypted private data; c) receiving, by the one or more nodes (131, 132, 133), an access request from the second network-enabled device to access the first encrypted private data associated with the first network-enabled device, the access request comprising a first network-enabled device identifier and a second network-enabled device identifier; d) locating, by the one or more nodes (131, 132, 133), and using the first network-enabled device identifier, a location of the first encrypted private data; e) determining, by the one or more nodes (131, 132, 133), using the first permissions data associated with the first private data and using the second network-enabled device identifier, if the second network-enabled device is authorized to access the first private data; and f) in a case that the second network enabled device is authorized to access the first private data, providing (S508a), by the one or more nodes (131, 132, 133), the first private data and the first metadata to the second network-enabled device, wherein the second network-enabled device receives and decrypts the encrypted first private data for use by the second network-enabled device, wherein in step e), the second network-enabled device decrypts the first private data using the symmetric key that is also known to the first network-enabled device, and wherein the first network-enabled device shares the symmetric key with the second network-enabled device using Diffie-Hellman key exchange protocol. a) receiving from the first network enabled device, by one or more nodes (131, 132, 133) in a distributed database system, a data message including first metadata in clear text relating to encrypted data and first encrypted private data that has been encrypted using a symmetric key, the metadata comprising (i) first permissions data, (ii) time period validation data, and (iii) encryption parameters; b) storing, in one or more databases amongst a plurality of databases (131A, 132A, 133A) by one or more nodes (131, 132, 133) in the distributed database system,the first metadata and first encrypted private data; c) receiving, by the one or more nodes (131, 132, 133), an access request from the second network-enabled device to access the first encrypted private data associated with the first network-enabled device, the access request comprising a first network-enabled device identifier and a second network-enabled device identifier; d) locating, by the one or more nodes (131, 132, 133), and using the first network-enabled device identifier, a location of the first encrypted private data; e) determining, by the one or more nodes (131, 132, 133), using the first permissions data associated with the first private data and using the second network-enabled device identifier, if the second network-enabled device is authorized to access the first private data; and f) in a case that the second network enabled device is authorized to access the first private data, providing (S508a), by the one or more nodes (131, 132, 133), the first private data and the first metadata to the second network-enabled device, wherein the second network-enabled device receives and decrypts the encrypted first private data for use by the second network-enabled device, wherein in step e), the second network-enabled device decrypts the first private data using the symmetric key that is also known to the first network-enabled device, and wherein the first network-enabled device shares the symmetric key with the second network-enabled device using Diffie-Hellman key exchange protocol. wherein in step e), the second network-enabled device decrypts the first private data using the symmetric key that is also known to the first network-enabled device, and wherein the first network-enabled device shares the symmetric key with the second network-enabled device using Diffie-Hellman key exchange protocol.