Cryptocurrencies and Blockchain Technologies

XCS251

Stanford School of Engineering

The field of blockchain and cryptocurrency is skyrocketing. From digital currencies like Bitcoin and Ethereum, to decentralized applications like DeFi, NFTs, and decentralized exchanges, the potential for blockchain and cryptocurrencies is enormous.

This course will cover the technical aspects of cryptocurrencies, blockchain technologies, including distributed consensus, smart contracts, economics, scalability, and applications. You will learn how these systems work and how to engineer secure software that interacts with a blockchain system like Bitcoin and Ethereum.

  • Grasp technical aspects and details of Cryptocurrencies and Blockchain technologies such as Bitcoin, Ethereum, DAPPs, and Decentralized Finance
  • Engineer secure software that interacts with the Bitcoin and Ethereum blockchains
  • Ensure trust and security of your blockchain systems using appropriate distributed consensus protocols
  • Build smart contracts with the Solidity Program language for the Ethereum blockchain
  • Understand the value of stablecoin, oracles, and decentralized exchanges

Core Competencies

  • Bitcoin mechanics and scripts
  • Wallets
  • Consensus protocols
  • Ethereum mechanics
  • Solidity
  • Stablecoins and oracles
  • Decentralized exchanges
  • Privacy on blockchain and zk-SNARKs
  • Scaling blockchain

What You Need to Get Started

You'll be asked to submit a short application.

Programming
Coding projects will be done in Python and Solidity. Working knowledge of one or more programming or scripting languages such as Python, JavaScript, C++ is highly desirable.

Cryptography
You should already have a basic understanding of cryptography principles like the hash function, collision resistance, commitment, and digital signatures. 

Calculus, Linear Algebra, and Probability
You should be familiar with basic calculus, linear algebra, and basic probability concepts like random variable, event, probability function, probability distribution, and conditional probability.