Closed diehuxx closed 7 months ago
we should move the privateData
section under Rfq
bguz longer applies to all message types.
@diehuxx just opened a PR that includes a handful of recommended extensions that make writing markdown subjectively easier (e.g. auto formatting tables, managing table of contents for you) https://github.com/TBD54566975/tbdex/pull/295. can you use Markdown All in One and Markdown Table to fix the ToC and table formatting?
what's the rationale behind claimsHashes
over just claimsHash
?
what's the rationale behind claimsHashes over just claimsHash?
I was thinking that in subsequent minor versions, we could add more nuance in validating each of the claims hashes to allow for a subset claims to be disclosed in privateData
. I'm not married to this idea, since I don't have a concrete use case in mind that requires it. If you think it's not worth the added complexity, I'm open to changing it.
@diehuxx i think we'll probably want to lean on sd-jwt
as much as possible wrt selective disclosure thangs. i think we should remove it.
Context
274
Previously, we considered the concept of a top-level unstructured
private
property in RFQ, which would optionally contain the private data specified by the Offering, where corresponding Rfq.data would be hashed. This PR lays out a simplified design compared to what we had before.Motivation
It is useful to be able to detach private fields from the RFQ payload and still be able to verify message integrity. So we create a separate section for private data.
Q&A
Why call it
privateData
when we used to call itprivate
? Sinceprivate
is a reserved word in most programming languages, it was awkward to call the fieldprivate
in some places and have to think of another name in other places.Why not use SD-JWT? SD-JWT is more complex than our use case requires. There are only a few fields that we need to selectively disclose in an RFQ. The design laid out in this PR takes some ideas from SD-JWT without needing to implement the rest of the kitchen sink.
Test vectors
This PR updates the existing
parse-rfq
test vectors because the new design constitutes a breaking change to RFQ message structure. This PR also adds a net new test vector related to RFQs calledparse-rfq-omit-private-data
.TODO: Support updated test vectors in at least two tbdex implementations