2019 Q3 Hyperledger Ursa

Created by Hart Montgomery, last modified by Troy Ronda on Sep 26, 2019

Project Health

Ursa is moving forward, slowly but surely.  We have released two versions-v0.1 and v0.1.1–since the last update. 

Projects:   Ursa is currently the only crypto library in use for Indy-SDK (i.e., the Indy crypto library is no longer used in this case) and Indy maintainers and contributors are working towards using Ursa for all of their cryptography.  We have also been recently notified that an intern has completed work on integrating Ursa into Iroha, which is more good news (this was done by the Iroha team, so they deserve the credit here–not us) ( https://github.com/hyperledger/iroha/commit/b3adc310e9c797c9dd5c99e4a7b518f2c5cf50f0 ).

Questions/Issues for the TSC

While this is more for project maintainers than the TSC (although the overlap is heavy), we’d like to use this time to ask maintainers of projects that aren’t currently using Ursa what kind of features would convince them to use Ursa.   The more feedback we get, the better we can do as a project.

The issue of the lack of dunking booth funding is also deeply concerning to us, although we recognize that this is a governing board issue rather than a TSC issue. 


We made two releases since the last update:

v0.1.0 :  March 21

v0.1.1:  April 24

These releases are early releases that are targeted at replacing the Indy crypto libraries while still preserving interfaces needed for eventual Sawtooth use.

Overall Activity in the Past Quarter

New Documents:

  1. Anonymous Credentials:  we have been formulating an implementation for anonymous credentials, which has gone through multiple iterations.
  2. Threshold issuance credentials:  we plan to add these once we standardize an API.

New RFCs:

  1. Encryption API:  we have built an API for modular (symmetric) encryption.  This will allow us to “plug and play” symmetric key encryption protocols and block ciphers once implemented.
  2. Delegatable credentials and z-mix are in the pipeline.

New Code:

  1. Camenisch-Schoup Verifiable Encryption:
  2. Pointcheval-Sanders (PS) signatures:
  3. Much more “in the pipeline.”

    Current Plans

We have a lot of work in progress, both in our base crypto library and in our zero knowledge-focused zmix library.  Some things include:

  1. Continue work on our modular interfaces.  This is necessary so th”at we can make a better case for Sawtooth and Fabric to use Ursa.  Example interfaces that still need work are our encryption/block cipher interface and our “zk-signature” interface for PS and BBS+ signatures.

Maintainer Diversity

Current active maintainers

  • Mike Lodder (Sovrin Foundation)
  • Lovesh Harchandani (Evernym Inc.)
  • Dave Huseby (Linux Foundation)
  • Hart Montgomery (Fujitsu)
  • Shawn Amundson (Bitwise)
  • Dan Middleton (Intel)
  • Cam Parra (Kiva)

New maintainers

  • Dan Anderson (Intel)
  • Jon Geater (Jitsuin)

Contributor Diversity

Our contributor list has been relatively static, although we are optimistic of adding new contributors in the near future (e.g., for hardware support).

Current Contributors

Additional Information

Reviewed by

  • ✅Angelo De Caro
  • ✅Arnaud J Le Hors
  • ✅Christopher Ferris
  • ✅Dan Middleton
  • ✅Gari Singh
  • ✅Hart Montgomery
  • ✅Mark Wagner
  • ✅Nathan George
  • ✅Swetha Repakula
  • ✅Tracy Kuhrt
  • ✅Troy Ronda


An implementation of delegatable credentials in go:  https://github.com/IBM/dac-lib

Posted by angelo.decaro at Sep 26, 2019 14:23