CSE 704 Spring 2019: Security and Privacy in Blockchain

General Information

Class Schedule


Course Objectives

The objectives of this course consist of developing an in-depth understanding of the properties of blockchain technology including cryptocurrencies and smart contracts. The focus of the course is on security and privacy including related properties such as fairness. The course project additionally includes a research component to demonstrate the ability to build a non-trivial security system or perform a rigorous literature review.

Course Description

This course is reading-based and provides an in-depth treatment of security and privacy properties of blockchain technology and related concepts such as cryptocurrencies and smart contracts.

Assignments in this course will consist of research paper reading and presentations, reviews of presented papers, a course project, and one finals assignment. The course project can take the form of implementing an existing technique, using or extending an existing tool relevant to the scope of the source, designing a new technique or application (must properly demonstrate security-related properties), or perform a literature review. Each project can be done individually or in teams of two (non-survey projects only).

All students are expected to participate in class discussions and perform all assignments regardless of the number of credit hours they are registered for.


Grading for this course will tentatively consist of 30% for presentations, 35% for the course project, 10% for the reviews, 10% for the final assignment, and 15% for class participation. The overall performance of 70% or higher is required for getting the S grade.

Assignment Policies

Academic Integrity

Computer science, as a profession, requires us to seek truth not only in scientific discoveries, but also in dealing with the public, as the public depends on our expertise and honesty to construct their computing infrastructure. Thus, competence and trust are essential to being a scholar and a computing professional in particular.

Your instructor will treat you as a professional, and you should plan on conducting yourself in an appropriate way. No behavior that compromises academic honesty (such as use of someone else's work or code, using prohibited materials during tests, or making your work available to others) will be tolerated in this course. If you need assistance with anything, do not hesitate to contact the instructor.

It is expected that your work represents your own understanding of the problem. If work of others is used, it must be properly cited. Use of properly cited material is acceptable, but no referencing is treated as claiming the work as your own.

Academic dishonesty will not be tolerated in this course. It is the CSE policy that each case of academic integrity violation is recorded. The standing policy of the department is that all students involved in an academic integrity violation will receive an F grade for the course, unless the instructor recommends a lesser penalty for the first instance of academic integrity violation for the student in question.

Information about the CSE policies can be found here; UB academic integrity policies are available here; and UB graduate school guidelines can be found here.

Detailed Course Schedule

Assignments will not be posted on this web page and instead will be made available through UBlearns.

Date Class content
Week 1: February 1
Week 2: February 8 Bitcoin and blockchain description: Presented by Alan and Anirudh
Week 3: February 15 Anonymity in bitcoin: Presented by Naved and Chen C.
Week 4: February 22 Security analysis of bitcoin: Presented by Shikhar and Bhupika
Week 5: March 1 Anonymous cryptocurrencies: Presented by Sandesh and Richard
Week 6: March 8 More recent analysis of cryptocurrencies: Presented by Amanda and Prashant
Week 7: March 15 Smart contracts: Presented by Bowen and Shreya
Week 8: March 22 Spring break
Week 9: March 29 Privacy-preserving smart contracts: Presented by Chen Y. and Chinmaya
Week 10: April 5 Abuse of smart contracts: Presented by Viral and Ani
Week 11: April 12 Resistance to specialized hardware for mining:
Week 12: April 19 Alternatives to Proof-of-Work:
Week 13: April 26 Non-outsourceable PoW and alternatives to PoW:
Week 14: May 3 Other issues (smart contract errors and selfish mining):
Week 15: May 10 Project presentations