- From: Steven Rowat <steven_rowat@sunshine.net>
- Date: Fri, 10 Jun 2016 17:01:04 -0700
- To: Dave Longley <dlongley@digitalbazaar.com>, public-credentials@w3.org
Dave,
Interesting reply. My responses throughout.
On 6/10/16 12:54 PM, Dave Longley wrote:
> On 06/10/2016 12:57 PM, Steven Rowat wrote:
>> On 6/10/16 8:54 AM, Dave Longley wrote:
>>
>>> This is an "Identity Profile":
>>>
>>> {
>>> "id": "<id from the identifier registry>",
>>> "type": "Identity",
>>> /* ...attributes asserted in this particular profile */
>>> }
>>>
>>> Note that the document above is referred to as an "Identity Profile",
>>> but the "type" associated with the "id" is "Identity". You can have
>>> many
>>> "Identity Profiles" for any particular "id", but the thing the
>>> attributes therein are talking about is of type "Identity".
>>>
>>>
>>
>> I don't think I understand this difference yet, unless there also exist
>> instances that are not "Identity Profiles", yet also have an 'id',
>> and a
>> type: 'Identity'. Otherwise, why not just call the "type" for "Identity
>> Profile"..."Identity Profile" ?
>>
>> If this is true, can you give an example of one -- something that isn't
>> an Identity Profile, but would use the type: "Identity"?
>
> I think that's the wrong question. This is about what the identifier
> identifies. In my opinion, it does not identify a Profile, it identifies
> an Identity.
Ah, that's what I'm getting at. I need an example that shows me how
this works; and having read your whole answer (below, where I comment
more), I'm still fuzzy on whether this is true.
Let me try an example another way: if it's true...then, if I make two
profiles for real-life person John, both pseudonyms:
The Alfred Identity Profile
The Bob Identity Profile
then, according to what you've said, the Alfred Profile and the Bob
Profile will both have exactly the same id; that is, in the same part
of the code, each of the Alfred and Bob Profile will actually have the
id of John from the identifier registry:
Alfred Identity Profile contains:
>>> "id": "<id [of John] from the identifier registry>",
>>> "type": "Identity",
Bob Identity Profile contains:
>>> "id": "<id [of John] from the identifier registry>",
>>> "type": "Identity",
Is this true?
If so, yes, I did misunderstand that. I thought the id was identifying
the "Alfred Identity Profile" or the "Bob Identity Profile". So they
could be distinguished from each other, and thus pretend to be
separate people (as far as the rest of the world knows).
But...then, where does the id for the "Alfred Identity Profile" sit?
An id that distinguishes it as a separate thing in the universe? And
especially that distinguishes it from the Bob Identity Profile. Those
two ids must be somewhere, right?
> It always takes something else (e.g. a document) to be able to talk
> about an actual thing. A thing itself is the thing, it is not the
> description of the thing.
Yes, I don't think that was the source of my confusion. I may be
wrong, but I think the source of the confusion -- in addition to what
I described above -- is the unfortunate coincidence (to the degree
that it's a true coincidence, which is debatable I believe) of using
identifiers, called "id" in the code, to identify everything including
this thing human beings like to call "identity". Any statement that
attempts to identify identity using identifiers is ripe for a descent
in to infinite loops at the least misstep. ;-)
Maybe that's a strong argument for using 'entity' throughout rather
than 'identity', and I think I'd change my voting if I'd realized this
earlier. Then we could be talking about 'id' and 'identifiers' of
entities, not of identities. Which I, for one, would find a lot easier
to follow. :-)
> The statements within a profile associate information with an Identity,
> such as what it is, its "type". So the "type" does not refer to the
> profile document, it refers to the thing you're talking about.
I'm having trouble here. What is the referent for the first 'it', in
'what it is'? Is it 'Identity' or is it 'information'?
What you seem to be saying is that the 'type' attribute doesn't refer
to the profile document, it refers to the 'Identity'. But the example
you gave literally says type: "identity". So you're saying the
identity, the thing you're talking about, has a type which is
'identity'. But this is tautological.
I.e., how can there possibly be an Identity that has another type? An
Identity that has a type...--oh, wait. Could there be an identity that
has a type "pseudonym"? Hmm...
> The profile document is just a collection of statements *about* the thing.
> It is a (typically incomplete) description of the thing.
Right, but as above, where is the id that identifies the profile
document, which represents a (possibly) pseudonymous identity?
> Let's talk about "profiles" using something other than "Identity".
Yes!!! :-)
Or, alternatively, change the code so it uses something instead of
'identifier'.
Like 'la' = 'label', instead of 'id' = 'identifier'. That would also
remove the confusion with Identity as it is commonly used. This may
seem like a long way around, but maybe not. Since the core reason for
the VC to exist is to nail down 'Identity' as it is known globally and
in the UN, then, using a term internally in the code that refers to
everything that can possibly exist in the world, real or virtual, with
a code term using a word, 'id' = 'identifier', that can be easily
confused with the word 'identity' (and probably will be by all the
naive developers and users of the final system) seems to be asking for
trouble.
> And that would be a different "profile" of the same cat. If you wanted
> to give these "profiles" their own identifiers, you could do that as
> well, but they would each get their own -- because they are different
> things -- and because they are different from the cat itself.
Agreed, see above. I was expecting this.
> Similarly, people may create "identities" for themselves. You may have
> one that you use for work, one for home life, one for your medical
> records, whatever.
Yes, I was expecting this also, and, ah, now I think I finally see:
In my example earlier of John's two pseudonyms, Alfred and Bob, I was
not right.
What actually happens is that Alfred and Bob are *pre-registered* with
ids, before anything else can happen. Then:
Alfred Identity Profile contains:
>>> "id": "<id [of Alfred] from the identifier registry>",
>>> "type": "Identity",
Bob Identity Profile contains:
>>> "id": "<id [of Bob] from the identifier registry>",
>>> "type": "Identity",
So:
1. Neither contain a John id.
2. And the id they do contain doesn't refer to the Profile document
itself.
3. And the Alfred Identity Profile, as a document, can have its own
id...somewhere. Which you've probably already told me about in your
reply by this time. :-)
What fun language is. :-)
Steven
Received on Saturday, 11 June 2016 00:01:31 UTC