Versions Compared

Key

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

...

Client Tools
Shared Components

Project Health

The contributors to Hyperledger Indy spent this past quarter working on these key initiatives:

  1. Hyperledger Aries as the new home of the interoperable agent work.
  2. Ratification of former Indy Agent standards as Aries Standards and bootstrapping the Aries Community.
  3. Schema improvements are now in a proposed overview HIPE for community comment and feedback. A detailed HIPE exists for the context object for community comment. Work has begun on the context object.

Indy is a healthy project. Indy’s codebase has 22012 commits from 170 unique contributors. This represents an increase of 6 contributors this quarter and about 2,000 additional commits. Forums and chat channels are monitored and a variety of participants are contributing helpful responses to questions are frequent, timely, and helpful.

...

. The Sovrin network saw multiple production use cases launched in the past quarter, and other Indy deployments are on track to enter production in 2019.

As part of launching project Aries, we redefined the scope and goals of the Indy project. This included transitioning most of our standards to Aries and deprecating projects like Indy Agent. We believe that Indy is in a good position to innovate even faster.

Issues

We continue to track the same key issues as in previous quarters.

Incompatible agent implementations

The launch of project Aries is an important step in encouraging interoperability among the various agent implementations. Aries is now responsible for defining the communication between agents, and will provide language frameworks that people can use to implement agents that comply with Aries standards.

Progress made:

  • Hyperledger Aries as the new home for interoperable agent work.
  • Previous work in the Indy project has led to quick releases of some Aries components:
    • Aries Cloud Agent - Python,
    • Aries Static Agent - Python,
    • Aries Framework - Go,
    • and the Aries Protocol Test Suite.

Further remediation planned:

  • Continue standardizing agent communication protocols in the Hyperledger Aries Project.
  • Move the relevant parts of the Indy SDK to become an Aries library that is shared by the Aries language frameworks.
  • The remaining parts of the Indy SDK will evolve into a ledger resolver that matches the resolver API defined by Aries.

Measuring the size and make-up of our user community

Progress was not made on this issue during the past quarter.

Further remediation planned:

We are paying attention to key metrics, but have not yet established a formal method of tracking specific progress. This is an area where Hyperledger could assist.

Progress made:

  • We see increased usage of the Stack Overflow tag #hyperledger-indy.
  • More questions on Rocket Chat are being answered by people who have not contributed pull requests to the project.
  • The rate of Jira issues opened by non-core contributors has increased significantly.

Future work planned:

  • We expect that the Indy contributor community will shrink as much of the attention shifts to Aries.
  • Work with Hyperledger to get analytics about web sites, and Rocket Chat usage.
  • Begin measuring usage of the Sovrin forums: new contributors, questions asked, and questions answered
  • Measure Indy tags on Stack Overflow.

...

Build Issues

The current Jenkins CI pipeline is difficult to maintain and extend. Hyperledger doesn’t provide build environments for many of our required environments such as Windows, OSX, and iOS, and Android. In the past quarter our build pipelines were repeatedly broken by changes to the Hyperledger devops policy regarding DCO checks, branching policy, and GitHub permissions, which resulting in wasted developer days and frustrated contributors. As a result, we are transitioning to a GitLab CI build pipeline using resources contributed by the developer community and managed by the Sovrin Foundation.

Progress made:

  • The team at the Sovrin Foundation is making progress reimplementing the pipeline for Indy-SDK using Gitlab CI.

Further remediation planned:

  • Other teams are committed to help move the other Indy pipelines to the GitLab infrastructure.

Releases

May 2019:

Indy SDK 1.8.3

...

Overall Activity in the Past Quarter

...

General

  • With the launch of Aries, the scope of the Indy project is smaller. Aries is now responsible for defining the communication between agents, and Indy will focus on providing a stable and scalable identity ledger. This work included ratification of former Indy HIPEs as Aries RFCs and bootstrapping the Aries community.
  • Indy development focused on ledger stability and features that are required to bring use cases to production such as:
    • replacing indy-crypto with Ursa in the Indy SDK,
    • deployment of an audit ledger,
    • support for multi-signature transactions,
    • a flexible system of authorization rules,
    • a new approach to ledger plugins that are easier to maintain,
    • support for transaction author agreements to protect stewards from legal liability,
    • wallet improvements that make it easier to tag and search credentials,
    • and lots of fixes.
  • Rich schema improvements are now in a proposed overview HIPE as well as a detailed HIPE for the context object. Community maturing into a reference implementation of the W3C standard for verifiable credentials. HIPE 0138 defines the context object, and community comment and feedback is underway. Work has begun on the context object. Three layers in the code base are affected: node, , which will affect all layers of the stack: Indy node, the Indy resolver, and SDK. Currently test node code Aries agents. We already have code for Indy Node that can write and read contexts to and from the ledger. Initial work has started on contexts in the Indy-SDK layer as it is migrating into the Indy Resolver and Hyperledger Aries.

 Current Plans

Schema

  • Rich schema improvements will continue to document and implement additional objects and functions to fully implement rich schemas.

Maintainer Diversity

General

Our previous plans have significantly evolved:

  • Indy SDK 2.0: Our current plan is to significantly reduce the scope of the Indy SDK to focus on resolving Aries transactions on the Indy ledger. All language libraries will be moved to the Aries project, keeping in Indy only the thin language bindings required for automated testing. This should significantly reduce our maintenance burden. We then plan to refactor the Indy Resolver to address concerns with the threading model and performance.
  • Ledger 2.0 / indy-ledger-next: Our effort to consider a different ledger implementation and architecture is on hold. We recognize that the current architecture limits scalability, but it has proven robust for the workloads we expect to see for some time. We are instead addressing the most critical stability concern with the current architecture which is the view change implementation.
  • Documentation: The effort to refine documentation is ongoing, including an effort to publish more architecture documentation for Indy SDK as we prepare for moving code into Aries, and to consolidate documentation for onboarding contributors.
  • Other features planned:
    • Compliance with standards such as DID Documents and W3C Verifiable Credentials.
    • Primitives necessary for Aries features such as peer DID communication.
    • Support for additional Indy SDK platforms such as Ubuntu, Fedora, and OSX.
    • And we will be adopting the new features emerging in Ursa related to Anoncreds 2.0, including new encryption curves, improved revocation, and more ZKP predicates.

Maintainer Diversity

Indy maintainers remain active in developing and contributing to working group calls and public discussions. The bi-weekly Indy Maintainers Circle call has consistently been call continues to be the medium by which maintainers coordinate work, discuss critical issues to the Indy codebase, and resolve agree on HIPEs. The Indy Agent call continues to be the focus of much attention, and the Semantics Working Group also continues to receive a lot of interestSemantics Working Group has been driving the work on advanced schemas. The active discussions in the Indy Agent meetings have moved to the Aries working group calls. No new Indy maintainers were added in the last quarter, but a number of Indy contributors have become official maintainers of Aries code bases.

Contributor Diversity

Fewer people work on Indy now that many contributors have moved their efforts to new projects like Ursa and Aries that focus on their specific interests. Most Indy contributions are made by the Sovrin Foundation, Evernym, and the government of British Columbia. This quarter we saw an increased number of issues being opened by people trying to use the Indy code base, and we aim to nurture these users into contributors.

Coordinating the efforts across Ursa, Indy, and Aries has been a challenge. To address this need, we have increased our collaboration with the Identity Working Group by replacing the weekly Indy Working Group call with an Identity Implementers callHyperledger Indy continues to see contributions from developers and organizations around the world. Our weekly Working Group call is normally attended by two dozen people representing nearly a dozen organizations. Indy’s codebase has 22012 commits from 170 unique contributors. This represents an increase of 6 contributors this quarter and 2012 additional commits.

POCs, Pilots, Projects

Sovrin

http://www.sovrin.org

Sovrin is the first instantiation of the Indy codebase and has moved from the provisional network phase of development to production usage.

Verifiable Organizations Network

https://von.pathfinder.gov.bc.ca

The Province of British Columbia, the Government of Ontario, and Public Services and Procurement Canada have a trusted digital network of verifiable data about organizations.

Evernym

https://www.evernym.com/

Evernym is creating applications that will make it easy for organizations and users to issue, hold, and verify credentials through the Sovrin network.

There are now too many Indy projects to list here. Recent public disclosures include:

Additional Information

  • Key channels on Rocket Chat: #indy, #indy-sdk, #indy-node, #indy-maintainers

...

Reviewed by

  •  Arnaud Le Hors
  •  Baohua Yang
  •  Binh Nguyen
  •  Christopher Ferris
  •  Dan Middleton
  •  Hart Montgomery
  •  Kelly Olson
  •  Mark Wagner
  •  Mic Bowman
  •  Nathan George
  •  Silas Davis