- From: Christopher Allen <ChristopherA@lifewithalacrity.com>
- Date: Tue, 16 Feb 2021 13:48:56 -0800
- 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
- Message-ID: <CACrqygCneV-RGus6EjQTusu_zZDYWy3=72CAb0Ops4zZWZ1fug@mail.gmail.com>
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