
Explore the origins of digital currencies and the fundamentals of money. Examine digital attributes: privacy, double spending, and fungibility, and how bitcoin emerged as a decentralized, open-source system.
Explore how centralized, decentralized, and peer-to-peer networks support digital currencies like Bitcoin and consensus on balances, address double spending, and compare asynchronous Paxos and practical Byzantine fault tolerance.
Explore how the Nakamoto consensus secures blockchain through a probabilistic chain of blocks, miners, and peer-to-peer attacks like eclipse, Siebel, and partition attacks.
Explores Nakamoto consensus and its probabilistic data finality, highlighting permissionless, peer-to-peer networks and open-source bitcoin rules that rely on honest nodes and byzantine resilience.
Explore how hash functions power bitcoin foundations—from addresses and transactions to blocks—through sha-256's 256-bit outputs, avalanche effect, and collision resistance.
Discover how Bitcoin uses addresses, outputs, and signatures to secure one-to-one and multi-signature transactions, create blocks, and support different address types and Schnorr signatures.
Explore how transaction fees fund miners, how change addresses prevent loss, how address reuse is discouraged, and how Merkle trees secure and verify bitcoin transactions.
Learn how Bitcoin uses blockchain to solve authenticity and double spending with signed transactions and proof of funds, and how mining forms blocks with proof of work to prevent forks.
Explore forks in the transaction network, distinguishing data forks from software forks, and explain how canonical blockchain, long-range attacks, and reorganization lead to double spending.
Compare proof-of-work with alternatives under proof-of-x, highlighting stake-based, memory-hard, delegated, ownership and publication variants, their energy costs, central authority implications, and real-world challenges.
Mining pools pool miners' resources, splitting rewards by contributed work toward finding a block, mitigating 51% threshold risks and providing data for Bitcoin price prediction.
Explore the various Bitcoin transaction output types, including pay to public key hash, pay to script hash, and segregated witness, plus nonstandard outputs and open return data storage.
Explore how Bitcoin wallets connect to the peer-to-peer network, manage private keys and addresses, and differentiate custodial vs non-custodial use, including deterministic, seed-based derivation.
Explore bitcoin's script language and the locking and unlocking scripts that control spending of outputs, with opcodes hash160, equal, verify, and time locks securing public key hashes until spending.
Explore forks in the protocol, competing blocks, and the impact of soft and hard forks on transactions, standards, and block size rules.
Discover how segregated witness removes transaction signatures to save block space, enabling privacy by aggregating multisig with taproot and schnorr signatures, masking signer identities.
Explore Ethereum fundamentals: smart contracts written in solidity compile to bytecode and run on the Ethereum Virtual Machine, the world computer, enabling public, replicated, unstoppable code across nodes.
Explore how Ethereum addresses work on account-based blockchains, distinguishing externally owned and smart contract addresses, how 0x addresses are used, and how nonces order transactions to prevent double spending.
Explain how a smart contract is created from bytecode, signed as a transaction, propagated to the mempool, mined into a block, and executed with gas costs.
Explore four Ethereum transaction types—trading, contract creation, contract call, and internal transactions. Understand how input data and contract addresses drive state changes.
Understand how gas cost, gas price, and gas fee set transaction costs on blockchains. See how operations and storage costs, gas limits, and dynamic data affect actual gas usage.
Explore how the ethereum virtual machine stores data across stack, memory, storage, and call data, with storage persistent using 256-bit words, memory for parameters, and gas costs varying by location.
Explore transaction costs in blockchains: base fees of 21,000 gas, contract creation costs of 32,000 gas, and how opcodes, calls, and logs drive receipts and events.
Examine Ethash, Ethereum’s proof-of-work mining until 2022, highlighting the memory-hard dag, 1 gigabyte graph, 16 megabyte cache, seed-based data generation, and uncle blocks within the ghost protocol.
Explore how Ethereum stores states, transactions, and receipts with a Patricia Merkle tree, and how block headers, gas limits, and block estimates shape mining and validation.
Explore decentralized autonomous organizations on blockchains, using smart contracts and Ethereum, and trace DAO hacks, defi concepts, Web3, and dapps.
Explore decentralized finance, or defi, a blockchain-based system using smart contracts without central intermediaries, featuring non-custodial, permissionless, auditable, and composable primitives like Ethereum transactions and collateral liquidations.
Explore ERC20, ERC721, and ERC1155 token standards, differentiate fungible and non-fungible tokens, and examine tokenization and smart contract mechanics in blockchain applications.
Explore how stablecoins use smart contracts and ERC-20 tokens to peg to assets like the US dollar, employing collateralized, full reserve, or algorithmic price-stabilization mechanisms.
Oracles connect smart contracts to real-world data, bridging price feeds and event outcomes; decentralized oracles aggregate multiple sources to reduce central points of failure and ensure data integrity.
Compare transaction graphs and address graphs for bitcoin data, showing how linking inputs to outputs can explode edges and lose input-output context. Transaction-focused graphs shrink size.
Investigate edge-weighted address graphs for utxo transactions, focusing on merge, split and transition chainlets, chain patterns, and how these features inform Bitcoin price dynamics.
Explore graph models for account-based blockchains like Ethereum, contrasting coin and token transactions, and map externally owned addresses, smart contract addresses, and null addresses with smart contracts and programmable interactions.
Explore token transaction networks on Ethereum, including ERC-20 fungible tokens and ERC-721 non-fungible tokens with unique identifiers, defined by smart contracts.
Explore three blockchain network types—coin, token, and call-trace networks—where addresses and smart contracts form hyperedge traces of calls, state changes, and internal transactions, bounded by gas limits.
analyze how e crime operates on blockchains through darknet markets and escrow workflows. trace transaction patterns, explore archival datasets, and understand money laundering risks that shape vendor and buyer flows.
The lecture examines ransomware as a blockchain crime and how crypto payments fund data encryption, while introducing six features, income, loop, weight, count, land, and amount, to detect ransom patterns.
Explore how criminals launder cryptocurrency through obfuscation techniques like peeling chains, coin mixing, and shapeshifting, and how blockchain analytics can detect these patterns.
Explore temporal data mining on blockchain networks, building machine learning and statistical models from blocks, transactions, and graph features to detect anomalies and support predictive analytics.
Extract address features from Bitcoin transactions to identify darknet market and ransomware addresses. Use supervised or unsupervised learning with temporal windows and random forest for future-day prediction.
Explore sliding window versus expanding window methods to train a classifier on blockchain transaction data, using temporal features to forecast labels and evaluate with cross validation, backtesting, and precision-recall metrics.
Bitcoin cryptocurrency and the Blockchain technology that forms the basis of Bitcoin have witnessed 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 toward building machine learning models on blockchain data. Students will be able to achieve the following learning objectives upon completion of the course.
Learn the history of digital currencies and the problems that prevented their adoption. What are the real-life use cases of Blockchain? How does Blockchain differ 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 on 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.
We would like to thank Ignacio Segovia-Dominguez of UT Dallas and NASA for his help in editing and providing feedback on the course content.