W3C home > Mailing lists > Public > public-credentials@w3.org > February 2021

Re: [PROPOSED WORK ITEM] Vaccination Certificate Vocabulary

From: Christopher Allen <ChristopherA@lifewithalacrity.com>
Date: Tue, 16 Feb 2021 13:48:56 -0800
Message-ID: <CACrqygCneV-RGus6EjQTusu_zZDYWy3=72CAb0Ops4zZWZ1fug@mail.gmail.com>
To: Kaliya IDwoman <kaliya-id@identitywoman.net>
Cc: steve capell <steve.capell@gmail.com>, Manu Sporny <msporny@digitalbazaar.com>, W3C Credentials CG <public-credentials@w3.org>, lucyy.cci@lfph.io, johnw.cci@lfph.io
On Tue, Feb 16, 2021 at 12:56 PM Kaliya IDwoman <kaliya-id@identitywoman.net>
wrote:

> Another really big question arising out of the WHO conversations is how to
> represent VCs on paper. I'm working furiously in my role as Ecosystems
> Director at CCI to try and connect the key folks who have been working on
> innovations on paper based VCs to be in dialogue with one another to come
> up with some clear answers about how this can be done in the most compact
> format.
>

Even if you don't use our exact UR specification, you may benefit by
looking at them. The final spec was designed to be optimal for both
standard QRs as well as animated QRs and to take full advantage of the
native QR compression that all QRs support. For us, this meant encoding the
VC first in CBOR binary, then using a special subset of characters in
UPPERCASE that QR libraries will compress rather than double in size
because they think the data is binary when it is not (which is what happens
when you use JSON or base64). This took a lot of time and missteps to
optimize for size as the QRs specs are complicated and you can get weird
results when even a single character is misused.

Here is the research on the QR encoding issues:
https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-003-uri-binary-compatibility.md,
our final selection of characters for encoding (see the Brutal encoding
section)
https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-012-bytewords.md
and more about the overall spec for encoding some cryptographic primitives
at
https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-005-ur.md.
Other related research is in that repo. Goal is at some point to turn these
from research into formal specifications for IETF or W3C, but no specific
roadmap for that goal at this time.

There is a multiframe format for QRs for up to 16 frames, however, we found
that though it is in the QR spec, it broke in many QR code libraries used
by common platforms. So we created another multi-QR approach we call
Animated URs.
Though it doesn't directly serve your specific needs for VCs on paper, if
the QRs get too large you can use our Animated UR format to print multiple
QRs on the same page. We don't have an example of these in our demo, but
the key point is each could be scanned out of order and still function
— there is nothing in our spec that prevents you from printing each frame
on paper. See our animated UR QR demo video at:
https://www.youtube.com/watch?v=t-GGZ9FyuT8

I hope this is helpful in your research for implementing VCs on paper.

-- Christopher Allen, Blockchain Commons
Received on Tuesday, 16 February 2021 21:49:46 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 16 February 2021 21:49:47 UTC