Hi,
I just discovered UCANs and I don’t get how the prf
tokens can be present while not giving their privileges.
Let’s take a concrete example. Alice has the following UCAN A1:
A1 = {
"scp": "/foo.txt"
"ptc": "READ/WRITE/COMMENT",
"prf": null,
}
She wants to authorize Bob to read and add comments, so she issues the following UCAN B1:
B1 = {
"scp": "/foo.txt"
"ptc": "READ/COMMENT",
"prf": hash(A1),
}
As only a hash is used, of course, the server can verify the proof of B1 and Bob cannot use A1 for himself. But the presentation of UCANs says the full proof could be in Bob’s UCAN. Then it would look like that, wouldn’t it?
B2 = {
"scp": "/foo.txt"
"ptc": "READ/COMMENT",
"prf": A1,
}
In this latter case, what would stop Bob from extracting A1 and using it to write the file?