No image

CS620: New Trends in Information Technology

Blockchains

Instructors: Prof. Vinay J. Ribeiro
Teaching Assistants: TBD

Location: CC-101; Mon/Thu 17:30- 18:55 hours

Home

Blockchain is a revolutionary technology that has wide application in various fields including finance. Blockchains are tamper proof and help build "trust" in a distributed setting. Starting with Bitcoin, blockchain technology has advanced significantly in the past decade, with the advent of smart-contract supporting blockchains such as Ethereum, and permissioned blockchains such as Hyperledger and Corda. This course will start with an introduction to blockchains and then delve deeper into current research in the area. Topics include failure models and consensus in distributed systems (Raft, PBFT etc.), consensus in permissionless blockchains (Proof of Work, Proof of Stake, Algorand), smart contracts in Ethereum, Attacks in Bitcoin (selfish mining etc.), Scalability challenges (scaling throughput and computation) and proposed solutions (Bitcoin-NG, Fruitchain, Lightning network, Canopus, YODA etc.). Programming assignments will include implementing a consensus protocol in a distributed system, implementing a simulator for blockchains, Ethereum smart contracts etc. Students will be expected to read and present papers in class, as well as participate actively in discussions within class.
Pre-requisites:Data Structures (CS213)

  • Home
  • Moodle Login