Skip to content
This repository has been archived by the owner on Dec 12, 2024. It is now read-only.

New package: @dcx-protocol/verifier #99

Open
5 tasks
bnonni opened this issue Aug 19, 2024 · 0 comments
Open
5 tasks

New package: @dcx-protocol/verifier #99

bnonni opened this issue Aug 19, 2024 · 0 comments
Assignees
Labels
P3 priority level 3, not urgent not important, backlog package: root Directly impacts the root folder package: verifier Directly impacts the verifier package requirement: non-functional Nice to have for better functioning, either now or in the future

Comments

@bnonni
Copy link
Contributor

bnonni commented Aug 19, 2024

Summary

  • DIF defines the actors in PEX as: Holder and Verifier https://identity.foundation/presentation-exchange/
  • The combined concepts of PEX and Credential Manifests yields
    • Verifier defines VC requirements in manifest
    • Holder submits application with VCs
    • Verifier verifies VCs and
  • so the three actors are: Holder, Verifier, Issuer
    • Holders === Dcx Applicants
    • Verifiers === Dcx Verifier
    • Issuers = Dcx Issuers
  • DCX is a direct implementation of the DIF PEX specification
  • To fully align with the DIF PEX spec, we need to implement a new package: @dcx-protocol/verifier
  • Much of the code within the current issuer package could be ported over to the new verifier

PEX Diagram - Holder to Verifier

image

PEX Diagram - Issuer to Holder

image

Considerations

  • Running a DCX server is equivalent to running a verifier
  • If the DCX server also issues credentials, it would double as the verifier and the issuer
  • Consider what it looks like to have both a verifier and an issuer package
  • verifier houses the essential software pieces for doing the following:
    • defining presentation definitions in credential manifests
    • processing presentation submissions in credential applications (verifying VCs)
    • requesting VCs or VC data from 3rd party issuers
    • creating credential responses with VCs in them
  • issuer houses the essential software to do the following:
    • signing and issuing VCs
    • creating credential responses
  • defining verifier and separating it from issuer provides a cleaner level of abstraction and design
  • users could deploy separate verifier and issuer servers
  • users could also deploy one server using both the verifier and issuer packages if desired

TODO

  • create @dcx-protocol/verifier
  • define the requirements for each package
  • review @dcx-protocol/issuer and determine which parts of its code are meant to be part of verifier
  • move those parts to the new verifier package
  • re-design and implement the issuer package if needed
@bnonni bnonni self-assigned this Aug 19, 2024
@bnonni bnonni changed the title New Package: @dcx-protocol/verifier new package: @dcx-protocol/verifier Aug 21, 2024
@bnonni bnonni added enhancement New feature or request package: root Directly impacts the root folder package: verifier Directly impacts the verifier package P3 priority level 3, not urgent not important, backlog requirement: non-functional Nice to have for better functioning, either now or in the future and removed enhancement New feature or request labels Aug 22, 2024
@bnonni bnonni changed the title new package: @dcx-protocol/verifier New package: @dcx-protocol/verifier Aug 30, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
P3 priority level 3, not urgent not important, backlog package: root Directly impacts the root folder package: verifier Directly impacts the verifier package requirement: non-functional Nice to have for better functioning, either now or in the future
Projects
None yet
Development

No branches or pull requests

1 participant