Re: Verifiable Credentials over Wireless (NFC and Bluetooth)

On Tue, Sep 17, 2024 at 9:29 AM Will Abramson <will@legreq.com> wrote:
> This looks like great work.

Thanks Will, much appreciated. :)

> I only had a quick scan, but I have a question. Are these flows only focused on VC presentation?

You can do issuance. Anything that you can do w/ VC API Workflows and
Exchanges can (technically) be done over NFC and Bluetooth.

>I can't see any use cases or examples that focus on issuance of credentials over NFC at first glance. Is there a reason for this?

The examples are just not in there right now because the spec is very
draft-y at present.

We wanted to get this out there sooner than later to get feedback from
the community before doing the next big revision. We know others are
working in the space, and we've been working with some of you for a
while now. We also want to respect the timeline on which those
partners  might want to come forward.

A few learnings as we've worked on this technology:

Most implementations of NFC today are slow. You're lucky if you get 1
KB/s, so what you can do over that connection is limited. That's why
the "Non-interactive NFC Presentation" portion of the specification
focuses on using CBOR-LD to compress the JSON-LD VCs down to around
400-600 bytes; you need to get that small to get to a "transit card"
or "credit card tap"-like experience.

https://digitalbazaar.github.io/vc-wireless/#non-interactive-nfc-presentation

Now, we have transmitted many multiples of KBs over NFC, and it does
work, but the experience isn't great (or, at least, you need to let
the individual know that they need to hold their phone over the other
NFC device for a couple of seconds). The better route there is
Bluetooth.

That is why the first NFC message provides protocol upgrades if both
sides can do them. If your VC is more than 1KB in size (and most of
them are), and you MUST issue over a short range wireless protocol,
WiFi Aware, Bluetooth, or LTE tend to be your only options. If you
choose Bluetooth (which is broadly available), you can do VCs that are
many hundreds of KBs in size with a reasonable UX.

That said, what we've found most useful is to just pick up your VC
when you're online (e.g., in your web wallet while you're using a web
browser -- fast), and then use the NFC presentation portion on your
mobile phone (whose web wallet is automatically sync'd to the VCs you
just picked up) as you need to use the NFC portion in the physical
world.

-- manu

-- 
Manu Sporny - https://www.linkedin.com/in/manusporny/
Founder/CEO - Digital Bazaar, Inc.
https://www.digitalbazaar.com/

Received on Tuesday, 17 September 2024 14:12:22 UTC