Selective-ZKP EthIndia2k19 (Team nuAztec)
Confidential transactions allow only the parties partaking in a transaction to be privy to the amount being transacted, outside observers are prevented from knowing this information.
- What IF in an organization with various levels like CEO, VP, HR, Employees want to use confidential transactions with provision for selective view access to a group of people?
- What IF in a closed auction using confidential transactions, once auction period is completed, the auction value must be revealed to a group of people?
- What if Governments needs view access for Incometax returns calculation purpose of Crypto confidential transactions? ETC
There are numerous use cases like mentioned above where confidentiality is required with Selective Access Control [RBAC] which is not possible with currect confidential solutions.
Selective-ZKP is a Decentralized platform for Role based access view of Confidential Assets created using Zero Knowledge Proofs. These Confidential Assets are created and transfered using Aztec Protocol. Confidential Assets are transfered as Notes[Similar to UTXO Model] in Aztec Protocol. Participants uses Viewing Key to fetch the transaction Value of Note. Viewing Key is shared only with the Participants of Policy members added on NuCypher.
How does it work???
Our Selective-ZKP provision Note Owners to share the Viewing Key SELECTIVELY with Groups by creating Policy on NuCypher. Once Policy is created, Note owner can add public keys to the Policy. Now user can send message[ViewingKey] to the NuCyper Policy which creates re-encryption keys for all the public keys inside policy group. Using re-encryption keys, Selective group can fetch the ViewingKey and subsequently fetch Note value.
We Selective-ZKP enhances Aztec Protocol helping users to provide view access to SELECTIVE clients.
How to run ?
- Start the ganache cli on port 8545 by going into the
aztec_ganache_starterfolder, then run
npm installto install dependencies and run
- Open a new terminal and in the same folder run
- Go to the
nucypher/setupfolder, install dependencies using
npm installand run
node runner.jswhich will start the nucypher entities
- Then move to
nucypher/serverfolder, install dependencies using
npm installand run
node proxy.jsto connect to the nucypher entities
- Now go to
aztec_ganache_starterfolder and run
- Now run the UI server by going to
dashboardfolder, then installing live-server using
npm i -g live-serverand then running
- You will find 2 pages
regwhen you go to