Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We argue that this is not absolutely necessary; in a recent work (published as open - source at: https://github.com/ftsrg/zkWF), we created a hash-commitment scheme-based business process orchestration approach, relying on zk-SNARKs for proving the admissibility of process state commitment updates.

Our prototype implementation already supports Hyperledger Fabric to some extent (originally, we focused primarily on Solidity/EVM). Specifically, we have an implementation of the crucial element, the commitment - manager and proof checker chaincode. However, proper support for Fabric needs a number of further improvements – as contributions to our open-source solution - and this is the topic of this mentorship. The specific work items we envision are the following.

  • Setup and deployment support for Hyperledger Fabric
  • Design and implement implementation of a full-fledged Fabric client (at the application/SDK level)
  • Integrated handling of private message-sending (off-chain in the current scheme) through Fabric PDC
  • Implement the Implementing our "fake update" mechanism, which is to protect against statistical and trace inference attacks on process state confidentiality
  • If time permits, addressing (some of the) current limitations at the BPMN level

...

  • Gain familiarity with commitment-management style ZKP schemes and the ZoKrates toolkit
  • Learn to implement a full-fledged Hyperledger Fabric client application
  • Learn to work collaboratively and contribute to an existing code base
  • Learn modeling modelling in BPMN and handling BPMN models

Expected Outcome

  • Setup and deployment support in zkWF for Hyperledger Fabric (code, documentation)
  • Full-fledged Fabric zkWF client (the key point is the SDK, the current GUI is only for demonstrational purposes)
  • Fabric-specific modifications to the zkWF code base (see the description)
  • "Nice to have" outcome: a design vision on integrating zkWF with Hyperledger Firefly

Relation to Hyperledger 

Hyperledger Fabric; indirectly Hyperledger Besu (theoretically, zkWF should work with Besu as-is); in the long run, potentially Hyperledger Firefly

Mentee Skills

Some experience and agility in working with Linux are absolutely necessary (the whole toolchain assumes Linux); and the project is challenging to finish in a reasonable time without having some experience in Kotlin (a key language of the code base) and Hyperledger Fabric.

ZoKrates and TornadoFX experience are a plus but not necessary.

Mentee Open Source Contribution Experience

"Show your work" - show us a code base (preferably on GitHub) you created/had a major role in creating and which you are proud of. If that's not applicable, our plan is to assign some programming tasks during the selection interview for such candidates.

Future plans

We expect this project to gain actual momentum in the mid-term - even if not exactly in its current form (we are considering in the longer term rebasing to Firefly as well as morphing the whole approach into a Layer 2 service).

Moving the project into a Hyperledger Lab is an option we certainly don't rule out after a successful mentorship.

Mentor(s) Names and Contact Info

Imre Kocsis, assistant professor, kocsis.imre@vik.bme.hu, Budapest University of Technology and Economics, Dept. of Measurement and Inf. Systems, Critical Systems Research Group

Balázs Ádám Toldi, MSc student, balazs.toldi@edu.bme.hu, Budapest University of Technology and Economics, Dept. of Measurement and Inf. Systems, Critical Systems Research Group