beckn / protocol-specifications

Core protocol specification for peer-to-peer consumer-provider interaction
Other
375 stars 101 forks source link

Adding trust in transactions using credentials #467

Closed rajaneeshk90 closed 5 days ago

rajaneeshk90 commented 5 days ago

Description

The Hyperbeckn is a decentralized infrastructure designed to transform how participants build trust and transact in a secure, scalable, and transparent environment. The goal is to embed trust into the flow of transactions.

To do so, it is essential to have a Credential object in the transaction flow. This Credential object must support various types of credentials and it needs to be included in various components used in transaction, like Agent, Customer, Organisation, Payment, Provider, Subscriber, Fulfillment, Item, Order etc.

Summary of the changes proposed

There already is a Credential schema defined in the protocol specification. As part of this PR the existing Credential Object was enhanced to support various type of credentials, including a Verifiable Credentials

Two new API endpoints ( cred/ and on_cred/) were added in the protocol specification to support fetching credentials.

Changes

  1. Addition: Created schema/VC.yaml to represent a verifiable credential object.
  2. Update: Changed schema/Credential.yaml to support Verifiable Credentials
  3. Addition: Created schema/CredentialRequest.yaml schema to represent a credential request object.
  4. Addition: created cred/ endpoint to be used to request a credential from an entity
  5. Addition: created on_cred/ endpoint to be used as callback to provide the requested credentials.
  6. Addition: Added a boolean verified field in the context schema