Re: Resolving the issue of JSON and preserving order

Inline

On Fri, Sep 29, 2023 at 1:32 AM Anders Rundgren <
anders.rundgren.net@gmail.com> wrote:

> On 2023-09-28 14:59, Orie Steele wrote:
> > JSON-LD is required to represent W3C Verifiable Credentials.
>
> Is that so? This section talks about multiple formats, including CBOR:
> https://www.w3.org/TR/vc-data-model/#syntaxes
>
>
You are pointing to the previous version of the standard.

- https://www.w3.org/TR/vc-data-model-2.0/#json-ld
- https://www.w3.org/TR/vc-data-model-2.0/#conformance

Notice that all the media type registrations in the core data model use the
`+ld+json` structured suffix.

This means that conforming documents are JSON-LD... and that other document
types, such as those used by securing formats... are wrapping JSON-LD.

CBOR structured claims (such as what are used in a CWT), are not conforming
documents, and do not comply with the v2 version of the spec.


>
> > By default JSON-LD does not preserve array order.
>
> By using JWT for proofs, the order of items becomes irrelevant:
>
> https://www.w3.org/TR/vc-data-model/#example-verifiable-credential-using-jwt-compact-serialization-non-normative
>
> However, the ugliness and inefficiency of the JWT solution was my
> motivation for giving up on JSON.  Since CBOR (semantically) is a true
> subset of JSON, a CBOR_LD seems like a no-brainer.
>
>
I don't agree with any of this... especially citing a community group draft
as being a good building block for a W3C technical recommendation.


> Anders
>
> >
> > https://www.w3.org/TR/json-ld11/#representing-lists-as-arrays <
> https://www.w3.org/TR/json-ld11/#representing-lists-as-arrays>
> >
> > CBOR is not a solution to meeting the normative requirements of W3C
> Verifiable Credentials... since CBOR Maps are not conforming documents.
> >
> > IMO CBOR is a better building block, but that's not the question being
> asked.
> >
> > OS
> >
> >
> > On Thu, Sep 28, 2023 at 5:54 AM Anders Rundgren <
> anders.rundgren.net@gmail.com <mailto:anders.rundgren.net@gmail.com>>
> wrote:
> >
> >     The example in the link shows individual claims with multiple keys.
> Such claims must either be canonicalized (or wrapped in B64), in order to
> be signed or hashed.
> >
> >     Deterministic CBOR does not require any special handling of data to
> be signed.
> >
> >     Anders
> >
> >     On Sat, Sep 23, 2023, 10:10 Andy Miller <theafmiller@gmail.com
> <mailto:theafmiller@gmail.com>> wrote:
> >
> >         Since order is maintained in JSON arrays, I think this would
> maintain the order of credential subjects (ref:
> https://www.w3.org/TR/vc-data-model-2.0/#example-specifying-multiple-subjects-in-a-verifiable-credential
> <
> https://www.w3.org/TR/vc-data-model-2.0/#example-specifying-multiple-subjects-in-a-verifiable-credential
> >):
> >
> >         {"credentialSubject": [
> >              {"id": "id-1"},
> >              {"id": "id-2"}
> >         ]}
> >
> >         Andy
> >
> >         On Sat, Sep 23, 2023 at 4:57 PM Anders Rundgren <
> anders.rundgren.net@gmail.com <mailto:anders.rundgren.net@gmail.com>>
> wrote:
> >
> >             Another solution is using deterministic CBOR which seems
> like an excellent fit for credentials and such.
> >             Deterministic CBOR will most likely become and IETF standard.
> >
> >             https://github.com/cyberphone/D-CBOR#example <
> https://github.com/cyberphone/D-CBOR#example>
> >
> >             Anders
> >
> >             On 2023-09-22 14:38, Orie Steele wrote:
> >              > You can use JSON-LD language features to preserve order.
> >              >
> >              > If you use SD-JWT, because the JSON is signed instead of
> N-Quads, order is preserved by the signature.
> >              >
> >              > OS
> >              >
> >              > On Fri, Sep 22, 2023, 4:57 AM ステファニー タン(SBIホールディングス) <
> tstefan@sbigroup.co.jp <mailto:tstefan@sbigroup.co.jp> <mailto:
> tstefan@sbigroup.co.jp <mailto:tstefan@sbigroup.co.jp>>> wrote:
> >              >
> >              >     Hi all,
> >              >
> >              >     It's Stefannie again. Once again I would like to
> thank everyone for their help so far. We would be happy to participate in
> the next weekly call to introduce ourselves properly.
> >              >
> >              >     Our next question is to do with VC and establishing a
> certain order. Inside the VC is the proof and other attributes, such as
> Credential Subject. Since JSON is unordered or does not preserve a certain
> order, what do you do when you want to establish a certain order for
> multiple credential subjects while preserving extensibility?
> >              >
> >              >     Thank you for any advice or suggestion you might have.
> >              >
> >              >     Best,
> >              >     Stefannie
> >              >
> >
> >
> >
> >
> > --
> >
> >
> > ORIE STEELE
> > Chief Technology Officer
> > www.transmute.industries
> >
> > <https://transmute.industries>
> >
>
>

-- 


ORIE STEELE
Chief Technology Officer
www.transmute.industries

<https://transmute.industries>

Received on Friday, 29 September 2023 16:47:00 UTC