[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
- [urn] URN Namespace Registration for SAID (Self-A… Wenjing Chu
- [urn] Re: URN Namespace Registration for SAID (Se… Peter Saint-Andre
- [urn] Re: URN Namespace Registration for SAID (Se… Ted Hardie
- [urn] Re: URN Namespace Registration for SAID (Se… Wenjing Chu
- [urn] Re: URN Namespace Registration for SAID (Se… worley
- [urn] Re: URN Namespace Registration for SAID (Se… Wenjing Chu
- [urn] Re: URN Namespace Registration for SAID (Se… worley
- [urn] Re: URN Namespace Registration for SAID (Se… worley
- [urn] Re: URN Namespace Registration for SAID (Se… Wenjing Chu
- [urn] Re: URN Namespace Registration for SAID (Se… ProSapien Sam Smith
- [urn] Re: URN Namespace Registration for SAID (Se… Wenjing Chu
- [urn] Re: URN Namespace Registration for SAID (Se… worley
- [urn] Re: URN Namespace Registration for SAID (Se… Wenjing Chu
- [urn] Re: URN Namespace Registration for SAID (Se… Lars G. Svensson
- [urn] Re: URN Namespace Registration for SAID (Se… Wenjing Chu
- [urn] Re: URN Namespace Registration for SAID (Se… ProSapien Sam Smith
- [urn] Re: URN Namespace Registration for SAID (Se… Wenjing Chu
- [urn] Re: URN Namespace Registration for SAID (Se… Peter Saint-Andre
- [urn] Re: URN Namespace Registration for SAID (Se… Lars G. Svensson
- [urn] Re: URN Namespace Registration for SAID (Se… worley