Skip to content

Why doesn't CoSERV query use CoMID environment map as the environment selector? #108

@DhanusML

Description

@DhanusML

CoSERV query uses either class-map or instance-id or group-id to identify the attester's environment. It cannot use a combination of these. However, the CoRIM specification does not enforce the global uniqueness of any of these identifiers individually, but the combination of these (the environment map) must be globally unique. So, a CoSERV query can only encode partial details of the environment, even when complete details of the environment might be available.

For example, it is possible for a CoRIM profile to have the instance-ids namespaced by class-ids. In that case, the desired result cannot be obtained directly from a CoSERV query, without further processing of the result set.

eg: Four valid attester environments, where the combination of class-map and instance-id uniquely identifies the environment

E1 = {
	class: {id: X},
	instance: A
}

E2 = {
	class: {id: X},
	instance: B
}

E3 = {
	class: {id: Y},
	instance: A
}

E4 = {
	class: {id: Y},
	instance: B
}

In this case, it might be possible to identify the attester's environment from the evidence. But the CoSERV query can only contain partial information. So, one has to make a choice of whether to use a class based selector or instance based selector and then filter out the result to obtain the desired values. Another approach would be to make both class based and instance based queries and then take an intersection of the results. If the environment selector had been a 'stateful environment selector', then the query could have included all the information available about the environment.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions