Re: [Multiformats] Multiformats Considered Harmful

Richard Barnes <rlb@ipv.sx> Wed, 06 September 2023 20:06 UTC

Return-Path: <rlb@ipv.sx>
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 BB524C15C528 for <multiformats@ietfa.amsl.com>; Wed, 6 Sep 2023 13:06:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.903
X-Spam-Level:
X-Spam-Status: No, score=-1.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, 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=ipv-sx.20230601.gappssmtp.com
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 3yJ9Tqh9IcZi for <multiformats@ietfa.amsl.com>; Wed, 6 Sep 2023 13:06:18 -0700 (PDT)
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 8716FC15C524 for <multiformats@ietf.org>; Wed, 6 Sep 2023 13:06:18 -0700 (PDT)
Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-52889bc61b6so219189a12.0 for <multiformats@ietf.org>; Wed, 06 Sep 2023 13:06:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipv-sx.20230601.gappssmtp.com; s=20230601; t=1694030776; x=1694635576; 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=P5XCIpAar2uVaLrQTgBmXrdEWGWhH6jZShW5iC374+A=; b=L4tCDir4o25G5NODismE46JHzqQgZ0jnlBzy2wpTKpSo1Hsob9uQS3EjbUhsNCQqxy 30WwQl65Uou4JsjT0kGv85ESwoRh2b/x5rDmlzq8ugDJ0CfY4lzEFvWC/Ic9dJd/9KrZ aL55hkdzrwFJ4m+Rrld7L3qBsIqtBRbMmT4veDVcdVglt/wFwbO5lyJFO7/otH3sZmaE LCKOFTSR1K/or3jlf1Y5n3R/n+Emh2IxLF8oV57OlINDuhIpqvKeinMz1vXSFlRUmR4d HtMbZ4cLSDqxvBFVj9WouPgXZzsOuAN0pttUPg11449uyccrfe265nnxZzhOzO2yCgUz EV/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1694030776; x=1694635576; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=P5XCIpAar2uVaLrQTgBmXrdEWGWhH6jZShW5iC374+A=; b=S/j3PBFt6hEniwErkdk2pc7JiszXkcM6QpYp16XKEWc3RrxYWsrDI4eVkV+GsqxNWD Mx72fXZ9VGc+IF7iKrs/pNzzN7OvxZc/OIL0NNPu3neRQlzCIaq+OMttWJFFG9/VPw5u ND86jJ7agfVs7D6Sb0ZmsELqdUhoswQIpVMeej51kWe5qWPuHvBdQpRij/jCYAUzKuCe W7ifLWopYJQLGU2o4fJi0YqpKIIU2wjNYqNP81RHDGaDj8W0WPI4ZJ95F29T5DoOm5sK a+giaMcp2AzrDat0NM4ZxVXoHMB0LkIezQecMQ+o/Jb25xAN3IV7kcby43XnEBNHIuDu nvuQ==
X-Gm-Message-State: AOJu0YyHAKo5HVsbRroEYcagMceBjOqY70+ht2grq46U8ATBM3fPg582 1MSDmbzhaabzgFskv7ZYbsqluN2eeoNQV5zfwF1Dcg==
X-Google-Smtp-Source: AGHT+IG4K9YmUkcgmWAktDCEro+pHrwoIVJJKaY0iF6BJA+2WmgAVg4EmXE6yQ0sdKJ2ac61J0bwVIjRexybBOaeQJI=
X-Received: by 2002:a17:907:2cd9:b0:9a2:b89:f82b with SMTP id hg25-20020a1709072cd900b009a20b89f82bmr3202377ejc.1.1694030776261; Wed, 06 Sep 2023 13:06:16 -0700 (PDT)
MIME-Version: 1.0
References: <F814189D-031F-4CED-AC9A-F6049D010632@tzi.org> <81D17EDC-723D-4977-AA82-6164DDB5B431@tzi.org> <CAN8C-_LpYSimtHTn0nE7HN13iJ8FyxchaDm4G1mTX97MhYf=bw@mail.gmail.com> <MW4PR02MB7428BE7784A204FC9F945685B7EFA@MW4PR02MB7428.namprd02.prod.outlook.com>
In-Reply-To: <MW4PR02MB7428BE7784A204FC9F945685B7EFA@MW4PR02MB7428.namprd02.prod.outlook.com>
From: Richard Barnes <rlb@ipv.sx>
Date: Wed, 06 Sep 2023 16:06:05 -0400
Message-ID: <CAL02cgSyS9AuVde_HYyP2Dghq6ZnVpVnis6egR8CTf24b4h37w@mail.gmail.com>
To: Michael Jones <michael_b_jones@hotmail.com>
Cc: Orie Steele <orie@transmute.industries>, Carsten Bormann <cabo@tzi.org>, "multiformats@ietf.org" <multiformats@ietf.org>, Murray Kucherawy <superuser@gmail.com>, Barry Leiba <barryleiba@computer.org>, Francesca Palombini <francesca.palombini@ericsson.com>, Roman Danyliw <rdd@cert.org>, Paul Wouters <paul.wouters@aiven.io>, Russ Housley <housley@vigilsec.com>, Henk Birkholz <henk.birkholz@sit.fraunhofer.de>
Content-Type: multipart/alternative; boundary="000000000000a877bb0604b6463e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/multiformats/pyG3bl_rWaQY8FwgFQMSAXyKb48>
X-Mailman-Approved-At: Thu, 07 Sep 2023 13:16:39 -0700
Subject: Re: [Multiformats] Multiformats Considered Harmful
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: Wed, 06 Sep 2023 20:06:22 -0000

Not sure why I got added to this thread (I guess because I talked to Orie
:) ), but overall I endorse the objections that Mike and Orie raise.

As I understand it, the reason multiformats exist is basically that the
blockchain community failed to organize itself well enough to agree on an
encoding, so there was a need to shove multiple encodings into a slot and
let the recipient figure it out.  While this seems to be a common pattern
in some W3C spaces (e.g., VC, DID), it is a compatibility nightmare, and is
not something we should build standards around.  Much like DID,
multiformats is a fine hack to multiplex multiple things into a single
slot, but one that should at best be documented for historical purposes
while we build forward to a common thing, not held out as in any sense a
good thing to do.

--Richard

On Wed, Sep 6, 2023 at 3:53 PM Michael Jones <michael_b_jones@hotmail.com>
wrote:

> For the benefit of those added to the thread, you can read my original
> message that this is response to at https://self-issued.info/?p=2408.
>
>
>
>                                                        -- Mike
>
>
>
> *From:* Orie Steele <orie@transmute.industries>
> *Sent:* Wednesday, September 6, 2023 12:47 PM
> *To:* Carsten Bormann <cabo@tzi.org>
> *Cc:* Michael Jones <michael_b_jones@hotmail.com>; multiformats@ietf.org;
> Murray Kucherawy <superuser@gmail.com>; Barry Leiba <
> barryleiba@computer.org>; Francesca Palombini <
> francesca.palombini@ericsson.com>; Roman Danyliw <rdd@cert.org>; Paul
> Wouters <paul.wouters@aiven.io>; Russ Housley <housley@vigilsec.com>;
> Henk Birkholz <henk.birkholz@sit.fraunhofer.de>; Richard Barnes <
> rlb@ipv.sx>
> *Subject:* Re: [Multiformats] Multiformats Considered Harmful
>
>
>
> I'll comment in the context of the experience working with multicodec and
> multibase at W3C.
>
> And include a few folks I spoke with regarding this topic at the last IETF.
>
> We implemented support for publicKeyMultibase, and helped register the
> NIST curves in order to be able to do "key translation" required to use
> Decentralized Identifiers or Verifiable Credentials.
>
> https://github.com/multiformats/multicodec/pull/190
>
> We've also used multibase encoded "proofValue" in JSON-LD / RDF to encode
> various kinds of Data Integrity Proofs:
>
> https://github.com/w3c/vc-data-integrity
>
> The 2 primary points of connection to W3C for this work are "encoding key
> representations" and "encoding signature / proof values"... not just
> encoding hashes as strings, although that is also commented on
> https://github.com/search?q=repo%3Aw3c%2Fvc-data-integrity%20digestMultibase&type=code
>  ...
>
> I'd add that digestMultibase is positioned as competing with digestSRI,
> and the W3C working group has no consensus on if it's worth not being
> compatible with SRI... In very much the same way the working group can't
> agree to recommend using publicKeyMultibase over publicKeyJwk... It's
> possible that might change in the current verifiable credentials working
> group, if it does not, that would also prove my general point regarding
> helpfulness.
>
> W3C specifications do not require, prefer or recommend multibase.
>
> Data Integrity - https://github.com/w3c/vc-data-integrity which is on
> track to become a technical recommendation is, afaik, the sole exception to
> this, `proofValue` MUST be encoded as multibase... This is a part of what
> is motivating the need to move multibase to an organization that can be
> referenced normatively by W3C, without producing their version of a downref.
>
> Some members of W3C want to position multibase keys and signatures as
> recommendations, and there seems to be a good amount of overlap with folks
> wanting to position data integrity proofs, which are similar to xml
> digital signatures, as the recommended way to encode verifiable credentials
> with security.
>
> Everything these folks are recommending can be solved for with standards
> that are available today, many of which have lots of off the shelf
> implementations and are widely adopted in protocols for moving JSON based
> data models (JOSE, OAuth, OIDC).
>
> Having spent a lot of time implementing support for multibase in the
> context of DIDs and VCs our conclusion is that they are not "worth the
> switching cost" relative to JOSE... COSE support is worth the switching
> cost, but it's not compatible with the W3C Data Model approach which is
> based on JSON-LD and RDF.
>
> The primary point I want to make is this:
>
> Adding many ways to do the same thing, with very little benefit over the
> existing ways is not helpful.
>
> Adding new ways to do old things that are not an improvement worth paying
> to upgrade too, is also not helpful.
>
> It creates a fertile garden bed of bugs and consulting opportunities,
> which can reduce security and drive up costs for regulators and commercial
> markets needing to implement standards, without benefiting end users, who
> we are here to serve.
>
> To be clear, there is nothing wrong with preferring base58btc over
> base64url, or uvarint prefixing over cbor tagging... But there is a lot
> wrong with forcing verifiers and relying parties to support "every binary
> encoding format multiplied by every registered public key or hash type"...
> it's better to not publish a standard, than it is to do this.
>
> I don't see how multiformats does not leave the verifier or relying party
> holding this bag, along with all the other burdens they are required to
> carry already (JOSE, COSE, etc...), and if they can't handle it, or they
> handle only part of it, the consumer / end user does not get the benefit.
>
> I don't think the work should be done... If it is done, or continues to be
> done (since it's happening at W3C regardless of progress in IETF), I think
> it will continue to cause harm to the use cases that it's supposedly being
> done to support.
>
> Specifically ensuring end users can control their own identifiers and
> credentials, and that verifiers (governments, organizations, hardware
> systems and other users) can automate compliance requirements built on
> digital trust ecosystems.
>
> I have a lot of respect for the people involved with the work, in
> particular Protocol Labs & Digital Bazaar, even if I don't think this
> particular approach should become an IETF standard.
>
> Regards,
>
> OS
>
>
>
> On Wed, Sep 6, 2023 at 3:45 AM Carsten Bormann <cabo@tzi.org> wrote:
>
> RFC 6256, which was used in the bundle protocol v6, before they switched
> to CBOR for v7
>
> Sent from mobile, sorry for terse
>
>
>
> On 6. Sep 2023, at 10:09, Carsten Bormann <cabo@tzi.org> wrote:
>
> Leb128 (not sure that the drafts call it by its common name) is the little
> endian variant of sdnv, which we do have as an rfc (please look that up for
> me…)
>
> --
> Multiformats mailing list
> Multiformats@ietf.org
> https://www.ietf.org/mailman/listinfo/multiformats
>
>
>
>
> --
>
>
>
>
> *ORIE STEELE *Chief Technology Officer
> www.transmute.industries
>
> <https://transmute.industries/>
>