passport
passport copied to clipboard
Spike: Explore updating onchain Passports to write the full credential
User Story:
As a Passport Product Manager or Passport Engineer I want to write each credential onchain So that I can simplify the data
As a Passport ecosystem developer I want to be able to read the same information onchain and offchain So that I can more easily write and maintain integrations
Acceptance Criteria
GIVEN a Passport user WHEN they push that onchain THEN the individual credentials are saved onchain
This would be the same data / payload is pushed onchain that is pushed to Ceramic. I think this would require an updated EAS schema and a change to how we write. The big question is how much does this change the gas cost(s) with the new EIP to reduce L2 gas costs. We should test on OP & Linea.
Product & Design Links:
Tech Details:
Open Questions:
Notes/Assumptions:
The Schema for writing a VC onchain: Option 1
hash: bytes32, provider: string
Option 2 If we want to include the exact same dates as in the VC
hash: bytes32, provider: string, issuance_data: uint64 [, expiration_data: uint64, ]
Option 3 If we want to also include the proof to track offline revoked attestations. In the future we might add a proper ID instead of this ...
hash: bytes32, provider: string, issuance_data: uint64, expiration_data: uint64, r: bytes32, s: byte, v: bytes32
Notes
- we don't need to write the did, as the this is basically the recipient
- the hash would be the unencoded 256 bit hash value (without the version prefix)
- I would make the schema and the attestation revocable
- set the expiration date to match the expiration date of the VC
Open questions
- do we want the issuance / expiration dates to be the exact same as the ones in the VC (issuance date of the attestation would be set automatically to the date the attestation is created, which would be after the date of the VC issuance. We would normally only be able to set the expiration date to be the same as for the VC, unless we include an extra field in the attestation payload.