Building a Secure Biomedical Data Sharing Decentralized App (DApp): Tutorial

J Med Internet Res. 2019 Oct 23;21(10):e13601. doi: 10.2196/13601.

Abstract

Decentralized apps (DApps) are computer programs that run on a distributed computing system, such as a blockchain network. Unlike the client-server architecture that powers most internet apps, DApps that are integrated with a blockchain network can execute app logic that is guaranteed to be transparent, verifiable, and immutable. This new paradigm has a number of unique properties that are attractive to the biomedical and health care communities. However, instructional resources are scarcely available for biomedical software developers to begin building DApps on a blockchain. Such apps require new ways of thinking about how to build, maintain, and deploy software. This tutorial serves as a complete working prototype of a DApp, motivated by a real use case in biomedical research requiring data privacy. We describe the architecture of a DApp, the implementation details of a smart contract, a sample iPhone operating system (iOS) DApp that interacts with the smart contract, and the development tools and libraries necessary to get started. The code necessary to recreate the app is publicly available.

Keywords: DApp; biomedical research; blockchain; decentralized application; geolocation; iOS; mobile health; privacy; smart contract; tutorial.

Publication types

  • Interactive Tutorial
  • Research Support, Non-U.S. Gov't

MeSH terms

  • Biomedical Technology / methods*
  • Biomedical Technology / standards
  • Computer Security*
  • Humans
  • Information Dissemination / methods*
  • Mobile Applications / standards*
  • Software