The whole idea was inspired by thoughts of how to provide a system natively integrating both - secure and privacy-preserving digital identification suitable for day-to-day life and also supporting activities like polls and ballots so that it won't require any additional artificial superstructures? Such a system must meet several mandatory requirements:
- provide ease of use for every ordinal user in day-to-day activities and at emergencies.
- provide transparency for avoiding discriminations and manipulation while keeping unconditional data integrity and confidentiality
- prevent users from taking too high responsibilities for protection secret information
- provide means of easy regain of control in the case of corruption of the access to identity information
- provide means of unauthorized use detection under the condition of the absence of a centralized point of control.
What it does
A system for identities sharing and management where the ability to conduct votes and ballots is one of the functionalities resulting from the cryptographic commitments model and proofs sharing protocol. The system leverages the immutability of blockchain and the transparency of smart-contracts for issuing and manipulating quantum-computer resistant and GDPR compliant cryptographic commitments, generated based on the identity data of users, and the unique cryptographic exchange protocol allowing inevitable detection and instant prevention of the identities unsanctioned usage. Using the O10 platform authorities will able to issue cryptographic commitments, serving as digital identities, where quantum-resistant commitments are stored in the immutable and transparent blockchain networks without transferring into direct ownership of users. Users will prove their ownership of identities using the "off-chain" cryptographic identities sharing protocol where proofs will be generated on the fly and all proofs will be shared in the common "swarm" and will contain an inevitable and small piece of information, known in advance for the owner of identification information. As a result, in the case of unsanctioned usage, the owner of the identification information will detect the attempt and will able to broadcast a special instruction preventing the malicious use of compromised identity.
How I built it
- Smart-contracts for immutable and transparent storage
- Server-side providing "off-chain" second-layer cryptographic identities sharing protocol
- Front-end for interfacing with users
Challenges I ran into
How to provide a platform with naturally integrated Identities sharing and Voting system
Accomplishments that I'm proud of
The mechanism of multi-party computation providing cryptographically verifiable proof of voter's choice existence without its revealing and preventing Voter from the ability to prove his choice thus avoiding voter bribing
What I learned
Solidity and deeper concepts of smart-contracts
What's next for O10
- make integration layer more flexible and suitable for more blockchain networks
- provide more user-friendly and reliable Voting-as-a-Service and Identity-as-a-Service
- provide a mobile application for end-users