[Atp] Re: Early Attempt at ATP Charter Text

Daniel Holmgren <daniel@blueskyweb.xyz> Thu, 20 November 2025 18:04 UTC

Return-Path: <daniel@blueskyweb.xyz>
X-Original-To: atp@mail2.ietf.org
Delivered-To: atp@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id B669E8D635C9 for <atp@mail2.ietf.org>; Thu, 20 Nov 2025 10:04:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: 0.4
X-Spam-Level:
X-Spam-Status: No, score=0.4 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FROM_SUSPICIOUS_NTLD=0.499, HTML_MESSAGE=0.001, PDS_OTHER_BAD_TLD=1.999, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, TVD_PH_BODY_ACCOUNTS_PRE=0.001] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=blueskyweb.xyz
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RNN56yK2NZaC for <atp@mail2.ietf.org>; Thu, 20 Nov 2025 10:04:14 -0800 (PST)
Received: from mail-yw1-x112b.google.com (mail-yw1-x112b.google.com [IPv6:2607:f8b0:4864:20::112b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 746068D635C1 for <atp@ietf.org>; Thu, 20 Nov 2025 10:04:14 -0800 (PST)
Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-787d5555274so12394127b3.1 for <atp@ietf.org>; Thu, 20 Nov 2025 10:04:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=blueskyweb.xyz; s=google; t=1763661848; x=1764266648; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MSGX7mMQAOyEJu11wIJbJeLGq0ui/AxbxYrKmtS46XU=; b=kULs9ZP882VKtLKgtWJNci7UJTh+WF6/R0PpcRCcR8npS440Tg0UiIskZOLoMS49mX gqHPTjRCBPm1qXgO3PX3AyN1c7n8S/U4Mt+IcAAOF4IPDP0BtsQdGYs6dkkQ+P75GEr/ 2SZ7Ky0ZeOopBH3tUW3HYIbAn3ZoNr83tXr/IfFv1VVJYSXC2ZMH8ZK+qlhTjfevLh7h 43RkDyE0MnY6rrx9mWxM41booXuHP9OSTCZcqR+pw1yZcB48/3bR8gmGcZcKDb9rSvlK cNPAj/gngKVztMaC40nnGxwQ1xteA9OdU1ze30bVLN38aOa0xkEm36mZLlI/hI/KRUG7 tezg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763661848; x=1764266648; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=MSGX7mMQAOyEJu11wIJbJeLGq0ui/AxbxYrKmtS46XU=; b=EicIoGQ/PW6nLUh4UtYUK/Un0ZEGGxDs126zeku8Daal5Z3+fPWMHxXMW0coO3ZKMV PYueAUnjPZQ2xPoFPK0OkQgfyIQGcNXAb4SSNwacJ1cl3osfZU+SeR74PhqJFV3ZMZL5 foxffkRn6oWTei58NCwL8r2tIztLtmS76l9XJDk4F/1+tdPOzgB9a+SG8zBwy3y6iGLX NVKOc21kst7Zu+6mG3kaW2gPmjlHCg2NL7UEbc0jP/IEQqNBAOMNV5w9fvtLwwSuRxSm sAhnHw+CjAgNrzI6j+XNq1dLk00R2wXQzPqxdh8YQ4meuqQhlep85nAIxteOOcdSFdEt YSlg==
X-Forwarded-Encrypted: i=1; AJvYcCXwrTqOskjHzqR24RY/0/FJOLwR3qNWLD2P8E9+Ru8/2s/BzuKN2+QiLngQjkjarl5h2/k=@ietf.org
X-Gm-Message-State: AOJu0Yy94plgZY9WYQRoTQofi89cSndwPgm/QiKNK8qV9JK1LJ+T6T6V UZfIvYHAE/+JwOIjHqVaLipH1zo+96sjih2hImbyz7OKyXXOjFX3gncKEOm+ypZ6ySg9E2bpH95 6hu7nPLmEUAUee2fNGfuK4XvjcQU6vHaUxLT+WmiVXw==
X-Gm-Gg: ASbGncs0upU4hJOMl/TIKobALilBkvVpBlfabrNvR3DL4vpYbV8737g2KKO5jJObgWK ZL9PrplGgfqya0zRpukl6Fm2KK17iXYyfqZGBgf2ms5R5umW12WZ6E1urGfwZxtuCunFrzaFvb3 oAgxJSc91iTB6lrTPVVJ/2NZB10oHJZBIQI8RXQCv4/PQNuo1A26oO/85CiYAS5Ydn9bjqqAXlh EmIdqygUrQjnz4pAHdZJxhon77UTaqifHfbXgx9H7x2SCwIh065KTYjXyCGnyvmltyd86ZIpjER 4Y8bneYJgOYe/1dU/dnPogFdlbkkXt1hUpPkYwuz1EDlZVCQEP9JQQ==
X-Google-Smtp-Source: AGHT+IG65/5oWneLv6dkbicAdaF8p5A9c42ilthWq+n8VhCCPYWNSsdKhsgLAOj5jn2FjaA0ehM8c0RNGu5T1jn4EHs=
X-Received: by 2002:a05:690e:8d2:b0:641:f5bc:69a5 with SMTP id 956f58d0204a3-642f7a51f5fmr1804535d50.83.1763661847699; Thu, 20 Nov 2025 10:04:07 -0800 (PST)
MIME-Version: 1.0
References: <CABFYohgnJEs13RfU1s7PvwrW-wR2a8xT1aOAz1hM2N+5NWZUcw@mail.gmail.com> <CAMzqgowrr2en3eKCzd1T1JaeuQ3si32qx-FWouOy+3QinhEYOA@mail.gmail.com> <CABFYohiTaD8jRRee8Tw-EpXHEx4hVvu+CrKybkSTVOLXwrhPHw@mail.gmail.com> <CAMzqgoyrCEL7chtYXGN_sZgqtdFqyzv7P=i5V0ANrD1MSq1SSw@mail.gmail.com> <CAGZK71kZftE8XhOE47gn8duQD0B1ZBH+fQzEntdEuk_b=K7oww@mail.gmail.com> <CAMzqgozqrsqupBtjrnQJF3P+LxiNv19Cs1MBmmHGmvEq3-ZG7g@mail.gmail.com>
In-Reply-To: <CAMzqgozqrsqupBtjrnQJF3P+LxiNv19Cs1MBmmHGmvEq3-ZG7g@mail.gmail.com>
From: Daniel Holmgren <daniel@blueskyweb.xyz>
X-Gm-Features: AWmQ_bn28U9a1lRN1QW-reonTzn9aLJmRKZjEsBT76W4OCrI1JbKLa-02gbTCco
Message-ID: <CAGZK71=jpFM4Np25N0sf3aUC+OvStNey2HA1FRw17ZFDSQ34ng@mail.gmail.com>
To: Orie <orie@or13.io>
Content-Type: multipart/alternative; boundary="000000000000efb59c06440a850c"
X-MailFrom: daniel@blueskyweb.xyz
X-Mailman-Rule-Hits: max-size
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; news-moderation; no-subject; digests; suspicious-header
Message-ID-Hash: Q5ETXOKC4VLL5ZXURLFXEEQND7DKH7FI
X-Message-ID-Hash: Q5ETXOKC4VLL5ZXURLFXEEQND7DKH7FI
X-Mailman-Approved-At: Fri, 21 Nov 2025 09:23:42 -0800
CC: Bryan Newbold <bryan@blueskyweb.xyz>, atp@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Atp] Re: Early Attempt at ATP Charter Text
List-Id: Authenticated Transfer <atp.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/atp/y4-ob12WWdqDe_CUaYiheKN9fa4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/atp>
List-Help: <mailto:atp-request@ietf.org?subject=help>
List-Owner: <mailto:atp-owner@ietf.org>
List-Post: <mailto:atp@ietf.org>
List-Subscribe: <mailto:atp-join@ietf.org>
List-Unsubscribe: <mailto:atp-leave@ietf.org>
Date: Thu, 20 Nov 2025 18:04:15 -0000
X-Original-Date: Thu, 20 Nov 2025 12:03:55 -0600

Handles are not required to verify public data repositories.

Repositories contain a reference to a DID. All you need to verify a
repository is a way to go from `DID -> PublicSigningKey`. Handles and DIDs
are linked through a different mechanism.

The relationship is:
handle <> DID <> repository

Which is to say that the DID is the primary identifier. It can be linked to
a handle and it can be linked to a repository but both of those
relationships are independent of one another.

Handles are totally unrelated even to the hosting location of the
repository. Take for example the AT community account which is hosted on a
Bluesky server but uses the handle `@atprotocol.dev`.


> Does supporting account migration require a verifier to understand both
the out of scope identity system, and out of scope account naming system?

No it doesn't. To illustrate, most consumers of the sync protocol from a
Relay do not track the current host of accounts or notice when an account
moves between hosts. However, they will notice that a DID updated its
signing key and will use that signing key to verify future writes.

Abstractly, I think reliable/robust account migration essentially just
requires a persistent account identifier that is independent of network
location. Maybe it would be better to phrase the charter text in those
terms than in terms of account migration.

Cheers,
Daniel

On Thu, Nov 20, 2025 at 9:36 AM Orie <orie@or13.io> wrote:

> Hi Daniel,
>
> (again comments as an individual, and it would be good to hear from others
> on these points).
>
> > As verification should only require one identity system.
> > ... account migration as a key requirement
>
>
> https://datatracker.ietf.org/doc/html/draft-holmgren-at-repository-00#section-4.2.2
>
> I am struggling to understand if "account / handle" stuff is required to
> verify the public data repositories.
>
> If you need to understand "account / handles" to verify public data
> associated with "cryptographic identity".
> Is supporting at least one interface between long term "cryptographic
> identity" and "short term account handles" required?
>
> Does supporting account migration require a verifier to understand both
> the out of scope identity system, and out of scope account naming system?
>
> Regards,
>
> OS
>
>
> On Wed, Nov 19, 2025 at 1:13 PM Daniel Holmgren <daniel@blueskyweb.xyz>
> wrote:
>
>> Hi Orie,
>>
>> Thanks for the long response. To respond to a few points:
>>
>> > Signaling intention to support all DID Methods plus whatever other
>> identity systems the new interfaces unlock seems harmful to
>> interoperability.
>>
>> My opinion is that it is still useful to specify the repo/sync protocol
>> with an interface for resolving an identifier to some key material. I think
>> there's a clear abstraction boundary there that can also help the working
>> group stay focused on the repo/sync protocol. Any real-world deployment
>> would obviously have to choose which identity systems to support.
>>
>> However, I'm not opposed to the idea that the identity/verification
>> system is necessary for the charter. In that case, I would still argue that
>> it's necessary to have a location-independent (ie non-DNS) identifier for a
>> repository.
>>
>>
>> > I see this as confusing, since true identity and account control
>> remains in the DNS.
>>
>> I disagree with this characterization of DIDs generally & PLC in
>> particular. In PLC for example, every operation that mutates the contents
>> of the DID is appended to an immutable log for that DID and is signed by
>> key material associated with that DID. PLC is easily mirrorable & it's
>> expected that many deployments will reach out to a mirror of PLC rather
>> than the main directory. The PLC directory is constrained to denial of
>> service attacks - either refusing to accept a valid operation or refusing
>> to resolve a valid identifier. In the latter case, resolution can be
>> performed by another service in the network - for instance a mirror. In
>> extreme circumstances, network participants may choose to socially
>> coordinate around trusting another directory rather than the one that
>> `plc.directory` resolves to. I expect the consensus/coordination mechanism
>> for PLC will evolve over time. But even in the current state, true
>> identity/account control is in the signed data, not DNS.
>>
>> More generally with DIDs, there are methods that operate through
>> blockchains or that are administered by governments. In both circumstances,
>> while DNS aids in resolution, they are not the locus of control for the
>> identity.
>>
>>
>> Re: the text you supplied
>>
>> > Verification of public data repositories requires account identity
>> systems with public key management.
>> > The output of this working group will not mandate any single account
>> identity system implementation for public data repositories.
>> > Instead, the working group shall describe an interface boundary and
>> requirements which fulfill the verification requirements of public data
>> repositories.
>>
>> I don't mind any of these changes to the wording. Although I would make
>> it a singular "account identity system" rather than plural. As verification
>> should only require one identity system.
>>
>> The biggest difference in the text you supplied is the removal of account
>> migration as a key requirement. If the charter text speaks to the identity
>> system at all, I believe this is a critical requirement for it.
>>
>> I'd argue account migration is a necessary feature for decentralized
>> social networks in which users can choose between service providers. Other
>> social protocols, for instance ActivityPub, that did not design with that
>> feature in mind have had a difficult time retrofitting the protocol to
>> allow for account migration in a way that doesn't break user expectations.
>> And currently they're investigating using DIDs to solve this same problem.
>>
>>
>> > Assuming we are successful, when domains are sold or taken over, what
>> impact should this have on publishing data and verifying previously
>> published data?
>>
>> Ideally, this has no impact on past data if the data is still hosted (by
>> either the old host or by a new host).
>>
>>
>> > Assuming we are successful, when the DID Method is sold / sanctioned,
>> or taken over, what impact should this have on publishing data and
>> verifying previously published data?
>>
>> This depends on the threat model for the DID in question. I wouldn't
>> equate this scenario with user domains though. Right now two DID methods
>> are used in the network. Speaking personally, I'm interested in expanding
>> that by one or two methods. In an extreme case, let's say this is expanded
>> up to 50 or even 200 methods. This is still very different from the
>> millions of handles owned by users. User-controlled domains have much
>> higher turnover than DID methods. And the considerations that a lay user
>> has when choosing their handle is very different from the considerations
>> that a user or service provider may have when selecting a hypothetical DID
>> method.
>>
>> ---
>>
>> I'm genuinely not trying to make an argument for DIDs here. And I'm wary
>> of getting mired in the details of various DID methods.
>>
>> The main point I'm trying to surface here is that the use of DIDs is not
>> just "DNS with more steps". DIDs have a different set of tradeoffs than
>> DNS. And the additional layer of indirection that DIDs provide allows for
>> one of the most important user-facing features of AT (account migration).
>>
>> This isn't an argument for or against including the identity system in
>> the charter. But it is an argument that the charter should not *exclude*
>> the notion of a location-independent identifier that resolves to some key
>> material (whether an interface, DID, or something else).
>>
>> Cheers,
>> Daniel
>>
>> On Sat, Nov 15, 2025 at 12:59 PM Orie <orie@or13.io> wrote:
>>
>>> Hi Bryan,
>>>
>>> (as an individual, and sorry this is long)
>>>
>>> Today we have:
>>>
>>> ```
>>> dig _atproto.ACCOUNT TXT
>>>
>>> ;; QUESTION SECTION:
>>> ;_atproto.ACCOUNT. IN TXT
>>>
>>> ;; ANSWER SECTION:
>>> _atproto.ACCOUNT. 300 IN TXT "did=URI"
>>> ```
>>>
>>> URI -> JSON-LD -> names, keys, services
>>> did:web turns into a URL to https://w3c-ccg.github.io/did-method-web/,
>>> and did:plc turns into https://web.plc.directory/spec/v0.1/did-plc
>>>
>>> ... I see this as confusing, since true identity and account control
>>> remains in the DNS.
>>> ... Signaling intention to support all DID Methods plus whatever other
>>> identity systems the new interfaces unlock seems harmful to
>>> interoperability.
>>>
>>> Keeping this indirection and keeping it outside of the charter is
>>> concerning, because it makes understanding what verifying signatures means,
>>> and who controls content authenticity... confusing.
>>>
>>> What are the privacy implications for a verifier checking a signature?
>>> What metadata leaks and to who?
>>>
>>> There exists interest within the IETF on the topic of account
>>> identifiers and key discovery:
>>>
>>>
>>> https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-integration-01#section-3.7 (WG
>>> Adopted)
>>> https://datatracker.ietf.org/doc/html/draft-hallambaker-jscontact-05 (currently
>>> in Call for Adoption)
>>>
>>> Per the BoF text:
>>>
>>> ```
>>> Self-Certifying data structures make it possible to efficiently
>>> synchronize public content across organizational boundaries, while
>>> preserving authenticity. These techniques have found broad adoption in some
>>> areas (such as software code versioning with git), but for the most part
>>> not in traditional web publishing or social web applications. On the social
>>> web today, authority and authenticity remain rooted in *specific
>>> network locations and service providers*, not *network identities
>>> controlled by individuals or organizations*.
>>> ```
>>>
>>> If the current identity layer stays out of scope, won't control over the
>>> data repositories ultimately remain in the hands of the identity system
>>> providers (*did method providers / did method resolvers AND the DNS
>>> service providers*) ?
>>>
>>> See if this text captures the requirements that are currently satisfied
>>> with DNS and DIDs:
>>>
>>> ```
>>> Verification of public data repositories requires *account identity
>>> systems with public key management*.
>>> The output of this working group will not mandate any single account
>>> identity system implementation for public data repositories.
>>> Instead, the working group shall describe an interface boundary and
>>> requirements which fulfill the verification requirements of public data
>>> repositories.
>>> ```
>>>
>>> This framing is attempting to be in terms of what is required to trust
>>> the data you get from the repo, not in terms of features from DIDs you have
>>> used to date.
>>>
>>> Your other proposed text I will reframe in terms of questions, which the
>>> working group would likely need to answer to determine what "verification
>>> requirements of public data repositories" are.
>>>
>>> Is it a requirement that an account be able to activate and deactivate
>>> verification keys for digital signatures? ... What about encryption keys?
>>> Are the timing and history of these activations and deactivations
>>> important when processing data from repositories?
>>>
>>> Is it a requirement that an account be able to activate or deactivate
>>> publishing service providers?
>>> Should an account be able to use multiple service providers to publish
>>> data at the same time?
>>> Are the timing and history of these activations and deactivations
>>> important when processing data from repositories?
>>>
>>> Is it a requirement that accounts be able to label keys and service
>>> providers as being for different purposes?
>>> Is it a requirement that this labeling be time stamped or integrity
>>> protected?
>>>
>>> Is it a requirement that accounts be able to publish alternative account
>>> identifiers?
>>> Is bi-directional linking a requirement for alternative account
>>> identifiers?
>>> Is it a requirement that adding or removing alternative account
>>> identifiers be timestamped, integrity protected or auditable?
>>>
>>> When keys, names, or services are changed, is the history of all changes
>>> required to be preserved?
>>> Is the integrity of the account history important?
>>> If an account is taken over, should it be possible to register a new key
>>> (without controlling older keys), revoke all the old ones, and then publish
>>> new content under the existing account identifier?
>>> If all fields are mutable, which parties are able to mutate them, is
>>> there mandatory validation of fields before processing?
>>> If fields identify network resources, what are the privacy implications
>>> for verifiers who are processing published data and validating it?
>>>
>>> ...
>>>
>>> Assuming we are successful, when domains are sold or taken over, what
>>> impact should this have on publishing data and verifying previously
>>> published data?
>>> Assuming we are successful, when the DID Method is sold / sanctioned, or
>>> taken over, what impact should this have on publishing data and verifying
>>> previously published data?
>>>
>>> It seems like there might be some linkage requirements between "handle
>>> ownership" and "account identifier control" / "service provider" changes
>>> that impact what verifying published data means.
>>>
>>> It would be nice if we could go straight from a handle to a public data
>>> repository, and have that repository internalize all the cryptography
>>> details for verifying content originating from the handle, per:
>>>
>>> - https://atproto.com/specs/handle
>>> - https://atproto.com/specs/did
>>>
>>> > For this resolution method, a DNS TXT record is registered for the
>>> _atproto sub-domain under the handle hostname. The record value should have
>>> the prefix did=, followed by the full DID.
>>>
>>>
>>> https://datatracker.ietf.org/doc/html/draft-holmgren-at-repository-00#name-user-identifiers
>>>
>>> > Each repository must reference exactly one DID, and each DID may be
>>> associated with at most one AT repository.
>>>
>>> Together, these yield: 1 AT DNS Handle - 1 DID Account Identifier - 1 AT
>>> Data Repository.
>>> I'd prefer to see: 1 ATP DNS Handle - N ATP Data Repositories
>>>
>>> Regards,
>>>
>>> OS (as an individual)
>>>
>>>
>>> On Thu, Nov 13, 2025 at 7:15 PM Bryan Newbold <bryan@blueskyweb.xyz>
>>> wrote:
>>>
>>>> On Wed, Nov 12, 2025 at 8:56 AM Orie <orie@or13.io> wrote:
>>>>
>>>>> If you use more than just an identifier to public key binding from
>>>>> DIDs ( if you use https://www.w3.org/TR/did-1.0/#services ) ...
>>>>> You need a way to handle this that is not locked to your out of scope
>>>>> identity layer.
>>>>>
>>>>> I would suggest putting anything that you have that relies on things
>>>>> that are in the DID Document, in scope, so that the working group can
>>>>> develop a complete system that works with and without DIDs.
>>>>>
>>>>
>>>> For reference, the current things that get pulled from the DID document
>>>> (described in https://atproto.com/specs/did#did-documents)
>>>>
>>>> - account "handle" is indicated in 'alsoKnownAs' array
>>>> - one or more public keys are declared in the 'verificationMethod'
>>>> array. AT uses the id fragment (eg, #atproto) to reference specific keys
>>>> for different purposes
>>>> - one or more service locations declared under the 'service' array,
>>>> again using id fragment (eg, #atproto_pds) for specific purposes
>>>>
>>>> The DID document might contain other fields and entries for non-AT
>>>> purposes, and that is fine (eg, the DID does not need to be used
>>>> exclusively with AT). Some protocol-level or application-level features use
>>>> additional keys or service entries (eg, #atproto_labeler for moderation
>>>> labeling, or #bsky_feedgen for Bluesky app feed providers). All of these
>>>> fields should be mutable (support updates), to enable key rotation and
>>>> migration between service providers (network locations).
>>>>
>>>> I can certainly imagine other identity frameworks providing the same
>>>> degree of flexibility as DIDs do, and that we can specify what the
>>>> requirements are in the abstract. For the charter, maybe that paragraph
>>>> could be iterated on as:
>>>>
>>>> ---
>>>> The output of this working group will not mandate any single identity
>>>> system implementation. It will instead describe an interface boundary and
>>>> requirements for identity systems to fulfill that interface. These include
>>>> the ability to register public keys for multiple distinct purposes, service
>>>> endpoint URLs for multiple distinct purposes, and multiple alternative
>>>> account URIs. All fields must be mutable to enable key rotation and
>>>> migration between service providers.
>>>> ---
>>>>
>>>> To bump back up to the big picture, this does feel a bit like
>>>> describing something that walks and talks like DIDs and the DID document
>>>> structure, without actually requiring DIDs and the DID document structure.
>>>> I think for full functionality and interoperation in the network, the
>>>> identity requirements are going to look an awful lot like DIDs. Signing and
>>>> verifying data repositories is a simpler subset of that flexibility.
>>>>
>>>> --bryan
>>>>
>>> _______________________________________________
>>> Atp mailing list -- atp@ietf.org
>>> To unsubscribe send an email to atp-leave@ietf.org
>>>
>>