hyperledger-archives / ursa

Hyperledger Ursa (a shared cryptographic library) has moved to end-of-life status, with the components of Ursa still in use moved to their relevant Hyperledger projects (AnonCreds, Indy, Aries and Iroha).

Home Page:https://wiki.hyperledger.org/display/ursa

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Operation Oso

mikelodder7 opened this issue · comments

As part of the Ursa refactor, I'm breaking down the various tasks that anyone can do to contribute. Some of these tasks will need to be completed in order but may will not. The list is included here as a master list but each task will be detailed in an issue. The main goal here is to leave the current APIs as is or make small modifications and leave the old existing stuff for the moment until this operation is completed. At that point, we can start removing legacy code from the main project.

  • Create the top-level project library - #152
  • Create a subproject for core components - #153
  • Create a subproject for signatures
  • Create a subproject for key agreement
  • Create a subproject for encryption
  • Create a subproject for secret sharing
  • Create a subproject for short group signatures
  • Create a subproject for accumulators
  • Create a subproject for circuits
  • Refactor the current signature folder to be the signatures subproject
  • Refactor the current encryption to be the encryption subproject
  • Refactor the current kex to be the key agreement
  • Refactor the current sharing to be the sharing subproject
  • Refactor bbs and ps to be the short group signatures subproject
  • Refactor bulletproofs to be part of the circuits subproject
commented

@mikelodder7 Do I read this correctly that the zmix directory goes away in this reorganization? (I'm good with that, just checking my understanding of this layout).

Yes I believe it’s unnecessary

commented

@mikelodder7 Do I read this correctly that the zmix directory goes away in this reorganization? (I'm good with that, just checking my understanding of this layout).

We haven't been using zmix in the way that the people who originally designed it planned. They envisioned it as a full ZK system. We've been using things in a much more ad-hoc way, so it makes sense to separate things out by individual primitive. It also makes designing a common interface between primitives more intuitive--we can have an interface per subproject, for instance.

@nhwn this is the ticket that describes what still needs to happen for ursa refactoring

Recent conversations in the Ursa meetings have resulted in a plan that does not match this one.
We will open alternate issues with the new plan, indicate conflicts with this plan here as they arise, and ultimately close this issue.

No problem. Given its been so long I'm not surprised.

Closing in favor of #223