Description
Bitcoin cryptocurrency and the Blockchain technology that forms the basis of Bitcoin have witnessed an unprecedented attention. As Blockchain applications proliferate, so does the complexity and volume of data stored by Blockchains. Analyzing this data has emerged as an important research topic, already leading to methodological advancements in the information sciences. Although there is a vast quantity of information available, the consequent challenge is to develop tools and algorithms to analyze the large volumes of user-generated content and transactions on blockchains, to glean meaningful insights from Blockchain data. The objective of the course is to train students in data collection, modeling and analysis for blockchain data analytics on public blockchains, such as Bitcoin, Litecoin, Monero, Zcash, Ripple, and Ethereum.
Expectations and Goals
We will teach all core blockchain components with an eye towards building machine learning models on blockchain data. Students will be able to achieve the following learning objectives at the completion of the course.
- Learn the history of digital currencies and problems that prevented their adoption. What are the real-life use cases of Blockchain? How Blockchain differs from earlier solutions?
- Learn the concepts of consensus and proof-of-work in distributed computing to understand and describe how blockchain works.
- Learn data models for addresses, transactions and blocks in cryptocurrencies and Blockchain platforms.
- Use Java Python and R to extract blockchain blocks and store the transaction network on Bitcoin, Ripple, IOTA and Ethereum blockchains.
- Model weighted, directed multi-graph blockchain networks and use graph mining algorithms to identify influential users and their transactions.
- Predict cryptocurrency and crypto-asset prices in real time.
- Extract and mine data from smart contracts on the Ethereum blockchain.