Fall 2020, University of Manitoba, Canada
Over the last couple of years, 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, cleaning and modeling for Blockchain Data Analytics on public blockchains, such as Bitcoin and Ethereum. We will also cover the Libra blockchain of Facebook.
This class will be taught as a seminar class, and will primarily consist of reading, reviewing, and presenting research papers.
A specific problem will be assigned to each group, and the resulting Python/R code will be incorporated in the Manitoba Blockchain tool at Github/cakcora/chainoba. Students will hold bi-weekly project progress meetings.
This class requires extensive reading. In addition to the book chapters, more than 40 research papers, surveys and articles will be read by each student. Every week, students will write a summary of the assigned papers. In addition, there will be a Data Science project where students will implement algorithms. Please make sure that you have given enough thought to these requirements.
Reading summary (text from N. Papernot)
A summary of assigned reading is due each class (starting from week 2 and onwards), one page for each assigned paper. A PDF copy should be emailed before the beginning of class. The summary should cover the following: (a) what did the papers do well?, (b) where did the papers fall short?, (c) what did you learn from these papers?, and (d) what questions do you have about the papers?
Paper presentation
Starting from week 2, a team of students will present the papers assigned for reading each week. The team may choose an appropriate format (e.g., slides, interactive demos or code tutorials, ...) for this presentation with the only requirements being that the presentation should (a) involve the class in active discussions, (b) cover all papers assigned for reading, and (c) last no more than 1h30mn including discussions.
Research projects
- Ripple Payment Graph Analysis. https://github.com/monowar-1994/RippleProject/
- Ripple Trust Graph Analysis. https://github.com/akaler55/ripple_network_analysis
- MakerDAO Ecosystem Analysis. https://github.com/MCSH/dao-analysis-7570
- Bitcoin Darknet Market Transaction Fingerprinting. https://github.com/olayinkade/AdversarialMatching
- IOTA Transaction Graph Analysis. https://github.com/Arezoovina/IOTA-7570Blockchain
Expectations and Goals
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 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 Smart Contracts on the Ethereum blockchain.
The book "Blockchain: Fundamentals, Data Structures and Algorithms for Data Science (Cambridge University Press)" by Cuneyt Gurcan Akcora, Yulia R. Gel and, Murat Kantarcioglu will be provided in e-copy and used as the course book.
Reading (In addition to the course book chapters)
Week 1 Networks, linking and consensus
- Bitcoin's Academic Pedigree, Narayanan.
- BlockSci: Design and applications of a blockchain analysis platform, Kalodner.
- Blockchain Consensus Protocols in the Wild, Cachin.
Week 2-3 Digital currencies, Cryptocurrencies
- Bitcoin and beyond: A technical survey on decentralized digital currencies, Tschorch.
- Bitcoin: A peer-to-peer electronic cash system, Nakamoto.
- Blockchain: a graph primer, Akcora.
- Core Concepts, Challenges, and Future Directions in Blockchain: A Centralized Tutorial, Kolb.
Week 4 Blockchain Platforms, Smart Contracts
- Ethereum: A Next-Generation Smart Contract and Decentralized Application platform, Butterin.
- Measuring Ethereum-based erc20 token networks, Victor.
- A Classification Framework for Stablecoin Designs, Moin.
Week 5-6 Graph Models for Blockchain Data Analytics
- Bitcoin Transaction Graph Analysis, Fleder.
- Uncovering the Bitcoin blockchain: an analysis of the full users graph, DiFrancescoMaesa.
- Quantitative Analysis of the Full Bitcoin Transaction Graph, Ron.
- Forecasting bitcoin price with graph chainlets, Akcora.
- Understanding Ethereum via Graph Analysis, Chen.
- Iota Tangle: A cryptocurrency to communicate Internet-of-Things data, Silvano.
Week 7 Influence and Centrality
- Mint Centrality: A Centrality Measure for the Bitcoin Transaction Graph, Pontiveros.
- Entropic centrality for non-atomic flow networks, Frederique.
- The Graph Structure of Bitcoin, DiFrancescoMaesa.
- Mind Your Credit: Assessing the Health of the Ripple Credit Network, Moreno-Sanchez.
Week 8 Clustering
- Clustering Blockchain Data, Chawathe.
- A Fistful of Bitcoins: Characterizing Payments Among Men with No Names, Meiklejohn.
- Tracing Transactions Across Cryptocurrency Ledgers, Meiklejohn.
- Listening to Whispers of Ripple: Linking Wallets and Deanonymizing Transactions in the Ripple Network, Moreno-Sanchez.
- An empirical analysis of anonymity in zcash, Kappos.
- An empirical analysis of traceability in the Monero blockchain, Moser.
Week 9 Anomaly Detection
- Egret: Extortion graph exploration techniques in the bitcoin network, Datta.
- BitcoinHeist: Topological data analysis for ransomware detection on the Bitcoin blockchain, Akcora.
- Tracking Ransomware End-to-end, Huang.
- Exploiting Blockchain Data to Detect Smart Ponzi Schemes on Ethereum, Chen.
- The Anatomy of a Cryptocurrency Pump-and-Dump Scheme, Xu.
- To the moon: defining and detecting cryptocurrency pump-and-dumps, Kamps.
Week 10 Anomaly and Visualization
- Assessing Holistic Impacts of Major Events on the Bitcoin Blockchain Network, Luo.
- Detecting Ponzi Schemes on Ethereum: Towards Healthier Blockchain Technology, Chen.
- BiVA: Bitcoin Network Visualization & Analysis, Datta.
- Bitconeview: visualization of flows in the bitcoin transaction graph, DiBattista.
- Visualizing dynamic bitcoin transaction patterns,McGinn .
- Visualization of Blockchain Data: A Systematic Review, Tovanich
- BitConduite: Visualizing and Analyzing Entity Activity on the Bitcoin Network, Kinkeldy.
Week 11 Next generation blockchains, security/privacy.
- Blockchain-based Service Network (BSN) Introductory White Paper.
- SoK: Off the Chain Transactions, Gudgeon.
- Privacy in Blockchain Systems, Wahab and Danezis.
- Security and Privacy on Blockchain, Zhang.
Week 12-13 Project presentations