PH 360: Special Projects in Physics
Distributed Networks, Multiagent Systems and Blockchain Applications
Instructor: Anita Raja, Ph.D., Professor of Computer Science
Class Meeting Time: Mondays 1pm-2:50pm; Thursdays 11:00-11:50pm
Location: Physics Lab 301
Office hours: Monday 3-4pm, Thursday 12-1pm or by appointment
Credit: 3 units This 3-credit course requires 3 hours of classroom or direct faculty instruction and on average 2-6 hours of out-of-class student work each week for approximately 15 weeks. Out-of-class work may include but is not limited to: Required Reading, Coding assignments, Written assignments, and studying for quizzes and exams.
Catalog Description: Special projects in experimental or theoretical physics.
Complex networks [4,5,6] are a natural evolution of chaos theory as applied to networks [1,2,3]. Next generation complex networked computational systems will involve large collections of intelligent, heterogeneous agents (both human and machine) working cooperatively and competitively over wide-area distributed processing networks. These multiagent networks will be highly reliable, do the best with available information and negotiate among themselves to resolve differences.
A blockchain is a type of distributed ledger. It is a cryptographic database of transactions in the form of blocks arranged in a chain. It is considered a where transactions are validated by multiple users through consensus mechanisms shared across a public and private network.
This course will focus on the study and application of advanced multiagent theories and techniques that have been the subject of research for the past couple of decades in designing next generation blockchain applications. This will include the role of coordination and promoting cooperative behaviors in large-scale distributed networks and the internet economy.
Topics will include algorithms for agent interaction in cooperative and competitive environments, consensus formation and negotiation in distributed systems, smart contracts, public vs private blockchains, cryptographic hash functions digital signatures. These techniques will be used to implement a blockchain application where a trusted environment for all transactions is essential. Applications could include health data exchange, construction projects, derivatives processing, food safety supply, food safety supply chain, advertising, energy and governance.
Prerequisites: CS102 and permission of instructor.
Preparing for the course: Students should be familiar with data structures and algorithms
and have some prior coding experience (Python is acceptable). Links to optional preparatory material has been provided.
- Presentations: Students will engage in discussion and presentation of course readings.
- Exam: In-class closed book examination.
- Coding and Written Assignments: The students will gain hands-on experience in the form of 3 to 4 short coding assignments to build simple block chains from scratch, testing out smart contracts and multiagent consensus formation and negotiation protocols.
- Final Project: The second half of the semester will involve a coding project to implement a block chain application by using one of the available open source frameworks as a foundation, e.g. Enterprise Ethereum, Hyperledger Fabric 1.0 etc., and applying distributed AI algorithms.
Final Project 40%
- Distributed Networks and AI (2 weeks)
- Complex Networks, Multiagent systems, Coordination and Negotiation Algorithms, Contract Net Protocol
- Origin of Blockchains (1 week)
- Fundamentals, Types: Open/Public vs Private/Permissioned Blockchains, Decentralization vs Distributed
- Introduction to Cryptography (2 weeks)
- Cryptographic HashFunctions, Hashpointers, Merkle Trees, Digital Signatures, Public Keys
- Consensus Formation (4 weeks)
- Multiagent Auctions, Voting, Principles of Decentralization
- Byzantine Agreements, Two-phased commit, Sybil Attacks, Nakomoto Consensus
- Trust, Smart Contracts
- Current Status of Blockchains (5-6 weeks)
- Myth vs. Reality
- State of the Art Systems: Enterprise Ethereum, Hyperledger Fabric 1.0, R3 Corda, BigchainDB, Sawtooth, Ripple
- Applications, Limitations, Benchmarks
- Future of Blockchain
Policies: Several of the following policies have been mandated by the University for compliance with new federal regulations and SACS accreditation standards.
- Please arrive in class on time.
- There will be reading assignments for each class and will be specified in the syllabus and moodle.
- All assignments should be submitted using Moodle.
- Assignments should be submitted by the specified deadline. Late submissions up to 3 days (beyond the due date specified by the assignment) will be automatically allowed on Moodle. Late submissions will result in a 10% penalty per day for up to 3 days and then it is a 0 on that assignment - no exceptions will be made.
- Copying assignments from other teams/ individuals will result in an F for all parties involved. All open source code that is used should be appropriately acknowledged. Please read the section on Academic Standards and Regulations found in the Course Catalog. Feel free to talk to me to me if you have questions whether an action would violate the integrity code.
- Assignments will be clearly specified as individual submissions or group submissions. For individual submissions, students are allowed to discuss possible approaches to the problem (such as using a particular library or function and overall approach) but the final solution (code, explanation text) submitted by a student has to be independent, individual work. The submission should also list all use of open source code and mention any discussions student may have had with others on the approach and provide a single sentence description on nature of discussion. I take academic integrity very seriously. Read more details in the document titled AcademicIntegrity.pdf in the first module on moodle. This explains the Academic Integrity code in the Engineering school and all related consequences of failing to abide by the code which are quite serious.
- Final Project: Can be single person or two-person project. Details for proposal will be provided and all constraints mentioned in the document must be strictly followed.
- Deadline for Final Deliverables: This is a strict deadline and no late submissions will be accepted.
- Exams: There will be one two-hour exam given during the course. This will be a closed book exam and no electronic devices or reference material will be permitted. If you need to use the restroom, go before the exam starts, you will not be permitted to leave the exam during its progress.
- The standards and requirements set forth in this syllabus may be modified at any time. Notice of such changes will be by announcement in class or or by changes to this syllabus posted on the course website.
- Disability Accommodations: Students with disabilities or who need special accommodations for this class are required to meet with me and the Dean of Students immediately so that arrangements can be made. Cooper Union has limited resources and extra time is required for such arrangements to be feasible. In order to receive accommodations for an exam, you must notify me in writing at least two weeks before they are needed, and you must also be registered with the Dean of Students. Students will not be afforded any special accommodations retroactively, i.e., for academic work completed prior to disclosure of the disability to me and the Dean.
- Medical Absences: Students who have medical excuses for missing class should contact the Dean of Students promptly. Students will be required to provide the Dean of Students with documentation from a medical provider justifying the absence. The Dean of Students will inform me when an absence is due to a valid medical issue/condition so that the absence can be considered excused. It is important to note that even with excused medical absences; a student is still responsible for completing all of the course requirements. If a student’s absences have resulted in their missing vital components of in-class discussions and experiences, students may be required to withdraw from a course and retake it even with valid medical excuses. This is entirely at the discretion of the faculty member teaching the course. In addition to communicating with the Dean of Students, students must remain in regular communication with the faculty teaching the course when they need to miss a class
© 2018 Anita Raja