Hyperledger Aries

repository·main·Indexed 43 days ago

https://github.com/hyperledger-aries/aries

A framework for enabling trusted peer-to-peer interactions using decentralized identities and verifiable credentials. It provides protocol definitions, tools, and reference implementations for Self Sovereign Identity (SSI) across various distributed ledgers, including agent frameworks such as ACA-Py, Aries Framework .NET, and Aries Framework Go.

Tokens
1.6K
Snippets
0
Records
8
Agent score
5%

What's inside Hyperledger Aries

  1. What is Hyperledger Aries?

    main

    Hyperledger Aries is a framework for trusted online peer-to-peer interactions based on decentralized identities and verifiable credentials. It provides protocol definitions, tools, and reference implementations that support identities rooted in various distributed ledgers or blockchains (Self Sovereign Identity - SSI).

    Core components include:

    • Agents: The software entities that manage identities and interactions.
    • DID Communications: The mechanism for secure messaging between agents.
    • Protocols: The standardized rules for how agents interact.
    • Key Management: The handling of cryptographic keys used for identity and security.
  2. Relationship between Aries and Hyperledger Indy

    main

    Aries is an evolution of the work started in Hyperledger Indy. While Indy provides a specific blockchain purpose-built for identity, Aries extends these capabilities to be blockchain-agnostic.

    • Use Aries Frameworks if you want to build decentralized identity capabilities that may eventually move beyond Indy.
    • Use Indy SDK directly if you are already building a solution specifically around the Indy ledger; Indy functionality will remain in Indy, and the SDK will continue to be maintained.
  3. Duties of a Hyperledger Aries TSC Member

    main

    The Technical Steering Committee (TSC) is responsible for the governance of the Hyperledger Aries project. Members are expected to:

    • Attend Meetings: Participate in TSC meetings, which generally occur during weekly Aries Working Group calls, and attend special meetings as called.
    • Governance: Discuss project governance issues guided by the project's Charter, including the roles of TSC Members, Maintainers, and Contributors.
    • Voting: Vote on project issues in accordance with the project's Charter.
    • Dispute Resolution: Discuss and vote on issues or disputes escalated by Maintainers or Contributors.
    • Charter Maintenance: Propose and implement changes to the project's Charter when permitted.
    • Reporting: Contribute to the project's Quarterly and Annual Reports.

    Note: Duties can be updated via a Pull Request (PR) to TSC.md that is voted on by the TSC and merged by a repository Maintainer.

  4. How to become a TSC Member

    main

    Becoming a TSC member involves establishing a reputation in the project followed by a formal proposal process via Pull Request (PR) to TSC.md:

    1. Establish Reputation: The candidate must demonstrate active involvement in the Hyperledger Aries Project.
    2. Create PR: A PR is created to add the candidate to the Active TSC Members list in TSC.md.
    3. Support: The PR must be authored by an existing TSC Member or include a supporting comment from one.
    4. Interest Confirmation: The candidate must author the PR or comment confirming their interest and their willingness to serve as a long-term member (more than 6 months).
    5. Communication: The PR must be communicated across community channels (calls, chat, mailing lists) to allow for community feedback.
    6. Approval & Merging: The PR is merged if either:
      • Two weeks pass after at least three (3) TSC Members have approved the PR or added an approval comment.
      • An absolute majority of TSC Members have approved the PR or added an approval comment.

    Note: TSC membership is independent of repository Maintainer status, though members are often Maintainers.

  5. How to remove or transition a TSC Member to Emeritus status

    main

    TSC membership is not indefinite. Members may be moved to emeritus status due to resignation, inactivity (extended absence from meetings/discussions), Code of Conduct violations, or other TSC-discretionary reasons.

    Voluntary Resignation

    For voluntary resignations, a PR can be merged following a single TSC Member's PR approval or approval comment.

    Other Removals (Inactivity, Conduct, etc.)

    1. Create PR: A PR is created to move the member to the Emeritus TSC Members list in TSC.md.
    2. Support: The PR must be authored by (or include a supporting comment from) an existing TSC Member or a Hyperledger GitHub organization administrator.
    3. Communication: The PR may be communicated via community channels.
    4. Approval & Merging: The PR is merged if any of these conditions are met:
      • The TSC Member being transitioned approves the PR or adds an approval comment.
      • Two weeks pass after at least three (3) TSC Member approvals or approval comments are recorded.
      • An absolute majority of TSC Members approve the PR or add an approval comment.

    To return to active status from emeritus, follow the same process used for adding a new TSC Member.

  6. Choose an Aries Agent Framework

    main

    Developers looking to build applications should use an existing Agent Framework rather than contributing to the core Aries protocols. Frameworks allow you to add application-specific code to control an Aries agent.

    Production-Ready Frameworks

    • Aries Cloud Agent - Python (ACA-Py): Best for non-mobile applications. It uses an HTTP interface for a companion controller (which can be written in any language) and embeds the Indy-SDK.
    • Aries Framework - .NET: Suitable for both mobile (via Xamarin) and server-side agents. It embeds the Indy-SDK and allows the controller to be written in any language that can embed the framework as a library.
    • Aries Static Agent - Python: A configurable agent designed for environments that do not require persistent storage.

    Other Frameworks

    • Aries Framework - Go: A pure Go framework that exposes an HTTP interface for a controller. It is currently working towards supporting verifiable credentials in Go without embedding the Indy SDK.
    • Aries Framework - JavaScript
    • aries-sdk-ruby
  7. Aries Development Tools and Protocols

    main

    Development and Testing Tools

    Use these tools to develop agents and ensure compatibility within the ecosystem:

    • aries-toolbox: General purpose toolbox.
    • aries-protocol-test-suite: Used to test if agents are compatible with other agents in the ecosystem.

    Protocol Standards

    To understand the theory and the open standards implemented by Aries agents and frameworks, refer to the Aries RFCs (Request for Comments):