Skip to content

Add additional reasons to JSON-LD+LD-Proofs section #61

@msporny

Description

@msporny

Making some notes from discussion had earlier today with @dlongley, where he stated something to this effect:

LD proofs allow data translation, remove redundant bloat, and keep the data model layer separate from the signature layer

JWTs mix the data model and the signature layer, you can't translate data formats (can't do CBOR-LD/other things and keep signatures), and you need a full copy of the serialized version of what you signed kept around ... which becomes worse the more the more signatures you add

The fact that you can sign an actual graph with LD proofs means you can actually selectively disclose relationship data down to the most granular level ... a single triple, you can't do that with anything else

Can't do that with JWT ... unless you reinvent a graph format... and ... ultimately, you need JSON-LD processing (or something like it) to do the above ... which is why you can't remove that particular operation and claim there is equivalence between the two mechanisms.

Therefore graph normalization is a fundamental difference. it's a trade off. can you represent your data as a graph, can you translate between data formats / representations without losing a signature, and can you aggregate multiple signatures, etc. without bloat? You can only do that if you have a graph representation for your data and some kind of canonicalization algorithm that can be reapplied to different data that produces the same result.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions