A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks <s> A. General-Purpose Data Storage <s> Secure decentralized namespaces have recently become possible due to cryptocurrency technology. They enable a censorship-resistant domainname system outside the control of any single entity, among other applications. Namecoin, a fork of Bitcoin, is the most prominent example. We initiate the study of decentralized namespaces and the market for names in such systems. Our extensive empirical analysis of Namecoin reveals a system in disrepair. Indeed, our methodology for detecting “squatted” and otherwise inactive domains reveals that among Namecoin’s roughly 120,000 registered domain names, a mere 28 are not squatted and have nontrivial content. Further, we develop techniques for detecting transfers of domains in the Namecoin block chain and provide evidence that the market for domains is thin-tononexistent. We argue that the state of the art in mechanism design for decentralized namespace markets is lacking. We propose a model of utility of different names to different participants, and articulate desiderata of a decentralized namespace in terms of this utility function. We use this model to explore the design space of mechanisms and analyze the trade-offs. <s> BIB001 </s> A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks <s> A. General-Purpose Data Storage <s> Bitcoin is the first and most popular decentralized cryptocurrency to date. In this work, we extract and analyze the core of the Bitcoin protocol, which we term the Bitcoin backbone, and prove two of its fundamental properties which we call common prefix and chain quality in the static setting where the number of players remains fixed. Our proofs hinge on appropriate and novel assumptions on the “hashing power” of the adversary relative to network synchronicity; we show our results to be tight under high synchronization. <s> BIB002 </s> A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks <s> A. General-Purpose Data Storage <s> Blockchains like Bitcoin and Namecoin and their respective P2P networks have seen significant adoption in the past few years and show promise as naming systems with no trusted parties. Users can register human meaningful names and securely associate data with them, and only the owner of the particular private keys that registered them can write or update the name-value pair. In theory, many decentralized systems can be built using these blockchain networks, such as new, decentralized versions of DNS and PKI. As the technology is relatively new and evolving rapidly, however, little production data or experience is available to guide design tradeoffs. ::: ::: In this paper, we describe our experiences operating a large deployment of a decentralized PKI service built on top of the Namecoin blockchain. We present various challenges pertaining to network reliability, throughput, and security that we needed to overcome while registering and updating over 33,000 entries and 200,000 transactions on the Namecoin blockchain. Further, we discuss how our experience informed the design of a new blockchain-based naming and storage system called Blockstack. We detail why we switched from the Namecoin network to the Bitcoin network for the new system, and present operational lessons from this migration. Blockstack is released as open source software and currently powers a production PKI system for 55,000 users. <s> BIB003 </s> A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks <s> A. General-Purpose Data Storage <s> The Bitcoin protocol allows to save arbitrary data on the blockchain through a special instruction of the scripting language, called OP_RETURN. A growing number of protocols exploit this feature to extend the range of applications of the Bitcoin blockchain beyond transfer of currency. A point of debate in the Bitcoin community is whether loading data through OP_RETURN can negatively affect the performance of the Bitcoin network with respect to its primary goal. This paper is an empirical study of the usage of OP_RETURN over the years. We identify several protocols based on OP_RETURN, which we classify by their application domain. We measure the evolution in time of the usage of each protocol, the distribution of OP_RETURN transactions by application domain, and their space consumption. <s> BIB004 </s> A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks <s> A. General-Purpose Data Storage <s> Today the cloud plays a central role in storing, processing, and distributing data. Despite contributing to the rapid development of IoT applications, the current IoT cloud-centric architecture has led into a myriad of isolated data silos that hinders the full potential of holistic data-driven analytics within the IoT. In this paper, we present a blockchain-based design for the IoT that brings a distributed access control and data management. We depart from the current trust model that delegates access control of our data to a centralized trusted authority and instead empower the users with data ownership. Our design is tailored for IoT data streams and enables secure data sharing. We enable a secure and resilient access control management, by utilizing the blockchain as an auditable and distributed access control layer to the storage layer. We facilitate the storage of time-series IoT data at the edge of the network via a locality-aware decentralized storage system that is managed with the blockchain technology. Our system is agnostic of the physical storage nodes and supports as well utilization of cloud storage resources as storage nodes. <s> BIB005 </s> A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks <s> A. General-Purpose Data Storage <s> With the dramatically increasing deployment of IoT devices, storing and protecting the large volume of IoT data has become a significant issue. Traditional cloud-based IoT structures impose extremely high computation and storage demands on the cloud servers. Meanwhile, the strong dependencies on the centralized servers bring significant trust issues. To mitigate these problems, we propose a distributed data storage scheme employing blockchain and cetrificateless cryptography. Our scheme eliminates the traditional centralized servers by leveraging the blockchain miners who perform “transaction” verifications and records audit with the help of certificateless cryptography. We present a clear definition of the transactions in a non-cryptocurrency system and illustrate how the transactions are processed. To the best of our knowledge, this is the first work designing a secure and accountable IoT storage system using blockchain. Additionally, we extend our scheme to enable data trading and elaborate how data trading can be efficiently and effectively achieved. <s> BIB006
The Cambridge's 2017 annual blockchain benchmarking study identified that the majority of blockchains use cases are still dominated by the capital market sectors  . Nevertheless, significant effort has recently been put into the study of using blockchains for storage of generic data, which aims at preserving the properties of data immutability and trackability in a decentralized environment. A naive approach is to "piggy-back" arbitrary data (e.g., non-transferable metadata) onto transactions in established public blockchains BIB004 . For example, in the Bitcoin network, nodes can use the special script instruction OP RETURN to indicate that the transaction output is unspendable and expected to be removed from the UTXO. Then, the transaction is allowed to carry a limited length of arbitrary data onto the chain. Typical examples of directly storing metadata onto blockchains can be found in asset ownership registration, e.g., Namecoin 24 BIB001 as a blockchain-based namespace system. Note that the direct onchain storage is limited by the message length and naturally requires full replication of each data object over the network. Then, this solution needs to be improved to lift the datalength constraint and reduce the synchronization cost. In BIB003 , where a naming system is constructed on top of Namecoin, the data storage is decoupled from the block serialization (i.e., name registration) process. In order to achieve this, the authors of BIB003 adopt a "virtualchain" to process registration/modification operations of names (e.g., domain names or IP addresses). Only the minimal metadata, i.e., the hashes of the name-payload pairs and state transitions are stored BIB002  Operations in the form of smart contract Interactions between entities (includ in g data flow) Figure 26 . A generic framework of using blockchains as system integrators for self-organization. The operation flow is realized as a sequence of smart contracts: (1) service registration/requests by the clients, (2) access/certificate granting by the providers, (3) requesting service hosting (e.g., auction for computation/storage offloading) by the providers, (4) peers answering (e.g., bidding for) the hosting requests, (5) delivery negotiation between hosting peers and clients and (6) service completion with proofs of delivery. on the blockchain. The third party storage is connected by virtualchain to store the payload of arbitrary length with digital signatures from the data owner. The same idea of decoupling the storage layer from the main blockchain can also be found in works such as BIB005 -  . The studies in BIB005 , BIB006 focus on data storage and sharing for large-scale IoTs. Therein, two similar blockchain frameworks are proposed by introducing the off-chain storage. In brief, the data generated by IoT devices is stored in DHTs, and only the pointer to the DHT storage address needs to be published onto the blockchain. The DHT-based storage is provided by an off-chain layer of decentralized DHT nodes. Upon seeing that transactions of storing/accessing requests are confirmed by the blockchain, the DHT nodes are responsible for accordingly storing or sending the data from/to the legitimate IoT nodes. In  , further discussion is provided regarding the issue of how to control the data replication factor in the network. Instead of using an off-chain storage layer, the design in  compromises the property of decentralization in exchange for a stronger control of replication synchronization. In the proposed framework of blockchain-like database, i.e., BigchainDB, P2P communication protocols are replaced by the built-in broadcasting protocol, and a committee (i.e., federation) of voting nodes are designated for block validation and ordering. Such a permissioned design shares a certain level of similarity with the framework of HyperLedger  . By doing so, it is possible for the federation nodes to control where to store a submitted transaction and flexibly determine the replication factor (i.e., the number of shards/replicas) per table in the underlying distributed database. Such design avoids the issue of full data replication over the network and makes it possible for constructing a large-scale, highthroughput database directly on a blockchain network.