Cryptocurrencies such as Bitcoin are in essence peer-to-peer networks that involve an arbitrary number of nodes and perform two basic tasks i) handling transactions between addresses in the network and ii) cryptographically validating those transactions. Each node is a computing resource that performs tasks such as receiving and sending messages in the network. A subset of specialized nodes, called miners, continuously validates the content and the sequence of transactions using decentralized cryptographic methods. The currency system provides monetary incentives in the currency of the system to miners for performing this essential task. Physical nodes and virtual addresses in the network are separate entities. An address in the network is essentially a hash value; each transaction is a plain text message conforming to a defined format.
To handle and validate transactions, cryptocurrencies rely on distributed, permissionless, cryptographically secured data structures known as blockchains. A blockchain records all transactions performed in the currency system in the form of timestamped batches of recent transactions referred to as blocks. Each block of transactions contains pointers to the directly preceding and directly succeeding block, thus forming a unique, interlinked sequence of blocks called the blockchain. Each of the nodes participating in the currency system commonly stores a copy of the blockchain.
Because information can easily be embedded into cryptocurrency transactions, blockchains can and do serve as data structures for a variety of applications. The following design characteristics of cryptocurrency networks and their underlying blockchains enable tamper-proof, anonymous, and verifiably dateable exchange as well as persistent storage of information with virtually no chance of interference:
- Tamper-proof persistency: all information persistently embedded in transactions and the timestamp when the transaction was submitted to the blockchain are cryptographically secured. The validity of the entire blockchain is continuously and independently validated by all miners in the network again using strong cryptography. In other words, making changes to information embedded in transactions and hence in the blockchain would require breaking extremely strong cryptography and performing the changes in all copies of the blockchain. Such an endeavor is virtually impossible for anyone, including even the most powerful government institutions.
- Decentralized control: all actions in a cryptocurrency network, i.e. transactions and their validation, are decentralized. There is no central authority or single point of failure that could be exploited to block transactions (“messages”) in the network. Altering transactions, e.g. changing the information embedded in transactions, requires control over the majority of the typically thousands or tens of thousands globally distributed miners in a network. This characteristic makes cryptocurrency networks extremely robust against any form of interference such as censorship or fraud.
- Anonymity and privacy: Since transactions are sent from one hash address to another hash address, the parties involved in a transaction can maintain complete anonymity. Since addresses can be arbitrarily created and changed from transaction to transaction, tracing or identifying a single user is extremely difficult.
- Distributed storage: Copies of the blockchain are typically stored on all nodes of the of the cryptocurrency network. Additionally, blockchains are publically available. In other words, anyone can just download a copy of a blockchain. The blockchain of the most popular cryptocurrency, Bitcoin, has currently a size of less than 60 GB. As long as one copy of a blockchain is available, all the information permanently embedded in the blockchain can be proven not to have been altered since its inclusion in the blockchain.
The unique characteristics of cryptocurrencies enable the development of applications with unprecedented capabilities. Examples of applications using cryptocurrency technologies include:
- Trusted Timestaming services such as OriginStamp (www.originstamp.org) developed by our research group
- Messaging service such as Cryptograffiti for broadcasting (www.cryptograffiti.info) or Gliph for private messaging (https://gli.ph)
- Services like Coloredcoins (http://coloredcoins.org/) and Counterparty (http://counterparty.io) that enable creation and exchange of digital assets like contracts, or financial products.
- Distributed cloud storage services such as Storj.io (http://storj.ioand factom (http://factom.org).
- Service to create and manage digital identities such as Onename (https://onename.com) or Keybase (https://keybase.io).
For a high level overview of the blockchain concept and some of the potential areas of application, take a look at this short video (in German): http://goo.gl/2VhW92
For the theoretical research project:
- presentation (30 min)
- term paper (8-10 pages per person, ACM style)
For the practical research project:
- Developed application
- Presentation (30 min)
- Developer documentation (min 3 pages per person, ACM style)
Group work is possible for both projects.
Seminar participants can choose to complete either a theoretical or a practical research project as part of the seminar.
For the theoretical research project, participants will pick a topic related to cryptocurrency technology and applications according to their own interests or from a pool of suggestions that will be provided. For their topic, the participants will give an overview of the state-of-the-art relevant to the topic in a presentation during the seminar (30 min) and a term paper (8 - 10 pages per person, ACM style) due at the end of the seminar. The theoretical research project is best suited to compile a state-of-the-art review in preparation of a subsequent practical BA/MA project and/or thesis in the same area.
For the practical research project, participants will use cryptocurrency technology to implement a system that solves a real-world application problem. Participants can suggest a problem or choose from a number of suggestions that will be provided. Aside from the working application, completing the seminar requires a giving a presentation (30 min) on the project and a compiling a developer documentation for the application (min 3 pages ACM style per person).
Seminar participants will gain an overview of state-of-the-art cryptocurrency technologies and applications. They will be able to describe the current trends and challenges in cryptocurrency research and application development, as well as the predominant approaches for tackling these challenges.
For the theoretical research task, each participant will perform an in-depth literature review on one current approach for using or advancing cryptocurrency technology. The participants will present their findings in an academic paper and a 30 minute long presentation during one of the seminar sessions. Through this process, which the lecturers supervise and guide, the participants will train their ability to:
- find, organize, and systematically read relevant research papers
- analyze, compare, and contrast research approaches and findings
- structure, write, and format an academic paper
- present their work using appropriate presentation techniques and presentation aids
- answer questions and discuss their work with peers
For the practical research task, participants will pick a real-world application problem that can be solved using cryptocurrency technology. The participants will design and implement a web-based application that addresses the identified problem. By completing this task, participants will gain hands-on experience in cryptocurrency application development.
By successfully completing the theoretical or practical research project, participants will achieve valuable preparation in terms of the knowledge and methodological skills required to successfully complete a subsequent bachelor’s or master’s project.