Re: [Multiformats] Multiformats Considered Harmful

Orie Steele <orie@transmute.industries> Wed, 06 September 2023 19:47 UTC

Return-Path: <orie@transmute.industries>
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 A8AF8C1595FD for <multiformats@ietfa.amsl.com>; Wed, 6 Sep 2023 12:47:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.096
X-Spam-Level:
X-Spam-Status: No, score=-7.096 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_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, T_SCC_BODY_TEXT_LINE=-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=transmute.industries
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 CQb0k-lHwuNt for <multiformats@ietfa.amsl.com>; Wed, 6 Sep 2023 12:47:03 -0700 (PDT)
Received: from mail-oa1-x33.google.com (mail-oa1-x33.google.com [IPv6:2001:4860:4864:20::33]) (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 16923C153CA8 for <multiformats@ietf.org>; Wed, 6 Sep 2023 12:47:02 -0700 (PDT)
Received: by mail-oa1-x33.google.com with SMTP id 586e51a60fabf-1cca7cf6e01so179436fac.0 for <multiformats@ietf.org>; Wed, 06 Sep 2023 12:47:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=transmute.industries; s=google; t=1694029622; x=1694634422; 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=+oARtZIa4t89f5Zxtqibb0NYYeMUUXVelTsaa6zoq0g=; b=YHubAt9oprIsL1KCV/AaG81FU6rSbqBcfW2aefdAPJ2dMxwIhUyE7a3IfsyW44Vcpo j4vIqePtW454bKvtdpAwJrJwBWVkgdIm9Mw8wWzlhRk8s2xaDqHImWfrzK8NUwkF/fOP J2dT4ZEuOg079gv6L/5HupoWoZrmSn2YI81vvackAT8i0DzVe0T1rXONu2CI+BtXLmXy 8MV1JiAFY7j1Q7tg8EUMhUz3bFwAGcnxuDCbFvwAMovYpL19oxLXZWg2Vo2UtWI4G9GR fRl37gTcbKNjYS98eqWKD+3Ts6zauu1BE1V0B/Pk+IsUBnMr3JtSHRQOXpyxdeyJMOcP 0xLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1694029622; x=1694634422; 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=+oARtZIa4t89f5Zxtqibb0NYYeMUUXVelTsaa6zoq0g=; b=SZvwCzQ/f1fIKMY1IxnPkEmbNZ0sg9SO2CdSuvlW73QBcCsX3RD1VWc92usFfCZAZG JLw4060kWFnDNidDv4avr6Rm2ZoGn6Se4TbdjAHzNj6/6TgcIdR6YtseD5o0ZAcTRNlF CF442ogmjysB9SqcAv0Vv8go5HDZXSWGZEjJWyEtlm+jeh4Z8c+kmeFU5tFGmZykJ/yv NE6aGPaNLnci8ZMknQrVHMVU6Usoac2OfH/8HbTSvwhAmSvtI1iMUmhrLD3DmjuR1WD3 b3/r9+Hgf0nGf3GNL+m7UTPL0KWwB4XyT3E3mPKpDMi3vXEIUitc59QlNXoYrqRLwoa6 fuQA==
X-Gm-Message-State: AOJu0YzfToxLZ40YA3ZuBaHCXIELhRNqzmftK2rgoPddkT1ImU5zx5sw S+ZQlyZeKFlobzGKJk/P3COxUItmd4Kh8aJ4XsGL5A==
X-Google-Smtp-Source: AGHT+IGBVPp/XJhLRchGfViWGym420J9Nn1SxH45gHwRJ0nKDE2UADjjcmOccjOnmr3qUsKrrcKM7i/5IFnb+ogGDb0=
X-Received: by 2002:a05:6871:88b:b0:1bf:fd8a:826e with SMTP id r11-20020a056871088b00b001bffd8a826emr18428632oaq.55.1694029622149; Wed, 06 Sep 2023 12:47:02 -0700 (PDT)
MIME-Version: 1.0
References: <F814189D-031F-4CED-AC9A-F6049D010632@tzi.org> <81D17EDC-723D-4977-AA82-6164DDB5B431@tzi.org>
In-Reply-To: <81D17EDC-723D-4977-AA82-6164DDB5B431@tzi.org>
From: Orie Steele <orie@transmute.industries>
Date: Wed, 06 Sep 2023 14:46:50 -0500
Message-ID: <CAN8C-_LpYSimtHTn0nE7HN13iJ8FyxchaDm4G1mTX97MhYf=bw@mail.gmail.com>
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>
Content-Type: multipart/alternative; boundary="000000000000de25630604b6010f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/multiformats/796xLxtQ7Id02AZaTE4XT1X5To8>
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 19:47:06 -0000

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>