Re: [Multiformats] Fwd: [media-types] [IANA #1272257] application/vnd.ipfs.ipns-record registration request

Bumblefudge <bumblefudge@learningproof.xyz> Tue, 24 October 2023 17:40 UTC

Return-Path: <bumblefudge@learningproof.xyz>
X-Original-To: multiformats@ietfa.amsl.com
Delivered-To: multiformats@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 272E4C15109A for <multiformats@ietfa.amsl.com>; Tue, 24 Oct 2023 10:40:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.094
X-Spam-Level:
X-Spam-Status: No, score=-7.094 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_PERMERROR=0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=learningproof.xyz
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GEbCP2TbH_Tz for <multiformats@ietfa.amsl.com>; Tue, 24 Oct 2023 10:40:42 -0700 (PDT)
Received: from mail-4317.proton.ch (mail-4317.proton.ch [185.70.43.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 15423C14CE2C for <multiformats@ietf.org>; Tue, 24 Oct 2023 10:40:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=learningproof.xyz; s=protonmail; t=1698169236; x=1698428436; bh=fMuAMfzGGHLNCQi4mEVx90Hz9HvxPkwmo9Mvo/qobjU=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=lHek8J4y07GzME0xU9dB0mV5gtywQv1AQHXzPHJF0hwu3K+y6+eorXX08kAjPxw24 L/dl483lKgT2jL1Nf66Gv6uPgaCfK4K/IQ8kvw7Ao3gaGpx70r6SfGFd8vzF1N6Esu fLb0quXpueexiXygK96aeMlWLXichVl/U3LQ+i8VQFMHrcSohJk0EvUL21Yy3rdqZC 4MptcglNMQcx4tQiNhoquPS2X+FA4Gv9amvctkukJJOUZlJucJPJCCpfAxQD3S//4F 1RtxKdzOL4LvdOQ0OUv6+V2UI8Ky5YkOVbSVUM0b9yguV1GLJ4cHBsAQx9uJEZDb/R Q+fSohI1ybXjQ==
Date: Tue, 24 Oct 2023 17:40:19 +0000
To: multiformats@ietf.org
From: Bumblefudge <bumblefudge@learningproof.xyz>
Message-ID: <6385d820-56a5-4bfc-960c-d4338b0c1e4d@learningproof.xyz>
Feedback-ID: 85909410:user:proton
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="b1_zqvPOc5sAeCIEbEh2E5pcJKoMXxQFBPJyXDcFvxOEU"
Archived-At: <https://mailarchive.ietf.org/arch/msg/multiformats/z5AlL8YzbtiHbh2kTnq7JLyWSsA>
Subject: Re: [Multiformats] Fwd: [media-types] [IANA #1272257] application/vnd.ipfs.ipns-record registration request
X-BeenThere: multiformats@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Discussion related to the various Multiformats data formats <multiformats.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/multiformats>, <mailto:multiformats-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/multiformats/>
List-Post: <mailto:multiformats@ietf.org>
List-Help: <mailto:multiformats-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/multiformats>, <mailto:multiformats-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 24 Oct 2023 17:40:47 -0000

> Does anyone have additional details on this request? > Or perhaps a shorter explainer for how this might fit together with multihash?

Sorry, I was reviewing old emails and I realized I answered this out-of-band instead of on-list. For anyone else who might have been curious, IPNS records are a structured data representation defined here: https://specs.ipfs.tech/ipns/ipns-record/#record-serialization-format The short-ish explainer would be that IPNS records are a protobuf data structure similar in function to DID Documents, in that they contain: - a mutable pointer to immutable (and CID-addressed) data, - some metadata to make that pointer verifiable[^1], and - their "Names"[^2], a stable identifier derived from the specific keypair proving authority over the name over time. The resolution of IPNS names to IPNS records is implemented as part of the public IPFS DHT, but could just as easily use any other discovery and resolution mechanism. and resolvable to that document on the DHT, is a binary multihash of the public key serialized. They rely on multihash in the sense that longer keys are represented transformed and code-prefixed according to multihash logic; the legacy form and most common form, however, use shorter Ed25519 keys which are simply prefixed with the "identity" multihash code and represented in their entirety. It is also worth noting that since IPNS names and records alike are canonically binary (like CIDs more generally), but often multibased as CIDs.

But I feel like maybe the implicit question was why IPNS records, of all the higher-order constructs built on a multiformats basis, were registered as a content type. I'm not intimately familiar with the libp2p/networking section of the multicodecs registry or the multiaddr spec (a translation layer for addressing systems and identifiers), but I would assume it was for interoperability at the networking layer. I can chase down a more concrete rationale if this list is curious, although, as I said above, IPNS is at least as far out of scope as CIDs in general, if not more so.

Thanks, __bumblefudge [^1]: https://specs.ipfs.tech/ipns/ipns-record/#ipns-record [^2]: https://specs.ipfs.tech/ipns/ipns-record/#ipns-name [^3]: https://specs.ipfs.tech/ipns/ipns-record/#string-representation

---
bumblefudge
janitor @Chain Agnostic Standards Alliance
contractable via learningProof UG
mostly berlin-based