Darmont, J
; Novikov, B.
; Wrembel, R.
(Ed.)
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