Abstract

Augment existing modules and add new adapters to enable data sharing to and from networks built on Hyperledger Besu and Ethereum.

Mentors

NameTime zoneDiscord IDEmail ID
Venkatraman RamakrishnaISTvramaiitkgpvramakr2@in.ibm.com
Sandeep NishadISTsandeepnsandeep.nishad1@ibm.com
Sikhar PatranabisISTSikharsikhar.patranabis@ibm.com

Mentee

NameTime zoneDiscord IDEmail ID
Vatti Praveen KumarISTvatti_praveenvattipraveen565@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
  • 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

DatesTasks/Plan

Status

Jun 12 - Jun 30Mentee intro with mentors, getting hands-on with the Cacti-Weaver code and documentation, understanding the deliverables

July 1 - July 15
  • Create common protobuf data structures
  • Write RFCs
July 16 - July 31

Implement: Besu interoperation module: membership management (with unit tests)


Aug 1 - Aug 15
  • Implement: Besu interoperation module: proof generation (with unit tests)
  • Implement: Besu interoperation module: proof verification (with unit tests)

Aug 16 - Aug 31
  • Implement: Besu interoperation module: access control (with unit tests)
  • Implement: Besu driver (with unit tests)

Nov 7 - Nov 30 (Nov 30 eval)Final presentation

Methodology

  • TBD
  • TBD
  • TBD
  • No labels