Project Plan: Data Sharing from Besu/Ethereum in Cacti
Abstract
Augment existing modules and add new adapters to enable data sharing to and from networks built on Hyperledger Besu and Ethereum.
Mentors
Name | Time zone | Discord ID | Email ID |
---|---|---|---|
Venkatraman Ramakrishna | IST | vramaiitkgp | vramakr2@in.ibm.com |
Sandeep Nishad | IST | sandeepn | sandeep.nishad1@ibm.com |
Sikhar Patranabis | IST | Sikhar | sikhar.patranabis@ibm.com |
Mentee
Name | Time zone | Discord ID | Email ID |
---|---|---|---|
Vatti Praveen Kumar | IST | vatti_praveen | vattipraveen565@gmail.com |
Communication channel: Slack + Discord+ Github
Project repo: https://github.com/hyperledger/cacti
Deliverables
- Create components for a Besu network to be able to participate in data sharing:
- Besu driver for view and proof generation
- Besu interoperation module: access control
- Besu interoperation module: membership management
- Besu interoperation module: proof generation
- Besu interoperation module: proof verification
- Besu Node.js SDK for triggering data sharing flows
- (Optional) Besu IIN Agent for membership syncing
- Besu driver for view and proof generation
- Augment Fabric interoperation chaincode to accept and validate Besu proofs
- Augment Corda interoperation CorDApp to accept and validate Besu proofs
- Write appropriate configuration files: relay, access control policy, verification policy, membership info for Besu network
- Update Besu CLI to orchestrate and test end-to-end data sharing flows with at least one Besu network
- Unit and Integration tests
- Write RFCs detailing specifications of Besu-related components, compiling research and design specifications
- Write tutorial documents for users to launch and configure Besu networks and run end-to-end data sharing examples
- (Optional) Port interoperation module for use with Ethereum Mainnet: to generate proofs from Ethereum
- (Optional) Port Besu driver to work with the Ethereum mainnet to generate proofs from Ethereum
- (Optional) Add encryption and authentication logic in Besu interoperation module for end-to-end confidentiality
- (Optional) Add decryption and authentication logic in Besu SDK for end-to-end confidentiality
Merged PR's
- TBD
Final Project Presentation:
- TBD
Milestones
Eval 1:
- Research: structure and security of Besu networks, data/block structures, proof structures
- Design specifications for each module involved in the data sharing protocol involving Besu as either source or destination: write RFCs
- Implement: Besu interoperation module: membership management (with unit tests)
Eval 2:
- Implement: Besu interoperation module: proof generation (with unit tests)
- Implement: Besu interoperation module: proof verification (with unit tests)
- Implement: Besu interoperation module: access control (with unit tests)
- Implement: Besu driver (with unit tests)
Eval 3:
- Implement: Besu SDK support for data sharing (with unit tests)
- Implement: Besu CLI for sample end-to-end data sharing scenarios
- Demonstrate end-to-end data sharing: Besu-Besu
- Implement: Fabric interoperation chaincode support for Besu views
- Demonstrate end-to-end data sharing: Fabric-Besu
- Write tutorial documentation to guide users
- Add appropriate Github Actions for integration testing
Eval 4:
- Implement: Interop CorDApp support for Besu views
- Demonstrate end-to-end data sharing: Corda-Besu
- Write tutorial documentation to guide users
- Add appropriate Github Actions for integration testing
- TBD: Optional deliverables
Timeline
Dates | Tasks/Plan | Status |
---|---|---|
Jun 12 - Jun 30 | Mentee intro with mentors, getting hands-on with the Cacti-Weaver code and documentation, understanding the deliverables | ✅ |
July 1 - July 15 |
| ✅ |
July 16 - July 31 | Implement: Besu interoperation module: membership management (with unit tests) | |
Aug 1 - Aug 15 |
| |
Aug 16 - Aug 31 |
| |
Nov 7 - Nov 30 (Nov 30 eval) | Final presentation |
Methodology
- TBD
- TBD
- TBD