- Project Establishment [COMPLETED]
- Research on functional encryption [COMPLETED]
- Official Whitepaper Release [COMPLETED]
- Official Website Launch [COMPLETED]
- Official Ruby community Launch [COMPLETED]
- Functional encryption library V1.0 released [COMPLETED]
- Web3 Foundation Grant milestone 1 approved [COMPLETED]
- Micropayment Scheme and Relevant Substrate Module Released [COMPLETED]
- Web3 Foundation Grant milestone 2 approved [COMPLETED]
- Substrate Builders Program application accepted
- Testnet V1.0 Launch
- Bug Bounty Program
- Substrate Builders Program milestone 1 approved
- Mainnet V1.0 Launch
- Access control for NFT-gated event V1.0 Launch
Milestone 1: Implement Cryptographic Modules [COMPLETED]
The main deliverable of this milestone includes:
- A cryptographic library written in Rust that implements the inner product functional encryption and quadratic polynomial functional encryption.
- A substrate pallet that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key.
Milestone 2: Client Implementation and Integration [COMPLETED]
The main deliverable of the milestone is the client that can trigger the aforementioned cryptographic modules and the micropayment scheme and the necessary UI to enable the users to interact with all these algorithms.
Milestone 1: Implementation of CP-ABE library and modification of zero-pool library
Implementation of ciphertext-policy attribute-based encryption (CP-ABE) library according to the standard on ABE proposed in ETSI tech specification. Different from our Web 3.0 grant delivery, the library will be full-fledged, and guarantee the following functionalities: The CP-ABE library will be chosen-ciphertext secure and support decentralized and multi authorities and attribute revocation. We will provide full documentation on how to use the CP-ABE library in practice. The existing zero-pool pallet for data monetization will be modified according to the new CP-ABE scheme. Since our project will focus on access control in our future development, we will adapt the data monetization part of our project to the access control requirement.
Milestone 2: Decentralized Setup of CP-ABE scheme
Provide a setup mechanism for the decentralized authorities. Add an API for a Ruby token holder to become an authority. This includes a substrate pallet for the holder to stake Ruby token before officially becoming a verified authority. A specification for the authority on how to validate the user’s attributes. This specification will indicate how to translate standard access control policy into attribute universe, etc. A standard for converting an access-control policy into an attribute policy that can be used by the underlying encryption algorithms. Establish a secure and authenticated channel for the transfer of public parameters from the authority to the encryptor. An API for the encryptor to respond to the request for encryption.
Milestone 3: Revocation Mechanism of CP-ABE scheme
A standard for the attribute revocation mechanism. The standard will include the specification of the revocation list, and the time-based, and counter-based secret key revocation. An API for the encryptor to re-encrypt the ciphertext before revocation. An XCMP message layer for the notification mechanism between the encryptor and the event triggered by the update of the revocation list. A procedure for the authority to perform attribute revocation duty. This will include a backend algorithm for the authority to set up and maintain the attribute universe and attribute revocation list. It will also have an API for the authority to interact with the substrate pallet to update the revocation list. Launch an access control service based on Substrate pallet.
In phase 1, we will complete the implementation of cryptographic modules as a substrate pallet that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key.
In phase 2, our goal is to deliver the micropayment scheme and enable the users to interact with all these algorithms in a working product.
Finally, our goal is to provide an essential open API and SDK from a high-level perspective with the above tools, fully powering the data monetization framework on Polkadot.
Open API and SDK
- A cryptographic library that implements the inner product functional encryption and quadratic polynomial functional encryption. A substrate module that integrates the verification logic of the associated zero-knowledge proof for the legitimacy of the encrypted functional key.
- The client can trigger the aforementioned cryptographic modules and the micropayment scheme and the necessary UI to enable the users to interact with all these algorithms.