Vadim, > On Apr 16, 2025, at 1:26 PM, Vadim Goncharov <[email protected]> wrote: > > Essentially known-values are just another way to specify a compact encoding > for long type string, like JSON-LD does for URIs, so a generic > (semantic) compaction framework like CBAPT can replace many wheels reinvented > again and again in protocols, leaving only thin amount for them to define.
I think I understand you correctly, so yes. Many semantic systems use “triples”: <subject> <predicate> <object> “Sam” ‘knows' “John” Where predicates like ‘knows’ are common, and in some cases universal. Gordian Envelope is based on the pattern: <subject> [ <predicate>: <object> <predicate>: <object> ... ] (Note the above is “Envelope Notation”, not CBOR diagnostic notation or CDDL). Gordian Envelope itself is built on dCBOR. Where a number of assertions (<predicate>: <object> pairs) are declared on a subject, and any of these positions can be a dCBOR object, including nested Gordian Envelopes, forming a tree with a unique digest at every node. Strings (like URLs) can work for predicates, but can take up significant space, and where URLs can be specified numerous ways, this can lead to breaking determinism. So we created the known-value space #6.40000 which is always just a tagged 64-bit integer. The length of a known-value with a 1+1 integer is only 5 bytes. So we’re making first-come first-served assignments of code points in the known-value space for anyone who would find such a value useful that is fixed public, and globally unique, and can provide a URL to a spec claiming it, with no reasonable request refused. I need to emphasize that there is nothing about known-values that tie them to dCBOR or Gordian Envelope (other than that they are compatible with any kind of CBOR.) You can use them as keys in CBOR maps, or anywhere you want an integer value that is unique and has fixed semantics. https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2023-002-known-value.md ~ Wolf _______________________________________________ COSE mailing list -- [email protected] To unsubscribe send an email to [email protected]
