Skip to content

Do we need 'actor' - 'agent' - 'party'? #467

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
RieksJ opened this issue Mar 19, 2019 · 3 comments
Closed

Do we need 'actor' - 'agent' - 'party'? #467

RieksJ opened this issue Mar 19, 2019 · 3 comments

Comments

@RieksJ
Copy link

RieksJ commented Mar 19, 2019

In order to make VCs practicable, it will become necessary to clearly distinguish between:

  • entities that cannot act (concepts, rocks, organizations) and entities that can act (e.g. people, computer programs that are running on a machine, robots). I will call the first class of entities 'actors' (and the rest 'non-actors').
  • entities that have K-ledge* (organizations, individuals) and entities that do not (e.g. electronic equipment); I use the term 'K-ledge*' to refer to the ability to perceive the world, conceptualize such perceptions, reason with such perceptions, decide what kinds of reasoning are valid and which are not, come up with new ways of reasoning etc., but if needed we can replace this term by another one. I will call the first class of entities 'parties' (and the rest 'non-parties').

Note that there is no predetermined relation between being an actor (or non-actor) and a party (or non-party), which implies that these notions are distinct, and should be used correctly (at least in a standard).

Here's one of several related issues: Claims represent parts of the K-ledge* (of parties, of course). Issuing a VC on the other hand can only be done by an actor. So:

  • does the term 'issuer' refer to the actor, or to the party?
  • do we need the ability to refer to the relation between an actor and a party that models that/when the actor is acting on behalf of (represents) the party?

I acknowledge that this is a difficult thing, not just to understand, but also - if we were to decide that such distinctions are needed - this would require a major rework of texts. This issue is related to other issues, e.g. #72, #80.

@chaals
Copy link
Contributor

chaals commented Mar 19, 2019

Claims don't represent anything about the ability to reason, hold perceptions, etc.

They represent statements made by an entity - the issuer, which can be held or presented by an entity, an entity can request a verification, etc.

So the idea of a "party" as you describe it above is not actually necessary. (If it were, I would strongly suggest a different term, since a "party" in such a context would generally be what you describe as an "actor").

In each case, the relevant entity happens to be an actor in your terms (since it has acted).

The situation where an "actor" is acting on behalf of a "party" (again, using your descriptions) but they are separate entities is described in the spec, as the case where a holder of a credential is not the subject of a credential. In principle it is possible to make other distinctions, such as the fact that a government department is (in common legal parlance) the party that issues a driver's license, but needs a specific agent to make the statements on its behalf. But it is not clear in practice that doing this serves any purpose.

I suggest closing this issue, although a concrete case where the distinction has a practical import to implementing the specification would be grounds for reconsidering that.

@jandrieu
Copy link
Contributor

+1 for closing and picking up the thread in the CCG.

@burnburn
Copy link
Contributor

Agreed. This is a major ecosystem question, which belongs in the CCG. @RieksJ I suggest you contact @jandrieu directly about how to start this discussion there. I will close this issue here, but feel free to point to it from any CCG issue you raise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants