[urn] Re: URN Namespace Registration for SAID (Self-Addressing Identifiers)

Wenjing Chu <wchu@futurewei.com> Thu, 29 January 2026 15:07 UTC

Return-Path: <wchu@futurewei.com>
X-Original-To: urn@mail2.ietf.org
Delivered-To: urn@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id BD2F5AEF2A9C for <urn@mail2.ietf.org>; Thu, 29 Jan 2026 07:07:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: 3.003
X-Spam-Level: ***
X-Spam-Status: No, score=3.003 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, GB_SUMOF=5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_PASS=-0.001, TRACKER_ID=0.1] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=futurewei.com
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 tJ4u8MlRva-b for <urn@mail2.ietf.org>; Thu, 29 Jan 2026 07:07:20 -0800 (PST)
Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11022143.outbound.protection.outlook.com [52.101.43.143]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 01823AEF2A91 for <urn@ietf.org>; Thu, 29 Jan 2026 07:07:19 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HCN0MQAS3qZK+K/1Nl54lJd4wK+RIHmR4MlOE8suEW3jAeBSdX+Aqb7gIvbDerjKcrju4czDyl5PiMPg0VlWsNtebViwHQgFzc46bI2L0mtLP0j6R6+S2JL/dmTWJjOQjnvmSn5WUXQuvu0NeWmwkEGiHGFFyA7N235yX/lBYrlcBaF/+GAydxBKJltcO2ned2w0TT/IWgJa27ZdOZ+VLLC0QBGIo1cMQD47VEgYYyjZUatlIktF7FMTqNg+Nss4b3bRXlaF+TQ8t5ENgYyE3ldh2FkAMjKF26nCjMdfAg7SwxX0TykjLgdYdOb39KcLwJVuv+4/VMblkxwxIucFCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Tr08a0lftHhqEzFSfocVh/OgwHS4D4mnZNlIue4XC/4=; b=OFd++BUI0Gqn687iLp3RSyzhoNXLLt0B5iCLdGlZac1zBzdYd2AhzSl/V1vJnQX3jjsjEOdIJvYTXZO8y14DwCYW1hGTi6+Fq6Je+Y6iREa4KNVb2gZsm/WJkD8IS1m5guPyUmw5UNEZfWNlHUCbMiuVC6YgavVM4XHvN0PxbmIWw+67zYUiQieApXqE7C6PE2siTqiAqfC1yRhuYcgmEGtqzkh/+06O+MCi08EE/UywNzHrZxn475Rer428QQtyjWVMQtj/Zw/h72T86yYdDryXwFwkf1o1mD9Nz8AOfJg23GfS9DRQdSnPIL3Ql1pP1QyfmPRt2REL/fQEDiewQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=futurewei.com; dmarc=pass action=none header.from=futurewei.com; dkim=pass header.d=futurewei.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Futurewei.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Tr08a0lftHhqEzFSfocVh/OgwHS4D4mnZNlIue4XC/4=; b=rIHOrbRyfnCKhCoX4luw5HQfhLwuamx+jd7FWq0EiuWxTp3uQrBFqlX/A5/Gs3bt4ysTTuaqdu9tgUJepDHv2MdrCZ8FSOoo6bGngtPkf8KWQM0NZ3ZaX++DaQZDGQx6b8kbJL1RdENMdoy2jFwyla7mDQhtmXN/4NuuNijkujY=
Received: from BY5PR13MB3364.namprd13.prod.outlook.com (2603:10b6:a03:1a9::25) by BY5PR13MB3873.namprd13.prod.outlook.com (2603:10b6:a03:229::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.10; Thu, 29 Jan 2026 15:07:10 +0000
Received: from BY5PR13MB3364.namprd13.prod.outlook.com ([fe80::522a:bd05:3d85:2d42]) by BY5PR13MB3364.namprd13.prod.outlook.com ([fe80::522a:bd05:3d85:2d42%7]) with mapi id 15.20.9564.010; Thu, 29 Jan 2026 15:07:10 +0000
From: Wenjing Chu <wchu@futurewei.com>
To: "Dale R. Worley" <worley@ariadne.com>, "urn@ietf.org" <urn@ietf.org>, "trustoverip@lfdecentralizedtrust.org" <trustoverip@lfdecentralizedtrust.org>, "carly.huitema@gmail.com" <carly.huitema@gmail.com>, "chu.wenjing@gmail.com" <chu.wenjing@gmail.com>, "sam@prosapien.com" <sam@prosapien.com>
Thread-Topic: [urn] Re: URN Namespace Registration for SAID (Self-Addressing Identifiers)
Thread-Index: AQHcWc1q1ej+tdN5Vk+4tvaH7/HXWbT9d9nlgGwxoU4=
Date: Thu, 29 Jan 2026 15:07:09 +0000
Message-ID: <BY5PR13MB3364D159F0C06A4600614386C29EA@BY5PR13MB3364.namprd13.prod.outlook.com>
References: <87v7jt38zr.fsf@hobgoblin.ariadne.com> (worley@ariadne.com) <87a50hqta2.fsf@hobgoblin.ariadne.com> <BY5PR13MB3364301B06C5407FC93E1952C2D5A@BY5PR13MB3364.namprd13.prod.outlook.com>
In-Reply-To: <BY5PR13MB3364301B06C5407FC93E1952C2D5A@BY5PR13MB3364.namprd13.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-ms-reactions: allow
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=futurewei.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BY5PR13MB3364:EE_|BY5PR13MB3873:EE_
x-ms-office365-filtering-correlation-id: 3a880ff7-1739-41ea-8c56-08de5f481354
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700021|7142099003|7053199007|4053099003|4013099003|8096899003|13003099007;
x-microsoft-antispam-message-info: uoM1mLFkcP9mB/w69PBXAzTQpyz+VC/fMT1VHKFFBn7jxdvCD98CRnPk98Bb+K7kodB3zHo9Z9oLQZKVCw934WDnKErAJLbstz5amUn0PIikVTQFLIcydp8TlAisPU2VGVYDLYlSi/6FmuXkAXYmRQFn8HQgiusnfiWXrTC2X+T1MVlgF6V23/UzJc9qA2F9EmStGUVktrX2w0yjYjmlG/xKLEPZMz6spwpfybi6euwWJdlYY60y+9bQdQqGOL0WNd00fnNDr4MBvLmxHI9RC6Uk45GfMVi+V7NETeZH+QPlCIkWyugmcx3/Sb6yVU/DdnTC8UMvGxkS25TqcqkwabhNcfE/r7AZ0HHkFVNW151Q59udU357AMDRE3Iqtlz7002S5vOdidjPZHl59Ih1yqWqTz93fvMfaxzqS7Ji1CwPAfYcWDQDFQvm7T9tKaVLYC6Ro4io/9Cpazfcw7vmdsPwdmzyxMv0c4zoFvVfE8RexC/alCIazWU4c44sSpiiuYF8YQWQAbtu2cyPnh6KLUnXSZ7e9+hMsB6kCXqkPeSnpQ6ejJmFr4R1w6wIndMAOYAdkcGIjH3169XEPaM6xGfRRF6iY3qQm/PcnL0Kx/6iLLaVqhz+nfumf85KclbH32jDUTI8CMvyW2hILos7baSbBO360jNIn3OOHskG+/tAER558YHcXAAHkAveJ1utoHF31TyLHckoG1yYzqL/4VM/imNJ3CyqFkXMoENPaYSdXw+CfPuGkDLp84XhZDyMr+89NspP27ZrFzF3t5pf618ylPOdoVIvoARLmFiuAWCpdBmb+d9U+ArE+ToIaMFWZxpYIfF6QQo158dU03XrXo8zXReJs8fx664Pz6m02KQRq/DYKC0X5NWxanRod2/j7Uc/KLdJrphOQ+T91yCN3JIHNS0C6GZucomCOSeOwuz4FMBNyT7IUp7CegJv1A+OA6BXtz+V7zUDkLJ0GKj9SS2KO/2GxFRNBu2ZBeonbVr/nTokoXbeJhzRS6ClMXl3Mp0lQepxRDVl6UonRmP0JPqqTC/PlqexTtexKPurY+k6frA5VYmgckYBgdDfUzdUzXRec7G9M8JN/VhpzDGo2pQPz3uUjT1a7PORSpMMRDVf28d/3eOkPkBo7NYQ3KernIbO7TmkI5G8G0h38fYjH542fGFJXluAVtikbB3fxxQgcAstcBFbSzUo3DWT95fMgOcyXA5eVWn04oY+QMlFAInHGCmO02TUGsARM/NFi5txmr4HWSwKZdMwS84Hbv/bsc4cgpZelD74kvylCSrIkKMZMbx7uttBG2CcVkkyultVfw85m5rEluBquRqeUkFEl8WmJqs8aDuwxJwjKhTyrQhpQ4Eq7N/4oODvt67N2qYQjCiGNy60pYagbTU9vuOwakWxRrQC97MtnePGclpbKheUHaqA89xyX8FGzBvUdgkEefAPM4tZ/OOqnX4Hl3/E0hlBoyV7xT9e3LXAGOChYKIEJrlywDhDmZn/YSxK8JR+Xy2SzzOkIMcYSq+MjmyWdnU0Ye5PSsHniis8ZC5a2XrcDiEIE1imRVLBW6SkL+aDOgiulZtADX955ANrjejSoQvXFiYkhiWbpE6GzvJHEU3nMJR8ZoIvp5eZjd42dRA=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR13MB3364.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700021)(7142099003)(7053199007)(4053099003)(4013099003)(8096899003)(13003099007);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: kYMovhOgVJKXdtkk8WCSy8XJ1OsviJt3Yoj775Y8IhH6MsN7hDkChzip+Ksi7svhZF0aNRo9gv5A7PcdtZ7ZQYSDCmY19TaMy2c3YiQVEH8dlgk/L2c2Omf6MYc6LKbBjr66Ez8SsNv9kUdl1YcfxHsdoLWK7g8njZBK/fsdtU8SfNmxhWp4+o3uZq44x/NL0+HWIE99Yfd9WntIN9tVpPF5G8kUU+X+R+tfjR5I/VHUhYMb70kc9hff50g2fmqVqWfginDhgQLeh+bu5gpC9bOAI6pQxlRgdm8/erX7ndVySqpdgxZxCyYGnUfVaKAS5HI2ZHaMHia5vJbwmoIUeWhrVTeMQ7TUdA6LwfP7ezujCl8+00HLjSJJVILUZI1WpoyYJXBKV9x1RztuwUjNU88QfksQ9Zp1okY36M//PgXkAMtermukxZAwJAtyEku6hz2+0tAv5YJpErrqhBtRFNtDVFm4O66Q0jnhgZcbskhywtAOvwAFx+xKjKWSmZ6U182DBs/pXruBDYRXqmJ88D4goFCTkblclpmksVVSTVEk7fNDwqMT6AZIYlURs6LqVUO72wsBahlR6bFI88vLSK0DxM8ySkZyGx5l8rNeEbQHlZD6ze+7rUtl+FBUs/I/kCio6Vi4mo0VIJ0+371NXjklAMMvgSKIFgFY5RsOZBs89e5U2KycfRFU7YwyuXBtdr32jTPpojDxt6/88ERbSQPRAScWztUUF5/M8HhbCgsxG4UTg8KYnyduBjPRnrhJ98J8XX+PipxBhAzUGrroVYaFRQyyVB2Sk15VlYFrA6pnPbQhcPl2O9CHnHr6LAT38IiSXkQz1M26MdaYHxknsIjnH8EFM16KcgKNDekrRekI5+4XAbxnmIrtYGzPQeM8YT6//R5QPBoLg4+OuKoFIP77VJvDpwU8PnzYL/gsIc7YuXqHcM8Em9M1BnDd6n31ccwozqOs3KLrWn5eYKtFfzronXhNzdd0igu2ZxJBzGiIyZy33B5Ax0IU5srUwJLQnGgxmaMckuLnaUL9xi1GlFj9sbpifmBNC5b28ve0MECF4MlVGnOujtCv+NPhDdmmUZrmm1lt7WwLolqir5rKFr+LuNSE5TwrekSweicSyM2KUhbleKI1mu4Tf/eHjee+sIkqdiYDu7WGKDO7e3neN6X8Z3TKnAPZAxyOwYXhCbnbHOA310N7nsM/JAg2CzwMr8Qb0le8UNcqNjKwTQqX72D86eYaxPdVNC+lBmYcuU6mXbscfhFQJSzGMWnBHlgHOV9fKI6EmwT7sXwEls1lg3wERg0aEblJfUCQNbrYFsbJ5feOz8vSCuC0v1rAbDvvNNKJJs8hKPn+dfL2PYYC5U0BKXUFlNlyybZnM6PfD2Vhbm65BCglu0sRlfBeG0bKwB316X3WVtxJ4hMcJ9SDHDsH808qQFbgvsTD+naEx4ccik+00X1WleLIqUhyGoV7UPzmIJNyA630vuiUvh1bi3Tt4rMbqLDzzjg2VRK9NdFkmezKxHtLeYif6oSD6uH9e65bsmMsr201RGmcoaEenkBc+rDazMZx0q0J3d26dWwGCh7DcTb4JweXmuag2oQF/pLcwTWFYog1HR0Q22ZAmboFrojiayhhN5Z4XGZPKQnMqnMfGE6IoZAoEC4VX4HhB98OX3yZmqFh7VMZLTFbgQQIOL0vVnvqSgvQBr6dWDObR7To5OlonY+krzcgh2J4/mgWJx5DgdZMTS2j9z1rTA==
Content-Type: multipart/mixed; boundary="_004_BY5PR13MB3364D159F0C06A4600614386C29EABY5PR13MB3364namp_"
MIME-Version: 1.0
X-OriginatorOrg: Futurewei.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BY5PR13MB3364.namprd13.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a880ff7-1739-41ea-8c56-08de5f481354
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2026 15:07:09.9211 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 0fee8ff2-a3b2-4018-9c75-3a1d5591fedc
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ciXR74N0/+6pyrzxn18ucFl9O4ieY41h32T94JFxMcd6jcPwoM+eAAJJaBh1VTmEu5udaYf/eF24DMFOVLnZHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR13MB3873
X-MailFrom: wchu@futurewei.com
X-Mailman-Rule-Hits: nonmember-moderation
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-urn.ietf.org-0
Message-ID-Hash: YUT7BDWFMB2DR3DDI5HV6QY4TJZLU7KB
X-Message-ID-Hash: YUT7BDWFMB2DR3DDI5HV6QY4TJZLU7KB
X-Mailman-Approved-At: Thu, 29 Jan 2026 07:08:50 -0800
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [urn] Re: URN Namespace Registration for SAID (Self-Addressing Identifiers)
List-Id: "Discussion about Uniform Resource Names (URNs)." <urn.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/urn/-kDYkhIDAAeW53ySuswxcpqDwCM>
List-Archive: <https://mailarchive.ietf.org/arch/browse/urn>
List-Help: <mailto:urn-request@ietf.org?subject=help>
List-Owner: <mailto:urn-owner@ietf.org>
List-Post: <mailto:urn@ietf.org>
List-Subscribe: <mailto:urn-join@ietf.org>
List-Unsubscribe: <mailto:urn-leave@ietf.org>

Thank you again, Dale, and earlier Ted, for your very helpful comments.
Sorry for my delay in responding. I hope I captured all the information I received and edited the application to address them. If I missed anything still, please let me know - I promise to follow up a lot quicker than last time. Thank you!

The new application is here: https://github.com/trustoverip/kswg-said-urn-charter/blob/main/urn_application.txt

I’m also attaching a copy in this email.

Changes included:

  *
ANBF syntax updated to reflect its relationship with CESR code and encoding more accurately
  *
CESR encoding and the SAID derivation procedure summarized in the document
  *
Examples extended both in terms of data format examples and digest functions
  *
Added text for security and privacy considerations
  *
Interoperability section revised
  *
Other general improvements and edits etc.

Best regards,
Wenjing



From: Wenjing Chu <wchu@futurewei.com>
Date: Friday, November 21, 2025 at 10:51 AM
To: Dale R. Worley <worley@ariadne.com>, urn@ietf.org <urn@ietf.org>, trustoverip@lfdecentralizedtrust.org <trustoverip@lfdecentralizedtrust.org>, carly.huitema@gmail.com <carly.huitema@gmail.com>, chu.wenjing@gmail.com <chu.wenjing@gmail.com>, sam@prosapien.com <sam@prosapien.com>
Subject: Re: [urn] Re: URN Namespace Registration for SAID (Self-Addressing Identifiers)

Thank you, Dale! Received both of your emails. I will use this reply to keep the thread going.

I will probably need a few days to go over many points you raised here.

But first, thanks to the suggestions about the ABNF section. I was a bit reluctant as I was including that section in the first place, precisely because of the issues you raised here. It is not the ABNF in a typical sense but rather describing the effect of a SAID calculation. I agree that your suggestion is a good way to resolve this issue.

Will follow up with a revised registration request.

Best,
Wenjing


From: Dale R. Worley <worley@ariadne.com>
Date: Wednesday, November 19, 2025 at 7:26 PM
To: Wenjing Chu <wchu@futurewei.com>, urn@ietf.org <urn@ietf.org>, trustoverip@lfdecentralizedtrust.org <trustoverip@lfdecentralizedtrust.org>, carly.huitema@gmail.com <carly.huitema@gmail.com>, chu.wenjing@gmail.com <chu.wenjing@gmail.com>, sam@prosapien.com <sam@prosapien.com>
Subject: Re: [urn] Re: URN Namespace Registration for SAID (Self-Addressing Identifiers)
My apologies for neglecting this registration request for far too long.

Reading the submitted registration again, and addressing points as I run
into them:

The "Purpose" section reads very well to me.

As I noted before, I think the "Syntax" section should emphasize the
ABNF (as that is unambiguous and universally understood) and treat the
text parts as explanation, annotation, etc. of the ABNF.

Note that as the ABNF is written, an SAID URN must start with one of
exactly nine prefixes:  E, F, G, H, I, 0D, 0E, 0F, 0G.  You comment that
it would be useful to allow extensibility.  As the ABNF is stated,
allowing other prefixes would require an amendment to the registration.
And clearly, adding a digest algorithm that has a different length
output would require revising the ABNF.  An alternative would be for the
registration to say that an SAID URN must start with a prefix listed in
Table [whatever] of the CESR specification and that it contains as many
base64urlsafe characters as needed to encode the algorithm's output.

Regarding the table in section 11.4.2 of the CESR specification, I found
it hard to read.  In particular, it seems to contain information for a
variety of different codes that have different uses, all listed as if
they're part of the same class of codes.  The classes that I could
identify include "Count Codes", "Universal Genus Version Codes",
"Universal Count Codes that allow genus/version override", "Genus
Specific Count Codes", "Operation Codes", "Primitive Matter Codes",
"Basic One Character Codes", "Basic Two Character Codes".  This is quite
confusing for the uninitiated; naively I would expect each class of code
to be in a separate table, headed by a short summary of what the class
of codes is for.  But if you want the URN specification to reference an
extensible list of prefixes in the table, it's not clear how you would
write text that specifies the subset of all those codes which are
intended to be valid prefixes for SAID URNs.

There is also an interesting point about extensibility:  One has to know
how to calculate the desired hash function to create a CESR object, and
thus its SAID URN.  But one does not need to understand the hash
function to catalog the fact that "object [whatever] is named by SAID
URN [whatever]".  It appears to me that given a CESR object, one can
extract its SAID from the object itself, even if one does not know how
to calculate/verify its SAID.  So applications that interpret SAID URNs
can be extensible to handle URNs naming hash functions that they
themselves do not understand.  This might be worth mentioning in the
registration, perhaps in the form "Applications that input SAID URNs
must be prepared to handle URNs generated using hash functions that they
do not understand."

    Examples:

      - `urn:said:E8wYuBjhslETYaLZcxMkWrhVbMcA8RS1pKYl7nJ77ntA`
      - `urn:said:EJymtAC4piy_HkHWRs4JSRv0sb53MZJr8BQ4SMixXIVJ`

    The above examples are 44 characters long in text representation,
    where `E` indicates Blake3-256 digest and the remaining 43 characters
    encode 256 bit digest. Additional digest functions are listed in CESR
    2.0, Section 11.4.2.

As I noted before, it would be beneficial to add examples that use other
hashes, and in particular, one with a different hash length.

The sentence "Additional digest functions are listed ..." might be
misinterpreted to mean that all digest functions listed in 11.4.2 are
valid, whereas only 9 are.  I would say something like

    The one-char-code and two-char-code prefixes specify the digest
    algorithm used to generate the digest according to the table in CESR 2.0
    section 11.4.2.  In the above examples, the initial `E' indicates the
    Blake3-256 digest algorithm.  [similarly for other prefixes used in
    the examples]

It is not clear to me how much of the processing in CESR we would want
in the registration.  But it seems to me we want the "Assignment" section
to make the following points:

- We want to say that the SAID strings are *generated from* the digital
  assets that they describe.  This isn't exactly the same as
  "self-assigned" because whoever is doing the work doesn't get to
  *choose* what the SAID is; the SAID is determined by the asset.

    To illustrate, here is an example of how the derivation works (from
    CESR 2.0, Section 11.6):

    Suppose the initial value of Python dict data structure is as follows:
    {
        "said": "",
        "first": "Sue",
        "last": "Smith",
        "role": "Founder"
    }

- We need some clarity as to what sort of digital assets can have SAID
  strings.  The one example presented is a Python dict containing one
  member "said", whose value will ultimately be the SAID string.  But
  it's unclear what the class of assets is intended to be.  It seems
  likely that there are a variety of "formats" of asset but each format
  has a canonical place inside it into which the SAID string will be
  copied once it is computed. ... But we need the registration to
  clearly describe the class of resources which can be named with the
  URNs.

  Let me expand on that:  It needs to be clear what resource (or set of
  "equivalent" resources) each URN names.

- The description mentions "consistent serialization" several times, but
  most of them seem to me to add complexity without adding clarity.
  Clearly, if you're going to hash a data structure, you need some sort
  of consistent serialization, so the reader doesn't need to be told
  that.  But since the registration doesn't describe *what* the
  serialization scheme is, why mention it?

    If we choose the 44 CESR character Blake3-256 digest for SAID
    derivation and use JSON serialization, the first of the derivation
    procedure is to insert the `#` character in place of the future SAID
    string:
    {
        "said": "############################################",
        "first": "Sue",
        "last": "Smith",
        "role": "Founder"
    }

- For exactness, you want to say "insert a number of `#' characters in
  place of the future SAID string, where the number (44) is the sum of the
  length of the digest's prefix `E' (1) plus the number base64urlsafe
  characters that will be used to encode the digest (43)".

- BTW, if the digital asset is a "binary" object, is the SAID string
  inserted into it in the same way, that is, base64urlsafe encoded?  If
  it is inserted in binary, it's probably worth warning that for some
  assets, the SAID string inserted into the asset is different from the
  one in the URN.

    For consistent serialization, we remove all extra white space:
    {"said":"############################################","first":"Sue","last":"Smith","role":"Founder"}

- This is clear.  And it is an indirect reference to the fact that
  consistent serialization is needed and implies that the CESR standard
  tells how to do that.

    The URN for the above data representation is:
    `urn:said:EJymtAC4piy_HkHWRs4JSRv0sb53MZJr8BQ4SMixXIVJ`

- I think you want some more detail:  The SAID string consists of the
  code for the digest algorithm, `E', followed by the base64urlsafe
  representation of the digest value of the serialization,
  `JymtAC4piy_HkHWRs4JSRv0sb53MZJr8BQ4SMixXIVJe'.

    The URN for the above data representation is:
    `urn:said:EJymtAC4piy_HkHWRs4JSRv0sb53MZJr8BQ4SMixXIVJ`

    Now, the Python data structure may be updated to:
    {
        "said": "EJymtAC4piy_HkHWRs4JSRv0sb53MZJr8BQ4SMixXIVJ",
        "first": "Sue",
        "last": "Smith",
        "role": "Founder"
    }

- This needs some more clarity.  As far as I can tell, the URN is for the
  *digital asset*, and the updated Python data structure is what the user
  thinks of -- and stores and transmits -- as the digital asset.  "the
  above data representation" seems to unnecessarily add complexity, as
  the URN is *for* the Python data structure.

    It is important to note that verification of SAID (therefore
    `urn:said`) must be performed on the consistent serialization format
    of the digital asset.

- This seems to be unnecessary.  Obviously, to verify an SAID, one needs
  to repeat the computation of it, and that has the same serialization
  requirements as the initial computation.

    In addition, the use of CESR encoding allows
    lossless transformation between binary and text domains. This property
    is useful in digital assets which may be most optimally represented in
    binary or serialization schemes such as CBOR.

It seems to me that this could be omitted.  As written, it's not clear
what it really means.  To make it clear, there would have to be some
background regarding what the "binary and text domains" are.  And there
is the implication that SAID is only applicable to digital assets which
somehow have both text and binary representations, which would need to
be part of the specification of what the applicable class of assets is.

    Adopters MAY consider narrowing selections of digest functions to
    reduce complexity and improve interoperability with some cost in
    flexibility.

This seems to me to be a bad idea.  There's no problem with an
application that can only *generate* one digest function.  But if an
application wishes to *verify* SAIDs, then if it does not compute all of
the specified digest functions, its interoperability is reduced.

Dale