The uprise of Bitcoin and other peer-to-peer cryptocurrencies has opened many interesting and challenging problems
in cryptography, distributed systems, and databases. The
main underlying data structure is blockchain, a scalable fully
replicated structure that is shared among all participants and
guarantees a consistent view of all user transactions by all
participants in the system. In this tutorial, we discuss the
basic protocols used in blockchain, and elaborate on its main
advantages and limitations. To overcome these limitations,
we provide the necessary distributed systems background in
managing large scale fully replicated ledgers, using Byzantine Agreement protocols to solve the consensus problem.
Finally, we expound on some of the most recent proposals to
design scalable and efficient blockchains in both permissionless and permissioned settings. The focus of the tutorial is on
the distributed systems and database aspects of the recent
innovations in blockchains
more »
« less
Blockchains and Databases: Opportunities and Challenges for the Permissioned and the Permissionless
Bitcoin [12] is a successful and interesting example of a global scale peer-to-peer
cryptocurrency that integrates many techniques and protocols from cryptography, distributed systems, and databases. The main underlying data structure is
blockchain, a scalable fully replicated structure that is shared among all participants and guarantees a consistent view of all user transactions by all participants in the system. In a blockchain, nodes agree on their shared states
across a large network of untrusted participants. Although originally devised for
cryptocurrencies, recent systems exploit its many unique features such as transparency, provenance, fault tolerance, and authenticity to support a wide range of
distributed applications. Bitcoin and other cryptocurrencies use permissionless
blockchains. In a permissionless blockchain, the network is public, and anyone
can participate without a specific identity. Many other distributed applications,
such as supply chain management and healthcare, are deployed on permissioned
blockchains consisting of a set of known, identified nodes that still might not
fully trust each other. This paper illustrates some of the main challenges and
opportunities from a database perspective in the many novel and interesting
application domains of blockchains. These opportunities are illustrated using
various examples from recent research in both permissionless and permissioned
blockchains. Two main themes unite the various examples: (1) the important
role of distribution and consensus in managing large scale systems and (2) the
need to tolerate malicious failures. The advent of cloud computing and large
data centers shifted large scale data management infrastructures from centralized databases to distributed systems. One of the main challenges in designing
distributed systems is the need for fault-tolerance. Cloud-based systems typically
assume trusted infrastructures, since data centers are owned by the enterprises
managing the data, and hence the design typically only assumes and tolerates
crash failures. The advent of blockchain and the underlying premise that copies
of the blockchain are distributed among untrusted entities has shifted the focus
of fault-tolerance from tolerating crash failures to tolerating malicious failures.
These interesting and challenging settings pose great opportunities for database
researchers.
more »
« less
- PAR ID:
- 10238788
- Editor(s):
- Darmont, J; Novikov, B.; Wrembel, R.
- Date Published:
- Journal Name:
- Advances in Databases and Information Systems
- Page Range / eLocation ID:
- 3 - 7
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
The unique features of blockchains such as immutability, transparency, provenance, and authenticity have been used by many large-scale data management systems to deploy a wide range of distributed applications including supply chain management, healthcare, and crowdworking in permissioned settings. Unlike permissionless settings, e.g., Bitcoin, where the network is public, and anyone can participate without a specific identity, a permissioned blockchain system consists of a set of known, identified nodes that might not fully trust each other. While the characteristics of permissioned blockchains are appealing to a wide range of largescale data management systems, these systems, have to satisfy four main requirements: confidentiality, verifiability, performance, and scalability. Various approaches have been developed in industry and academia to satisfy these requirements with varying assumptions and costs. The focus of this tutorial is on presenting many of these techniques while highlighting the trade-offs among them. We demonstrate the practicality of such techniques in real-life by presenting three different applications, i.e., supply chain management, large-scale databases, and multi-platform crowdworking environments, and show how those techniques can be utilized to meet the requirements of such applicationsmore » « less
-
Wang, H. (Ed.)Once upon a time databases were structured, one size fitted all and they resided on machines that were trustworthy and even when they failed, they simply crashed. This era has come and gone as eloquently stated by Stonebraker and Cetintemel [16]. We now have key-value stores, graph databases, text databases, and a myriad of unstructured data repositories. The database community has wholeheartedly accepted the fact that the same information might come in different formats, modes and representations. We also accept that data might not be ”clean” and that data might need to be ”cleaned” due to the diverse sources of information. However, we, as a database community still cling to our 20th century belief that databases always reside on trustworthy, honest servers. Although the database community has always considered fault-tolerance as an integral building block of data management (remember ”D” in ACID is for Durability), we still have trouble accepting the fact that not all failures are simply crash failures and might in fact involve malicious and non-trustworthy infrastructure. This notion has been challenged and abandoned by many other Computer Science communities, most notably the security and the distributed systems communities. The rise of the cloud computing paradigm as well as the rapid popularity of blockchains demand a rethinking of our na¨ıve, comfortable beliefs in an ideal benign infrastructure. In the cloud, clients store their sensitive data in remote servers owned and operated by cloud providers. The Security and Crypto Communities have made significant inroads to protect both data and access privacy from malicious untrusted storage providers using encryption and oblivious data stores. The Distributed Systems and the Systems Communities have developed consensus protocols to ensure the fault-tolerant maintenance of data residing on untrusted, malicious infrastructure. However, these solutions face significant scalability and performance challenges when incorporated in large scale data repositories. Novel database designs need to directly address the natural tension between performance, fault-tolerance and trustworthiness. This is a perfect setting for the database community to lead and guide.more » « less
-
null (Ed.)Blockchain is the technology used by developers of cryptocurrencies, like Bitcoin, to enable exchange of financial “coins” between participants in the absence of a trusted third party to ensure the transaction, such as is typically done by governments. Blockchain has evolved to become a generic approach to store and process data in a highly decentralized and secure way. In this article, we review blockchain concepts and use cases, and discuss the challenges in using them from a governmental viewpoint. We begin with reviewing the categories of blockchains, the underlying mechanisms, and why blockchains can achieve their security goals. We then review existing known governmental use cases by regions. To show both technical and deployment details of blockchain adoption, we study a few representative use cases in the domains of healthcare and energy infrastructures. Finally, the review of both technical details and use cases helps us summarize the adoption and technical challenges of blockchains.more » « less
-
Many existing blockchains do not adequately address all the characteristics of distributed system applications and suffer from serious architectural limitations resulting in performance and confidentiality issues. While recent permissioned blockchain systems, have tried to overcome these limitations, their focus has mainly been on workloads with no-contention, i.e., no conflicting transactions. In this paper, we introduce OXII, a new paradigm for permissioned blockchains to support distributed applications that execute concurrently. OXII is designed for workloads with (different degrees of) contention. We then present ParBlockchain, a permissioned blockchain designed specifically in the OXII paradigm. The evaluation of ParBlockchain using a series of benchmarks reveals that its performance in workloads with any degree of contention is better than the state of the art permissioned blockchain systems.more » « less