About this course
Study distributed ledgers, consensus, and smart contracts, and the security properties and limits of decentralized systems.
Built a minimal but complete decentralized system, layering a simplified PBFT agreement module, Merkle-backed block integrity, proof-of-work mining, deployed Solidity contracts, a hierarchical deterministic multi-signature wallet, and an automated market maker, then audited and hardened it against reentrancy and flash-loan attacks.
Expected outcomes
- Explain the distributed-systems foundations: replication, the CAP trade-off, and failure models.
- Analyze Byzantine fault tolerance and the theory behind consensus protocols.
- Describe Nakamoto consensus and proof-of-work and proof-of-stake security arguments.
- Apply the cryptographic foundations of blockchains: hashes, signatures, and Merkle trees.
- Build and deploy smart contracts and reason about their execution model.
- Identify and exploit smart-contract vulnerabilities such as reentrancy and integer flaws.
- Design secure wallet and key-management systems including hierarchical deterministic keys.
- Assess DeFi protocols for economic and technical attack vectors.
- Evaluate the security and decentralization trade-offs of a system design.
- Audit a smart contract and produce a structured findings report.
Key topics
- Consensus mechanisms
- Smart contracts
- Wallets & key management
- DeFi security
Theoretical foundations
The concepts and results this course rests on.
- replication, the CAP trade-off, and distributed failure models
- the FLP impossibility result for asynchronous consensus
- Byzantine fault tolerance and the Byzantine generals problem
- Nakamoto consensus, proof of work, and the longest-chain rule
- hashes, digital signatures, and Merkle trees as integrity backbone
- the smart-contract execution and gas-metering model
- economic security assumptions and attack vectors of DeFi
Prerequisites
Course-specific prerequisites:
- Cryptography fundamentals
- Distributed systems and computer networks
Weekly schedule 13 weeks · lecture + practice
Students use AI assistants throughout the decentralized-system build: scaffolding and refactoring Solidity contracts and the off-chain ledger code, generating Foundry and Echidna test suites and invariants, and explaining Slither static-analysis output. They vibe-code exploit proofs of concept, prompting the assistant to write a reentrancy or flash-loan attack against their own AMM and then to propose the checks-effects-interactions fix. AI helps interpret EVM traces in Tenderly, derive HD-wallet and multi-signature logic, and turn an audit pass into a structured findings report, and students drive deployment tooling and wallet libraries through it, but they re-run every AI-proposed fix through the fuzzer and on-chain tests, because a contract that merely looks safe can still lose funds.
Student project
Teams build a minimal but complete decentralized system, layering consensus, cryptographic integrity, smart contracts, wallets, and a DeFi mechanism, then audit and harden it. Each layer is accompanied by a demonstrated attack and a fix. The capstone defends a full security audit report orally.
Requirements
- Build a working system, not a set of disconnected exercises.
- Be original: a new system that solves a real problem, not a re-implementation of a tutorial or course demo.
- Show real depth: real data, real users or realistic load, and engineering trade-offs that are measured rather than assumed.
- Carry one running project from specification to a deployed, defensible result across the whole term.
- Work in a team of three or four and defend the design at each of the three presentations (weeks 5, 8, and 13).
Example projects
Assessment & grading
Grading is project-based, with no written exam. Teams of three or four present one running project three times.
| Component | What it covers | Weight |
|---|---|---|
| Project · Specification | Presentation 1 (week 5): problem, objectives, and architecture | 20% |
| Project · Interim | Presentation 2 (week 8): the working system demonstrated live | 30% |
| Project · Final | Presentation 3 (week 13): end-to-end demo with oral defense | 50% |
Tools & platforms
- Solidity: smart-contract programming language
- Foundry: contract development, testing, and fuzzing
- Hardhat: Ethereum development and deployment environment
- Remix: browser-based contract IDE and debugger
- Slither: static analysis for Solidity vulnerabilities
- Echidna: property-based smart-contract fuzzing
- Ganache: local Ethereum test chain
- ethers.js: blockchain interaction and wallet library
- MetaMask: wallet and key-management client
- Tenderly: transaction simulation and debugging
Free online courses
Existing free, video-based courses this course can build on, for self-study or as a teaching basis.
In Hebrew · בעברית
- YouTube, סדרת קורס בעבריתקורס קריפטו מלא בחינם (סדרת פרקים)
Primary literature
Seminal works to read for graduate-level depth.
References
Books and resources link to an online or publisher page.
- TextbookMastering Bitcoin, 3rd Edition
- TextbookMastering Ethereum
- PaperBitcoin: A Peer-to-Peer Electronic Cash System
- PaperEthereum: A Next-Generation Smart Contract and Decentralized Application Platform
- PaperThe Bitcoin Backbone Protocol: Analysis and Applications
- PaperPractical Byzantine Fault Tolerance
- DocumentationSolidity Documentation
- TextbookBitcoin and Cryptocurrency Technologies
Role in each concentration
| Concentration | Role |
|---|---|
| Intelligent Software Systems | Elective |
| Networking & Cyber Security | Core · Semester 2 |
| AI & Robotics | Elective |
| AI and Quantum Computing for Finance | Core · Semester 2 |
| Immersive Systems & Game Development | Elective |
| Defense Technologies & Autonomous Systems | Elective |