Replies: 2 comments 3 replies
-
Thanks @gobengo for starting this thread! |
Beta Was this translation helpful? Give feedback.
-
From the current Prior Art section of the spec:
(Would it also make sense to mentioned RDFC here? That's also a difference some would call primary)
Not sure this is quite accurate, either-- CACAO works with implicit addresses (i.e. valid addresses with no onchain history) and contract addresses, i'm unclear on the
I think VCs assert attributes about the subject of a VC, which may or may not be the subject (not holder!) of a DID or addressed otherwise. It might be more accurate to say VC tooling is optimised for claims, and using it for authZ has diff tradeoffs, while ucans are optimized for, e.g., more efficient chaining, etc |
Beta Was this translation helpful? Give feedback.
-
From the ucan spec:
I find myself wanting more evidence to understand the claim that they are aimed at slightly different problems.
First, I don't see where the UCAN spec explains which problems it is trying to solve. This presents a challenge in evaluating whether any alternatives solve different problems, especially slightly different problems.
This seems like an argument like "We have problem A, but that thing is solving A and B, so it's solving a different problem", which doesn't add up to me.
I'm sure there are some good arguments for not using VCs. Personally I think the spec will be better if it includes a further elaboration of the above argument or, alternatively, zero arguments for a bit.
(this is not meant as a paragon/proposal, just an example). Here is a sketch from @OR13 of expressing zbac using VCs: https://transmute-industries.github.io/authorization-credentials/#abstract
Notably, and like UCANs later, VCs have a JWT encoding.
My goal is to be able to coherently explain how a developer should build something that makes use of UCAN-using service providers in combination with VC-using service providers.
For example, @TBD54566975/ssi-sdk (and #web5) will support VCs and higher-order protocols like DIF presentation-exchange.
https://github.com/TBD54566975/ssi-sdk/blob/main/example/presentation/presentation.go
Another example of a VC-based protocol that may be useful to the same web app that uses a UCAN-based protocol is the vp-request-spec authorization capability request, which e.g. could perhaps respond with a VC that has an embedded UCAN (or vice versa).
Elaborating on the feature matrix / design space of VCs vs UCANs may lead to win/win ways of interoperating across these ecosystems (i.e. ucan, ccg-vc, ssi-sdk, DWN), which I believe will be good for the developers using this protocol and, more importantly, the end-users of these protocols.
Beta Was this translation helpful? Give feedback.
All reactions