Outline
- Project’s Goals
- Use cases
- Non-functional properties
- Technologies
- System Architecture
- Blockchain Architecture
- Video Demo
Project’s Goals
- Small-scale distributed electronic voting system
- Blockchain technology
- Uniform API to interact with the system by means of a web application
Non-functional properties (I)
Thanks to blockchain technology we achieve:
- Operational integrity of the system:
- Correctness of the operations performed by the system
- Accountability:
- Node Peers logs the actions performed
- Confidentiality:
- We used a permissioned blockchain that restrict access to data;
- Verifiability
- Blockchain keep tracks of all the transactions executed to obtain final results;
- Availability
- System will continue to serve requests even if some peers are down;
Non-functional properties (II)
We also designed the system to achieve:
- Non-coercibility:
- Voters are not identifiable during the voting process $\Rightarrow$ one time codes
- Voter Authentication:
- Voters authentication provided by the API layer
Technologies
- Hyperledger Fabric as the blockchain infrastructure technology
- modular and highly-configurable
- Java as a language for smart contracts
- offers mechanisms raising the bar of confidentiality and higher fine-grained control over ledger access (e.g. channels and private data)
- Docker for deployment
- ReSTful API
- Nodejs + Express for the API layer
System Architecture
Blockchain network
That’s all, thank you for your attention!
😊