[Json-canon] Dropping "Comparable" JSON

Anders Rundgren <anders.rundgren.net@gmail.com> Sat, 09 February 2019 07:05 UTC

Return-Path: <anders.rundgren.net@gmail.com>
X-Original-To: json-canon@ietfa.amsl.com
Delivered-To: json-canon@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A6E5613117A for <json-canon@ietfa.amsl.com>; Fri, 8 Feb 2019 23:05:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OebcP4WgbnqX for <json-canon@ietfa.amsl.com>; Fri, 8 Feb 2019 23:05:37 -0800 (PST)
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 50ECD130F28 for <json-canon@ietf.org>; Fri, 8 Feb 2019 23:05:37 -0800 (PST)
Received: by mail-ed1-x52f.google.com with SMTP id h50so4657309ede.5 for <json-canon@ietf.org>; Fri, 08 Feb 2019 23:05:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:cc:references:from:to:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=vAYJjk9PltaePUOo+0BYk63f/8yPmg94gMkkeXVbB4E=; b=chO8ppOkiBOY3hUobfg8OD9i+vrEUqRGE3SOT0ihd9uClESr3n5wKRlxtk5qNYVSBD xrus5zQ90PSNUaiLHSVBNK2cRn/13tmZqigZOJ4t8RufQWm028YnBHSLx0on+5OiDb0z 65qbIqYzwxwK34hLxhAS9lpDFrtsVUWBCJpMYccnqbeX8bU/IcbMMeilpzj9DQoEDpXl vzUbaMx7HvWuC4nhTC/r19ZDPG2tmqwmnA6LO4HWmjb/yiu6mLK7Q9LtbTg2p95YAt53 kqUp+XF+AIrtTPyq8uQnO5pR1H3Cs7HfEGUHbA3VjyhZ+3SVegy4sLqRfMfcP1pSJw8e yxTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:cc:references:from:to:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=vAYJjk9PltaePUOo+0BYk63f/8yPmg94gMkkeXVbB4E=; b=lfHReAkuEWaE93YVrS8OgK+DM19NyDF4utL9cZSQQ4Z1QYKMPpfulllkgHUY/NlYRL CICzsRWI2Y9FUtHumDr2nS04L5q6MfvKD69o2uCf4yxxaZXS31kKXsg8Tl0ByN++N4+1 RiIzBAa5V+UTmrJrHWb0posKCB19NLySepKYTkfBHryzGr8S88NH5ct6WpPTKPJaZsi4 y9qci0yXX9zvwoiPykZUJsQoRb6/vQQW2+zw9M60rCBADX94x+hAJ7VOn4zp9zJjoqh/ LQ5TitFwJklPfVLKj9fQKD1gnDPFpYj+GeSbhjwnDSM9GtzB9ce2mI7PePpIK1hOHg/8 E3Gw==
X-Gm-Message-State: AHQUAuaNFUyGS2T+ow9R97iptdNia1dqDKBE+xcHBy3fUR1UWo9775WR sKI17dstB5gI6zMXrNUIhlA=
X-Google-Smtp-Source: AHgI3IZOYckvGYNsxHWu4LOF+N8Gu/jLQfSvXUIvCgL+lB3IFvrbtDd+Uh1tdp+SAUEmNXdVQAecqw==
X-Received: by 2002:a17:906:63c9:: with SMTP id u9mr18989566ejk.190.1549695935601; Fri, 08 Feb 2019 23:05:35 -0800 (PST)
Received: from [192.168.1.79] (25.131.146.77.rev.sfr.net. [77.146.131.25]) by smtp.googlemail.com with ESMTPSA id c12sm1179688edi.52.2019.02.08.23.05.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Feb 2019 23:05:34 -0800 (PST)
Cc: 'Samuel Erdtman' <samuel@erdtman.se>, 'Bret Jordan' <jordan.ietf@gmail.com>
References: <00dc01d4b51c$618cdbc0$24a69340$@augustcellars.com> <f4b64343-e8db-57cf-152e-aeba44dc4863@gmail.com> <060401d4c035$d35d3e10$7a17ba30$@augustcellars.com>
From: Anders Rundgren <anders.rundgren.net@gmail.com>
To: json-canon@ietf.org
Message-ID: <7f7557ae-c86a-013a-6758-279034728be5@gmail.com>
Date: Sat, 09 Feb 2019 08:05:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0
MIME-Version: 1.0
In-Reply-To: <060401d4c035$d35d3e10$7a17ba30$@augustcellars.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/json-canon/l5vHTamEl8N4QnzolBLM9UvDHgo>
Subject: [Json-canon] Dropping "Comparable" JSON
X-BeenThere: json-canon@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: JSON Canonicalization <json-canon.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json-canon>, <mailto:json-canon-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/json-canon/>
List-Post: <mailto:json-canon@ietf.org>
List-Help: <mailto:json-canon-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json-canon>, <mailto:json-canon-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 09 Feb 2019 07:05:40 -0000

All,
This is an open question.
Ideally you want a design to cover as many use-cases as possible, right?
Sometimes that ambition turns out to be counterproductive making your most important use-cases suffer.


When I in retrospect look at
https://tools.ietf.org/html/draft-rundgren-json-canonicalization-scheme-04
I begin to wonder if "Comparable" JSON (in the draft named "true" canonicalization) shouldn't be a "Feature at Risk" as the W3C folks call this.

Why is that?  Well, to begin with "Comparable" JSON leaves a lot of thorny decisions to some other document or entity to worry about:
https://tools.ietf.org/html/draft-rundgren-json-canonicalization-scheme-04#appendix-E.2

In addition, having actually built a few test systems comparing JSON data, I note that the possibility for creating 100% stable input data is unlikely to be particularly common. Time stamps, transaction IDs and last but not least crypto, makes this requirement rather hard to achieve in practice.

That is, "Comparable" JSON appears to be a difficult edge case and IMHO [probably] not worth dealing with. The 80/20 rule is pretty much a fact.

This seems like an ideal topic for the BoF session we have requested :-)

WDYT?

Anders