Towards Decentralized Complex Queries over Distributed Ledgers: a Data Marketplace Use-case

04/28/2021 ∙ by Mirko Zichichi, et al. ∙ Universidad Politécnica de Madrid University of Urbino University of Bologna 0

Distributed Ledger Technologies (DLT) and Decentralized File Storages (DFS) are becoming increasingly used to create common, decentralized and trustless infrastructures where participants interact and collaborate in Peer-to-Peer interactions. A prominent use case is represented by decentralized data marketplaces, where users are consumers and providers at the same time, and trustless interactions are required. However, data in DLTs and DFS are usually unstructured and there are no efficient mechanisms to query a certain type of data for the search in the market. In this paper, we propose the use of a Distributed Hash Table (DHT) as a layer on top of DLTs where, once the data are acquired and stored in the ledger, these can be searched through multiple keyword based queries, thanks to the lookup functionalities offered by the DHT. The DHT network is a hypercube overlay structure, organized for an efficient processing of multiple keyword-based queries. We provide the architecture of such solution for a decentralized data marketplace and an analysis based on a simulation that proves the viability of the proposed approach.



There are no comments yet.


page 6

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

The transformation brought about by digital technologies has data at its core and has had a significant impact on economies and societies around the world. The ability to easily get hold of data has the potential to create a data market where more and more users are consumers and providers at the same time. However, obtaining large amounts of data that is not of dubious or false origin is often a challenge.

In order to tackle this issue, Distributed Ledger Technologies (DLT) and the realm of decentralized technologies (e.g. Decentralized File Storages (DFS)), that are emerging around them, come to the rescue [18, 24]. By creating a common, decentralized and trustless infrastructure, i.e. a decentralized data marketplace, it will be possible for data consumers and providers to interact and collaborate in Peer-to-Peer interactions [16, 15]. DLTs enable peers to engage in financial transactions without establishing a trust relationship. Benefits often cited of DLTs, indeed, include enabling secure transactions between untrusted parties through consensus mechanisms, high availability, and the ability to automate and enforce processes through smart contracts [6].

With the management of market interactions based on the use of DLT and decentralized technologies, what remains is to manage the efficient search of data. Indeed, data inserted in the ledgers and DFS is usually unstructured and no efficient mechanisms are present to query about a certain kind of data. Thus, even if anyone can run public DLTs and DFS nodes, such as Ethereum [6] and IPFS [2], data lookup can be very slow and expensive. Data are rarely stored in a format that can be consumed directly and need to be filtered and indexed before any complex query. Data are referenced through addresses or indexes that, most of the time, are not related to the content of the data and are not useful for categorisation.

In this paper we propose a system for the search of data according to their content or meaning. Our approach relies on the use of a Distributed Hash Table (DHT) as a layer placed over the DLTs. According to this solution, once acquired and recorded in DLTs, data can be searched through keywords thanks to the lookup features offered by the DHT. The distinctive feature of the DHT network is that it is essentially a hypercube overlay structure [12], in which each node will index objects representing specific indexed and addresses of a DLT using keywords. An interesting aspect of the specific hypercube-based DHT is that it allows to efficiently search for objects matching a specific keywords set . Moreover, it allows searching for supersets of , thus enabling the construction of queries which are more complex than a single keyword, value lookup.

We take decentralized data markets as use case for our proposal, however, our approach is independent to the underlying DLT and can be easily extended to other distributed ledgers and DFS. We provide a specific system design that is tailor-made for IOTA, a DLT designed for the IoT industry and data sharing, that exploits the use of a Direct Acyclical Graph (DAG), i.e. the Tangle [17]. We also provide results coming from a detailed simulation analysis, which confirm that our system allows for multiple keyword searches in reasonable time (of the order of the logarithm of the hypercube dimension). We thus give a first contribution towards the creation of a system which allows for complex queries on top of decentralized ledgers and file systems.

The remainder of the paper is organized as follows. Section II provides a background on the technologies used. Section III present a description of the architecture and of the DHT structure. In Section IV the system simulation is showed with some results that are discussed in V. Finally, Section VI provides the concluding remarks.

Ii Background

Ii-a Distributed Hash Table (DHT)

A Distributed Hash Table (DHT) is a distributed infrastructure and storage system that provides the functionalities of a hash table, i.e. a data structure that efficiently maps “keys” into “values”. It consists on a peer-to-peer network of nodes that are supplied with the table data and on a routing mechanism that allows searching for objects in the network [12]. Each node in the DHT network is responsible for part of the entire system’s keys and allows the objects mapped to the keys to be reached. In addition, each node stores a partial view of the entire network, with which it communicates for routing information. To reach nodes from one part of the network to another, a routing procedure typically traverses several nodes, approaching the destination at each hop. This type of infrastructure has been used as a key element to implement complex and decentralized services, such as Content-Addressable Networks (CANs) [19], DFS [2], cooperative web caching, multicast and domain name services.

Ii-B Distributed Ledger Technologies (DLTs)

A Distributed Ledger Technology (DLT) consists in a network of nodes, each of which maintains a replicated copy of a data ledger. The updates to the ledger are agreed following a consensus mechanism. Consensus mechanisms are implemented in order to enable two parties to transact directly without the need of a third party. The main peculiarity of DLTs is that they ensure untampered data availability. Thus, they promote the development of trustful and reliable service applications [1, 14, 15, 24].

There are different implementations of DLTs, each one with its pros and cons. One of the main distinctions lies on the support of smart contracts, e.g. Ethereum [6]. This feature is quite often in contrast with other key features, related to the level of scalability and responsiveness of the system [3]. Conversely, some implementations are thought to provide better scalability at the expense of lacking some features, e.g. based on Direct Acyclical Graphs (DAGs).

Ii-B1 Iota

IOTA is a DLT that allows hosts in a network to transfer immutable data among each other. In the IOTA ledger, i.e. the Tangle [17], the vertices of a DAG represent transactions and edges represent validations to previous transactions. The validation approach is thought to address two major issues of traditional blockchain-based DLTs, i.e. latency and fees. IOTA has been designed to offer fast validation, and no fees are required to add a transaction to the Tangle [5].

An important feature offered by IOTA is the Masked Authenticated Messaging (MAM). MAM is a data communication protocol built upon the Tangle, which adds the functionality to emit and access an encrypted data stream over the Tangle [5]. Since the MAM protocol relies over the underlying Tangle, it is referred as a ”layer two” solution. Data streams assume the form of channels, i.e. a linked list of ordered messages stored in transactions. Once a channel is created, only the channel owner can publish encrypted messages on it. Users that possess the MAM channel encryption key (or set of keys, since each message can be encrypted using a different key) are enabled to decode the message and messages are addressed by a “root” value. In other words, MAM enables users to subscribe and follow a stream of data, generated by some device. From a functional point of view, channels are an ordered set of messages, in fact a channel is referenced through the root of a “starting” message.

Ii-C Related Works

The popularity of IoT devices and smartphones and the associated generation of large amounts of data derived from their sensors has resulted in an interest of individuals in the production and consumption of data via a data marketplace [7]. Making data (which are mostly personal) available for access and trade is expected to become a part of the data-driven digital economy [9]. As introduced earlier, the use of DLTs has been proposed for the implementation of data marketplaces to take advantage of [8, 22]: (i) no need to rely on third party platforms; (ii) better resilience against network partitioning and single point of failure; (iii) privacy preserving mechanisms [14]. Most of the related works investigate on the data distribution through DLTs, focusing in particular on the use of off-chain storage based on DFS with data links referenced in DLTs [1, 14, 24]. In [18], authors provide the implementation of a data marketplace based on the use of DFS for storing data and a payment protocol that exploits Ethereum smart contracts [6]. Similarly, in [16, 15] the proposed systems are based on P2P interactions and smart contracts to reach an agreement, while also integrating other components such as the IOTA DLT.

On the other hand, decentralized data search on DLT and DFS is a broader field that has been addressed by both scholars and developers. The Graph is one of the first protocols with the aim to provide a “Decentralized Query Protocol” [20]. The Graph network consists in a layer two protocol based on the use of a Service Addressable Network, i.e. a P2P network for locating nodes capable of providing a particular service such as computational work (instead of objects just as a CAN). In [11], authors propose a layer one keyword search scheme which implements oblivious keyword search in DFS. Their protocol is based on keywords search with authorization for maintaining privacy with retrieval requests stored as a transaction in a blockchain (i.e. layer one). Finally, a layer two solution for keywords search in DFS has been proposed in [21], where a combination of a decentralized B+Tree and HashMaps is used to index IPFS objects [2].

Iii System Architecture

Iii-a Decentralized Data Marketplace

Fig. 1: Decentralized Data Marketplace architecture scheme.

Our contribution focuses on the design of a system that allows to create queries based on the multiple keyword searches. We apply our solution to the specific context of a decentralized data market. As shown in Figure 1, the different architectural components are arranged to provide a data marketplace service, based on decentralized technologies:

  • Decentralized File Storages (DFS) can be used to store data in an encrypted form, offering high availability [26].

  • A decentralized access control system can be leveraged by data consumers to get the data from the DFS once they have been authorized (e.g. through a token) [23].

  • Smart contracts have the ability to provide a distributed authorization mechanism following a policy indicated by the data provider (e.g. access through payment) [24].

  • A DLT such as IOTA and the use of MAM channels enable the data indexing and validation (in form of hash pointers) [25, 24].

  • A distributed mechanism for the search of data is in charge of associating keywords to addresses or references stored in DLTs, smart contracts and DFS.

In this paper, we specifically focus on the retrieval of data stored in DLTs (red dashed arrow in Figure 1). In particular, our use case consists in the research of data stored in IOTA MAM channels messages. These messages contain data itself (in an encrypted form) or a reference to the data stored in DFS, e.g. hash pointers.

Iii-B Layer Two Lookup Scheme

Fig. 2: Layers in the context of DLTs. Layer zero consists in the DLT network, while layer one is the set of software frameworks run by the network nodes (e.g. the ledger). Layer two solutions are the ones that leverage layer one for other services, i.e. the DHT Keyword Search in our case.

We designed a layer two solution using a DHT with the aim of facilitating the search of large amounts of data through specific keywords (Figure 2). While layer one protocols and technologies in DLTs define the form of the ledger, its distribution, consensus mechanism and features, layer two solutions are built on top of layer one without changing its trust assumptions, i.e. the consensus mechanism, or the structure[10]. Layer two protocols allow users to communicate through private channels, reducing the transaction load on the underlying DLT.

One of the main use case of DLTs consists in data sharing, e.g. vehicles [24, 25], IoT devices [7], smartphone data and personal data [14, 23]. Once collected, data are stored in a DFS and/or referenced in a DLT via hash digests. In our case, we use the IOTA DLT because it allows us to manage the upload of data in the form of messages streams thanks to the MAM protocol.

In order to obtain information from a message within a MAM channel, it is necessary to know the exact address of the message or of the channel, i.e. the root value. However, the root of a MAM channel does not provide any information related to the type and kind of messages. No mechanisms are provided for the discovery based on the content of certain data/MAM channels that are available in the Tangle. This is the issue we are dealing with in this paper. To surmount such limitation, in our system every single message included in a MAM channel is indexed by a keyword set. Such keyword set is then exploited to search for specific kinds of contents.

Iii-C Hypercube based DHT

Considering as the set of all MAM messages in IOTA, the idea is to map each object to a keyword set , where is the keyword space, i.e. the set of all keywords considered. In general, we refer to as a keyword set, that can be associated to a data content (i.e. the metadata associated to it) or a query (i.e. we are looking to some content with a specific metadata). By using a uniform hash function , a keyword set can be represented by the result of such function, i.e. a string of bits where the s are set in the positions given by . In other words, each has a fixed position in the -bit string given by and that position can be associated to more than one (i.e. hash collision). Then, every keyword set is represented by a -bit string where the positions are “activated”, i.e. are set to 1, by all the .

We use these -bit strings to identify logical nodes in a DHT network, e.g. for a node id can take values such as or . In particular, inspired to [12], we refer to the geometric form of the hypercube to organise the topological structure of such DHT network. is a -dimensional hypercube, with a set of vertices and a set of edges connecting them. Each of the vertices represents a logical node, whilst, edges are formed when two vertices differ of only one bit, e.g. and share an edge. In the network, the nodes represented by vertices that share an edge are network neighbors as well. To find out how far apart two vertices and are within the hypercube, the Hamming distance can be used, i.e. where is the XOR operation and is the bit at the -th position of the string, e.g. for and , we have .

Iii-D Keyword-based Complex Queries

In our system, contents can be discovered through queries that are based on the lookup of multiple keywords, associated to data. Such queries are processed by the DHT-based indexing scheme described in the previous section. The base idea is to associate a keyword set to each MAM message through the DHT. In particular each logical node will locally store an index table that associates a keyword set to the root of a MAM message, i.e. the reference of an object . Then, given a keyword set , the associated -bit string is used to reach the logical node responsible for through a routing mechanism, in order to obtain the set of . For instance, with “Bologna”, “San Donato”, “Temperature”, “Celsius” and representing the keyword set “Bologna, Temperature”, if is the node which is responsible for because the id of is equal to , then is in charge of maintaining a list of roots of MAM messages containing the temperature of the city of Bologna.

Iii-D1 Multiple Keywords Search

Our system provides two functions for making queries based on multiple keywords:

  • Pin Search - this procedure aims at obtaining all and only the objects associated exactly with a keyword set , i.e., . Upon request, the responsible node returns to the requester all the roots of the corresponding objects that it keeps in its table, associated to .

  • Superset Search - this procedure is similar to the previous one, but in addition it also searches for objects that can be described by keywords sets that include K, i.e., . Since the possible outcomes of this search can be quite large, a limit is set.

For the Pin Search we need to retrieve objects only from one node. Whilst, for Superset Search, we need to retrieve objects from all nodes that are responsible for a Superset of . Such nodes are contained in the sub-hypercube induced by the node responsible for , where includes all the nodes that “contain” , i.e., , while includes all the edges between such nodes. Thus, during a Superset Search, the induced sub-hypercube is computed and then only nodes in such sub-hypercube are queried using a spanning binomial tree as described in [12] (definition 4.2). The limit is a query parameter that indicates the maximum amount of objects to return when traversing the spanning binomial tree.

Iii-D2 The Query Routing Mechanism

Queries can be injected into the system by users external to the DHT to any network node. Through a routing mechanism, the query will reach reach a node that is responsible for a keyword set . This process is described in detail in Algorithm 1.

Input: query, keyword set, limit
Data: node string, ,
1 if  then
2       return QueryRoutingMechanism()
4       if  then
5             return GetObjectsFromIndexTable(, )
6       else if  then // i.e. SupersetSearch
7             GetObjectsFromIndexTable(, ) Length(objectsList) while  do
8                   QueryRoutingMechanism() objectsList objectsList + cList Length(cList)
9             end while
10            return objectsList
11       end if
13 end if
Algorithm 1 QueryRoutingMechanism

Iv Performance Evaluation

Fig. 3: Number of hops on average for the Pin Search (left) and Superset Search (right).
Nodes Num. Average Standard Deviation Confidence Interval (95%)
100 1000 10000 100 1000 10000 100 1000 10000
128 3.64 3.2 3.5 1.33 1.32 1.12 (3.27,4.01) (2.83,3.57) (3.19,3.81)
256 4.08 4.28 3.66 1.45 1.48 1.31 (3.68,4.48) (3.87,4.69) (3.29,4.03)
512 4.62 4.8 4.72 1.57 1.70 1.24 (4.18,5.06) (4.33,5.27) (4.37,5.07)
1024 5.02 4.96 4.9 1.68 1.67 1.69 (4.55,5.49) (4.49,5.43) (4.43,5.37)
2048 5.48 6.04 5.48 1.76 1.85 1.69 (4.99,5.97) (5.53,6.55) (5.01,5.95)
4096 6.02 6.18 5.96 1.55 1.61 1.62 (5.59,6.45) (5.73,6.63) (5.51,6.41)
8192 6.78 7.08 6.28 1.63 1.60 1.64 (6.33,7.23) (6.64,7.52) (5.82,6.74)
TABLE I: Pin Search Number of Hops.
Nodes Num. Average Standard Deviation Confidence Interval (95%)
100 1000 10000 100 1000 10000 100 1000 10000
128 18.28 4.54 3.52 8.44 1.54 1.19 (15.94,20.62) (4.11,4.97) (3.19,3.85)
256 35.90 6.80 4.16 17.89 2.25 1.43 (30.94,40.86) (6.17,7.43) (3.76,4.56)
512 51.18 12.16 4.46 37.85 3.29 1.31 (40.69,61.67) (11.25,13.07) (4.10,4.82)
1024 91.06 21.70 5.08 72.44 6.23 1.68 (70.98,111.14) (19.97,23.43) (4.61,5.55)
2048 115.70 34.56 7.84 98.39 13.00 1.98 (88.43,142.97) (30.96,38.16) (7.29,8.39)
4096 196.00 63.38 11.92 186.88 25.37 2.64 (144.20,247.80) (56.35,70.41) (11.19,12.65)
8192 243.90 120.38 20.38 253.59 68.65 6.28 (173.61,314.19) (101.35,139.41) (18.64,22.12)
TABLE II: Superset Search Number of Hops.

We conducted a simulation assessment using PeerSim, a simulation environment developed to build P2P networks using extensible and pluggable components [13]. Once designed and implemented the hypercube structured DHT for multiple keyword search, we focused on the study of the efficiency of the routing mechanism. Several tests were carried out assuming different scenarios and in the following, we report on the main outcomes we obtained.

Iv-a Evaluation

Iv-A1 Tests Setup

In order to evaluate Pin Search and Superset Search, tests were carried out on different sizes of the hypercube. Specifically, the number of nodes was varied from 128 () up to 8192 (). Then, for each dimension a different number of randomly created keywords-objects (i.e. MAM message roots) was inserted in the DHT. The number of objects taken into consideration varies from , and finally . Given the nature of the tests, i.e., a simulated network, we considered the number of hops required for each new query as a parameter to be evaluated. The query keyword sets were randomly generated and the starting node randomly chosen. For each type of test, repetitions were performed, and then the average results were calculated. For the Superset search, the limit value was set to objects.

Iv-A2 Pin Search

As shown in Figure 3 (left), the number of hops required to transmit a message from the source node to the destination node increases as the hypercube dimension increases, i.e. nodes number. The average number of hops increases from about for nodes () to about for nodes (). This behavior can be explained by the fact that by increasing the hypercube dimension the path that a message must take before reaching its destination is automatically enlarged. The number of objects in the testbed does not affects the final outcome, since the path to reach the target node only follows the rationale of the hypercube and does not depend on the number of keyword-object associations stored in the DHT.

Iv-A3 Superset Search

The tests performed on the Superset Search present results with dissimilar values with respect to the previous case (Figure 3, right). At a first glance, in fact, those apparently anomalous values stand out, corresponding to a high number of hops between nodes, which decreases with the referenced objects number. This phenomenon can be explained by the fact that the Superset search traverses the spanning binomial tree of the sub-hypercube induced by the node responsible for the keyword set, until it finds the number of objects indicated by the limit, i.e. . Hence, in a network with many nodes and few objects, the query might take longer to reach that limit, because many nodes are “empty”, i.e. do not reference any object. Considering the case of nodes () and objects, in a Pin search hops are required, on average. In a Superset search other hops are needed to reach other nodes containing other results of the superset search, until the limit is reached.

V Discussion

The results provided in the previous section confirm what was expected due to the hypercube structure of the network: the Pin Search number of hops are of the order of the logarithm of the hypercube dimension, i.e. . In particular on average they are equal to . For what concerns the Superset Search number of hops, on average, it is equal to , where is the limit of the number of nodes in the sub-hypercube to reach.

These results show the goodness of the solution in the trade-off between memory space and response time. In traditional DLTs, such as Ethereum and IOTA, searching for a datum in a transaction means traversing all the “transaction sea” in the ledger and for this reason the current solution is to use centralized “DLT explorers” [4]. On the other hand, in the case of sharded DLTs, the proposed solution could become a layer one protocol to search the data between many shards.

Finally, while in this study we focused on DLTs as the underlying data storage, it is worth mentioning that, due to the origins of the hypercube proposal. [12], DFS systems can perfectly fit with such architecture, since most of them are based on DHT, already. Indeed, the implementation of the hypercube for keyword search in IPFS is matter of future work.

Vi Conclusions

In this paper, we have taken decentralized data markets as a use case and provided a layer two solution based on the use of DHT with the aim of facilitating the retrieval of large amounts of data using specific keywords. We focused specifically on retrieving data stored in IOTA MAM channel messages. However, our approach can be easily extended to other DLTs and DFSs. The solution we provided consists of a DHT network structured as a hypercube to provide an efficient routing mechanism based on keyword sets. We also provided some results from a detailed simulation analysis, which shows that searching for an object with an exact keyword set requires on average hops, where is the size of the hypercube. This solution presents an efficient trade-off between memory space and response time, thus making a first contribution towards the creation of a system that allows complex queries on DLT and DFS.


  • [1] M. Aiello, E. Cambiaso, R. Canonico, L. Maccari, M. Mellia, A. Pescapè, and I. Vaccari (2020) IPPO: a privacy-aware architecture for decentralized data-sharing. arXiv preprint arXiv:2001.06420. Cited by: §II-B, §II-C.
  • [2] J. Benet (2014) Ipfs-content addressed, versioned, p2p file system. arXiv preprint arXiv:1407.3561. Cited by: §I, §II-A, §II-C.
  • [3] M. Bez, G. Fornari, and T. Vardanega (2019) The scalability challenge of ethereum: an initial quantitative analysis. In 2019 IEEE International Conference on Service-Oriented System Engineering (SOSE), pp. 167–176. Cited by: §II-B.
  • [4] (2020) Blockchain explorer. External Links: Link Cited by: §V.
  • [5] J. Brogan, I. Baskaran, and N. Ramachandran (2018) Authenticating health activity data using distributed ledger technologies. Computational and Structural Biotechnology Journal 16. Cited by: §II-B1, §II-B1.
  • [6] V. Buterin et al. (2013) Ethereum white paper. External Links: Link Cited by: §I, §I, §II-B, §II-C.
  • [7] A. Crabtree, T. Lodge, J. Colley, C. Greenhalgh, K. Glover, H. Haddadi, Y. Amar, R. Mortier, Q. Li, J. Moore, et al. (2018) Building accountability into the internet of things: the iot databox model. Journal of Reliable Intelligent Environments 4 (1), pp. 39–55. Cited by: §II-C, §III-B.
  • [8] F. de la Vega, J. Soriano, M. Jimenez, and D. Lizcano A peer-to-peer architecture for distributed data monetization in fog computing scenarios. Wireless Communications and Mobile Computing 2018. Cited by: §II-C.
  • [9] European Commission (2020) European data governance (data governance act). Cited by: §II-C.
  • [10] L. Gudgeon, P. Moreno-Sanchez, S. Roos, P. McCorry, and A. Gervais (2020) SoK: layer-two blockchain protocols. In International Conference on Financial Cryptography and Data Security, Cited by: §III-B.
  • [11] P. Jiang, F. Guo, K. Liang, J. Lai, and Q. Wen (2020) Searchain: blockchain-based private keyword search in decentralized storage. Future Generation Computer Systems 107, pp. 781–792. External Links: ISSN 0167-739X, Document, Link Cited by: §II-C.
  • [12] Y. Joung, L. Yang, and C. Fang (2007) Keyword search in dht-based peer-to-peer networks. IEEE Journal on Selected Areas in Communications 25 (1), pp. 46–61. Cited by: §I, §II-A, §III-C, §III-D1, §V.
  • [13] A. Montresor and M. Jelasity (2009) PeerSim: a scalable p2p simulator. In 2009 IEEE Ninth International Conference on Peer-to-Peer Computing, pp. 99–100. Cited by: §IV.
  • [14] M. M. H. Onik, C. Kim, N. Lee, and J. Yang (2019) Privacy-aware blockchain for personal data sharing and tracking. Open Computer Science 9 (1), pp. 80–91. Cited by: §II-B, §II-C, §III-B.
  • [15] K. R. Özyilmaz, M. Doğan, and A. Yurdakul (2018) IDMoB: IoT data marketplace on blockchain. In Proc. of the Crypto Valley Conference on Blockchain Technology (CVCBT), Cited by: §I, §II-B, §II-C.
  • [16] J. Park, T. Youn, H. Kim, K. Rhee, and S. Shin (2018) Smart contract-based review system for an iot data marketplace. Sensors 18 (10), pp. 3577. Cited by: §I, §II-C.
  • [17] S. Popov (2016) The Tangle. External Links: Link Cited by: §I, §II-B1.
  • [18] G. S. Ramachandran, R. Radhakrishnan, and B. Krishnamachari (2018) Towards a decentralized data marketplace for smart cities. In 2018 IEEE International Smart Cities Conference (ISC2), Vol. , pp. 1–8. External Links: Document Cited by: §I, §II-C.
  • [19] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker (2001) A scalable content-addressable network. In Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications, pp. 161–172. Cited by: §II-A.
  • [20] The Graph (2020) The graph protocol. External Links: Link Cited by: §II-C.
  • [21] L. Zhu, C. Xiao, and X. Gong (2020) Keyword search in decentralized storage systems. Electronics 9 (12). External Links: Link, ISSN 2079-9292, Document Cited by: §II-C.
  • [22] L. Zhu, C. Xiao, and X. Gong (2020) Keyword search in decentralized storage systems. Electronics 9 (12), pp. 2041. Cited by: §II-C.
  • [23] M. Zichichi, S. Ferretti, G. D’Angelo, and V. Rodríguez-Doncel (2020) Personal data access control through distributed authorization. In 2020 IEEE 19th International Symposium on Network Computing and Applications (NCA), pp. 1–4. Cited by: 2nd item, §III-B.
  • [24] M. Zichichi, S. Ferretti, and G. D’Angelo (2020) A framework based on distributed ledger technologies for data management and services in intelligent transportation systems. IEEE Access. Cited by: §I, §II-B, §II-C, 3rd item, 4th item, §III-B.
  • [25] M. Zichichi, S. Ferretti, and G. D’Angelo (2020) Are Distributed Ledger Technologies Ready for Intelligent Transportation Systems?. In Proc. of the 3rd Workshop on Cryptocurrencies and Blockchains for Distributed Systems (CryBlock 2020), co-located with the 26th Annual International Conference on Mobile Computing and Networking (MobiCom 2020), ACM, pp. 1–6. Cited by: 4th item, §III-B.
  • [26] M. Zichichi, S. Ferretti, and G. D’Angelo (2020) On the efficiency of decentralized file storage for personal information management systems. In Proc. of the 2nd International Workshop on Social (Media) Sensing, co-located with 25th IEEE Symposium on Computers and Communications 2020 (ISCC2020), pp. 1–6. Cited by: 1st item.