Description
Access control systems exist to protect resources from unauthorized accesses. Auditability plays an important role and has its importance increased when it comes to public and private administration, and can be leveraged within a blockchain-based access control system. Hyperledger Fabric will leverage a solution that aims to discourage unauthorized accesses to confidential information while decentralizing trust when it comes to access control. This work will not only be focused on the implementation of such Proof-Of-Concept but also leveraging effective techniques to its provisioning and deployment.
Building such a system based on the blockchain technology is challenging. Distributed ledger technologies are indeed a complex distributed system. Concerning blockchain access control, there are two main challenges:
1) Provisioning, especially for scenarios with requirements on permissions, data privacy, and security.
2) Lack of standardized processes for development and operations, i.e., continuous integration, continuous deployment and continous improvement.
The internship aims to:
- Contribute to the open-source community, by advancing the state-of-the-art on the access control using the blockchain
- Create a blockchain-based access control system using Hyperledger Fabric
- Develop an efficient, practical DevOps framework to provision and deploy the created system
- If time suffices, write an academic paper with the work developed
- If time suffices, develop a small web application to help visualize the solution
Additional Information
https://www.hyperledger.org/projects/fabric - Fabric overview
Some relevant papers:
https://pdfs.semanticscholar.org/6192/f0308dc8d7782b55a0557dfb66f323638853.pdf
https://www.researchgate.net/publication/330468939_Blockchain_Based_Access_Control_Services
Relevant technologies:
- Hyperledger Fabric
- MEAN stack (MongoDB, Express, Angular, NodeJS)
- Docker and Kubernetes
Learning Objectives
You will learn about Hyperledger Fabric and general concepts about blockchain.
You will learn how to program chaincode using Javascript.
You will learn how to research a topic like a researcher.
- You will learn how to contribute (and lead) an open source project, document your work and create tests.
- You will learn about access control paradigms - and its application with regard to the distributed ledger technologies.
You will learn how to implement security, privacy and access control features in distributed systems.
- You will have the opportunity to experience first hand of what is to research a topic and apply knowledge gathered from the research
- You will learn DevOps practices and DevOps practices applied to distributed ledger technologies.
- You will learn how all the pieces work as a whole, by developing a small web app, that serves as the client of the system developed (along with a frontend)
Expected Outcome
- Contribute to the open-source community, by advancing the state-of-the-art on the access control using blockchain
- Create a blockchain-based access control system using Hyperledger Fabric
- Develop an efficient, practical DevOps framework to provision and deploy the created system
- If time suffices, write an academic paper with the work developed
- If time suffices, develop a simple web application to help visualize the solution
Relation to Hyperledger
Hyperledger Fabric
Education Level
Any level is applicable, undergrade or masters student. Experience in research is preferred, but not mandatory.
Skills
Desirable Skills:
Experience in programming with Javascript (NodeJs)
- Knowledge about Hyperledger Fabric's architecture
- Basic knowledge of chaincode programming
Basic understanding of general blockchain concepts
Basic understanding of access control concepts
Ability to modela system/architecture, under the mentors' supervision
Bonus:
You have some experience in scientific research (if you don't, no worries - we can help)
- You are familiarized with the MEAN stack or other web stack.
- You are familiarized with Docker, Kubernetes or other deployment tools
- You understand in depth Fabric's architecture
Future plans
The end of the internship does not need to mean an end to collaboration. The ideal goal is to build a blockchain based access control system capable of others to use. On top of that, an academic paper might be written as the sum of the knowledge learned.
Preferred Hours and Length of Internship
Both Full-time or Part-time are possible options. Full-time is preferred.
Mentor(s) Names and Contact Info
Rafael Belchior, Teaching Assistant at Técnico Lisboa: rafael.belchior@tecnico.ulisboa.pt
Rui Cruz, P.h.D., Assistant Professor at Técnico Lisboa: rui.cruz@ieee.org, rui.s.cruz@tecnico.ulisboa.pt