On Tue, Nov 25, 2025 at 11:19 AM Alan Karp <alan...@gmail.com> wrote:
> Say that Alice sends a message via a broker, such as Kafka. She doesn't know who will pick up the message but wants to delegate to whatever entity does. She could delegate to the broker and have the broker delegate, but that's giving the broker permissions it doesn't need.
If anyone can pick it up, it might be that the broker picks it up. So
in a sense she's already delegating to the broker.
I guess Alice could restrict that with some kind of rights
amplification pattern where she has delegated an unsealer to some set
of potential receivers not including the broker, and only these can
open her message to get the authority.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z2Q-ReB38MVq8fvLAhA81CnWByZoNGq-1bigXR%2BCu3tHg%40mail.gmail.com.
> Another is to not include the capability in the message but supply an end point to ask for it.To me, this, and any other solution requiring bypassing the broker, feels like it defeats the point of having a message broker in the first place. If you're putting a Kafka broker between systems, you don't want them interacting directly.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z1ezciR66BCT0F%3D-omRJ2iF1gG%3DG1qcfvaqYvQdA%2BqwzQ%40mail.gmail.com.
How do you manage the in-group of potentially-valid recipients? If, for example, all the valid recipients have a capability to a "claim service" that the broker does not have, then all the broker needs to communicate to the chosen recipient is a "claim number". The recipient submits the claim number to the claim service and gets back the capability for that interaction. I would consider this a form of "rights amplification".
Isn't that the next level of detail of my "supply an end point to ask for it" suggestion?
Yes. That's my point! The requirement that you know the "legitimate" set in advance doesn't fit the "broker" use-case. That's why I suggested the alternative of a "one-time-use" capability (which you didn't quote).
By "successfully", I mean that the invocation was delivered to the recipient. In Coyotos, this would not include an attempt to invoke that (say) incurred a page fault or some other exception that causes it to be retried.
The purpose of a broker, auctioneer, or escrow agent is to act as a "trusted third party", usually connecting strangers. They often have excess authority, but are trusted not to abuse it. If I already have a trust-relationship with a group of "legitimate" vendors, I don't need the broker.
I suppose there is something interesting regarding implementation as
an sealer/unsealer pair.
Just so I'm clear: by "one time use" you mean a capability that is revoked as soon as it is successfully invoked.By "successfully", I mean that the invocation was delivered to the recipient. In Coyotos, this would not include an attempt to invoke that (say) incurred a page fault or some other exception that causes it to be retried.Is this what you have in mind?