Re: [Cbor] Unusual map labels, dCBOR and interop

Wolf McNally <wolf@wolfmcnally.com> Thu, 28 March 2024 01:41 UTC

Return-Path: <wolf@wolfmcnally.com>
X-Original-To: cbor@ietfa.amsl.com
Delivered-To: cbor@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B6D30C14F6F2 for <cbor@ietfa.amsl.com>; Wed, 27 Mar 2024 18:41:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 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] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=wolfmcnally-com.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 pmnCdfWKT1nX for <cbor@ietfa.amsl.com>; Wed, 27 Mar 2024 18:41:18 -0700 (PDT)
Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) (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 5EC38C14F6B3 for <cbor@ietf.org>; Wed, 27 Mar 2024 18:41:13 -0700 (PDT)
Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-1dffa5e3f2dso3837005ad.2 for <cbor@ietf.org>; Wed, 27 Mar 2024 18:41:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wolfmcnally-com.20230601.gappssmtp.com; s=20230601; t=1711590072; x=1712194872; darn=ietf.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=qjkIwzunMEspDUERWGfcVuGIbpbLKb/RVJIMpBJ8xQw=; b=c62BNv7BvqoxglcOifptMntrem1PaetevEnoJPCw8k1tgwpaPGNZaAgx0qSW1k1p9L MUz6rjg7Uzxwjdgdk2sKl5Vxbi2B4Vsu0RGcCPUM/FOMIMgXqoZNHD8sPNbgxDEfV+NA vtiSYrHhBQT0gohVQLQsbaAAkkqKEE+RvF0p7UPLDRIWV7X0NnCiu865EmDcKipM1rBA JmmIo9z1oUl1nVVtC0TWon1jy2fMblGBiyteAlEO4aKDpOZj+M+Lb+T10Lva8Dme7J/L LB4WpQZa/zXgNm10mpsmJxuOhiMg876jTnaZYEmAKiCnpDdEjvmd8f98u0jhD6g0mZL9 UmEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711590072; x=1712194872; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qjkIwzunMEspDUERWGfcVuGIbpbLKb/RVJIMpBJ8xQw=; b=d8O4m5TI6KL7IMWVh6ehsWCAPCTH8W+NjjGxev/MKMo5u/Ot/QGwvgakJOttv+vhUv 6VG2jYH7S7SyMubJoDC+26LJRgdXqzbznIrrBqZiJgGIPks8sJ1OFdZBVeuVdTPXFxqI VecLTlUBkB1/LOSS1FBGkUHiRa84IDDKu23UlIbcfai4CmugsZk6CKQr8atdsfXItY9+ n70I0W2XDcpEGNDDH2Twnx+FH2E9Zbh87KHmTotTJMAfbVVtUBjl6FH/9SFs8+lIMbzU S71ok6ldc3TNXFrwcNv+kDDCOnHbNTAD8vjhTvbu/viDR+ZLdZDcEeN6RJJ/vIVu1BO0 C67w==
X-Forwarded-Encrypted: i=1; AJvYcCUaHovqLUJ89DAy5MoeRiFEAlqtMQPHXGSU5APwEf/J0NttiLqF1AITzbFN2/B0CCy1UCToX10wZsLH9f17
X-Gm-Message-State: AOJu0Yx5wTbfITtWoiE/GNnmS8hegRKJ7sx27Xp3csAq7pQOh9+DyHyV YaSu5vBCF3AAi4sQ3C5mFRd0e6/8+pJ+p5ZbiYuS+lwc/UVuXkNlasigmW8qWPE=
X-Google-Smtp-Source: AGHT+IEGWiw7Hmo/ty3tQ4JbtmXr9q1tuntvvWTP+KU11fEg6FkRTwhgD7sGfClB1utjUwm4KLVckQ==
X-Received: by 2002:a17:902:e5c7:b0:1df:ff90:5d43 with SMTP id u7-20020a170902e5c700b001dfff905d43mr1570576plf.6.1711590072430; Wed, 27 Mar 2024 18:41:12 -0700 (PDT)
Received: from smtpclient.apple (ip70-180-193-108.lv.lv.cox.net. [70.180.193.108]) by smtp.gmail.com with ESMTPSA id 6-20020a170902c10600b001e0bcccc800sm208520pli.35.2024.03.27.18.41.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Mar 2024 18:41:11 -0700 (PDT)
From: Wolf McNally <wolf@wolfmcnally.com>
Message-Id: <0C00CA7D-8F18-4E72-A9CB-E7DCD50EC65E@wolfmcnally.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_7C039E2B-5107-46D0-B2BF-9413CD6BD674"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\))
Date: Wed, 27 Mar 2024 18:40:59 -0700
In-Reply-To: <D2295CE3-0E93-422E-BABE-DFDED1C8883B@tzi.org>
Cc: Orie Steele <orie@transmute.industries>, "lgl island-resort.com" <lgl@island-resort.com>, cbor@ietf.org, Christopher Allen <christophera@lifewithalacrity.com>, Shannon Appelcline <shannon.appelcline@gmail.com>
To: Carsten Bormann <cabo@tzi.org>
References: <8C245824-1990-4616-AB70-FFD4FACB1AE9@island-resort.com> <11E8A8A5-D891-49FF-AF16-697C06F463B3@tzi.org> <9A0CE364-C141-4EBE-9703-292C416D12F5@island-resort.com> <3D62C4F0-D570-4EE4-AF6A-163C708AA6BE@tzi.org> <58BA8F8C-0C63-4534-9BF7-255C32D02C16@island-resort.com> <CAN8C-_KCLv_cAt-0-C_=i6DXjZFkgkmgZ8DNq48RcxcvV+jEUQ@mail.gmail.com> <D2295CE3-0E93-422E-BABE-DFDED1C8883B@tzi.org>
X-Mailer: Apple Mail (2.3774.500.171.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/dHuFPsYbZbMcalYnvq4CwgyzBcw>
Subject: Re: [Cbor] Unusual map labels, dCBOR and interop
X-BeenThere: cbor@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Concise Binary Object Representation \(CBOR\)" <cbor.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cbor>, <mailto:cbor-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor/>
List-Post: <mailto:cbor@ietf.org>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cbor>, <mailto:cbor-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Mar 2024 01:41:22 -0000

All,

> On Mar 24, 2024, at 5:42 PM, Carsten Bormann <cabo@tzi.org> wrote:
> 
> (2) Do we need dCBOR?
> 
> Depends on “we” and “need”.
> 
> As I mentioned, it is good to have at least one example of an application profile.
> CDE can be used without one (defining no further equivalence sets), or, one could say, with a null application profile.
> But it is much easier to validate the architecture by defining at least one useful application profile.
> So do we “need" dCBOR?  It is definitely useful for the work leading up to CDE at least in the sense of providing validation for the two-layer approach.
> 
> We differ in our perception how useful dCBOR is as an application profile — clearly there are different areas of application of CBOR, and dCBOR is not for all of them; different WG members naturally have a different perspective here (providing different “we”s).

When “we” is Blockchain Commons and our supporters, the “need” is a stack of protocols and tools that make determinism a more tractable goal. We also believe that others, when determinism is their goal, will find dCBOR attractive.

Obviously none of these sets of “we” is the same, so while there will be some overlap, it was never our goal to make dCBOR something that would replace CBOR or even be widely adopted relative to CBOR in general. Certainly the dCBOR approach has certain costs that may be worth it to some and not worth it to others. I would hope that implementers of CBOR codecs will find it useful to support dCBOR, but this has always been an option and not a requirement for dCBOR’s use and adoption.

> I believe we also need to acknowledge that the change control for this specific application profile better rests with the group that has that application area in focus.  Clearly, there are further aspects of deterministic representation at the application level that dCBOR does not discuss (for an obvious example: do you use tag 0, 1, or 1001, and what specific configuration [e.g., the use of timezones on tag 0 RFC3339 content], for representing timestamps?).  Not all of these need to be part of an application profile, and it would hinder evolution of applications that use the application profile if they did.

Correct. dCBOR is not a panacea for determinism, as it is manifestly obvious that no amount of specification or software tooling will stop a determined (or unskilled) practitioner from creating a non-deterministic encoding of identical semantics. More fundamentally, the dCBOR spec was designed to address issues around determinism raised in the core CBOR spec, and not all other extensions of CBOR.

> So, as the CBOR WG, we haven’t worked on deciding which form of publication the dCBOR application profile should take.
> I believe having an RFC would be good so it is easier to use CDE with dCBOR as an example.
> (There are several ways to get this RFC published: From ISE to IETF WG informational or experimental or standards-track.)

We would prefer a standards-track RFC, but remain open to advice and counsel from the WG and the IETF at large as to how to proceed in this.

~ Wolf