Data Storage Network (DSN)

The Data Storage Networks (DSN) is a generic term that describes a specific set of software with the purpose of storing and retrieving data on the internet. The usage of the term DSN is simply a layer of abstraction: we don't need to know how a specific DSN works internally (for example Kademlia or IPFS). We simply need to know that it can store blobs of data and later be retrieved using the respective identifier.

We must be able to verify the integrity of the content returned by a DSN, thus we make use of hashes. A small hash of the content is created and always included when referencing data stored on a DSN. To verify the integrity of a file we got from a potentially malicious or untrusted node, we simply recompute the hash of the retrieved file and compare it with the hash we trust. The content is considered to be trusted if the hashes match, please note that not all hashing algorithms are suited for integrity checks due to collisions.

dsn

This technique is not novel, most decentralized DSNs use the hash itself as an identifier to retrieve the corresponding file. An extra field for these identifiers was added however to allow simpler protocols such as HTTP, that do not provide integrity checks by default.

A DSN can store any blobs of data, but for our use case the data will be market listings, messages between sender and receiver and all other accompaniedcd .. data (such as but not limited to images and videos).

It is however advised to use one main protocol to prevent segmentation from occuring, which can potentially create interoperability issues between clients and may negatively impact privacy due to smaller sized networks.

Data Storage ID's

DSN ID DSN NAME PRIVACY
0x01 SMSG +++
0x02 HTTPS ---
0x03 ONION ++
... ... 0

Standard: SMSG

Why?

Generic DHT

A template is available which should be used when submitting new entries that are variants but structurally-equal to the typical DHT model where only a hash is required to retrieve content.