Skip to main content

Developing Decentralized Applications with Blockchain

Primary Investigators:
Douglas C. Schmidt
Brief Description of Project:
Advances in Artificial Intelligence and the Internet of Things during the past decade have lead to a resurgence in the interest in distributed and dispersed computing, especially in social and community applications. One consequence of this resurgence is the increased focus on decentralized ledger technology (referred to as blockchains) and its cryptocurrency applications (such as Bitcoin) due to key properties, such as decentralization, disintermediation of trust, and immutability. These properties make blockchains suitable for decentralized apps (DApps) that require trustless exchange, consistent and incorruptible transaction records, as well as operational use cases beyond cryptocurrencies. For example, blockchains have the potential to revolutionize the smart grid due to its ability to provide an efficient and distributed mechanism for clearing of energy transactions in electrical power distribution systems. Similarly, blockchains provide key abilities needed to address data interoperability and access control challenges while delivering patient data securely to healthcare organizations and devices. This project will involve developing DApps using blockchain technologies to gain insights and experience into this new approach to distributed computing.

Desired Qualifications:
Strong programming abilities in Java and/or C++ is required. The student should have taken courses equivalent to CS 3251 (Intermediate Software design) and CS 4283 (Computer Networking). Ability to work in a team environment.
Nature of Supervision:
The student will work with the faculty mentor and the blockchain team on the project. They will participate in the weekly meetings.
A Brief Research Plan (period is for 10 weeks):
Weeks 1-2: Student will learn about the blockchain technologies in general and blockchain platforms such as Ethereum and go through the existing DApps and samples.
Weeks 3-5- Student will complete an initial implementation of a DApp, which will be decided based on the interest of the student and discussion with the faculty mentor. Possible applications include a transactive energy DApp or a medical DApp.
Weeks 4-8- Student will finalize the application implementation and encode the DApp using the appropriate blockchain platform (e.g., Ethereum).
Week 9-10- Student will finalize their demonstrations and write up a report of their results. 

Number of Open Slots: 2
Contact Information:
Name: Douglas C. Schmidt
Title: Cornelius Vanderbilt Professor of Computer Science and Engineering
Department: EECS
Campus Address: 1025 16th Ave South
Mailing Address: 1025 16th Ave South
Nashville, Tennessee 37203
United States
Phone: (615) 294-9573