-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discussion of TAP 15: Succinct hash bin delegations #132
Comments
Looking back at this with fresh eyes, it might make more sense to include all three of these fields in the same definition to make the relationships more clear. A delegation may use either Unfortunately, the above definition would be a backwards-incompatible change, so it may be better to leave it as is for now (as a change that does not affect non-succinct delegations), and set this as a goal for 2.0.0.
This relates somewhat to the format of the delegations object. With the definition I proposed above, |
The discussion in theupdateframework/specification#156 may be relevant for finding a clear way to state the various options for required fields in this TAP. |
Some quick questions:
|
I'll add some more:
I think Martins work in theupdateframework/python-tuf#1948 is showing how supporting those two cases makes this significantly more complex to implement -- and implementation simplicity is something this project could really have more of. If the two cases above are not required (or can reasonably be implemented by multiple levels of delegating metadata), then we could consider a format where there are two separate ways to delegate:
I think this could be much easier to implement correctly (and is easier to define explicitly in the spec). |
non-succinct hash delegations provide more flexibility (to define bin sizes, different keys for different bins), but I'm not sure this flexibility is needed in practice.
No
In the short term I'd opt to keep them for backwards compatibility, but we could drop them in the next major release of the spec. I'll add something to the TAP about eventually deprecating |
I never liked the absolutely rigid and ambiguous way we define delegations by going into roles first. It makes multi-role delegations and succinct hash delegations absolutely awkward. At the risk of another PR where we fix this larger, more general issue, what does everyone else think here? |
One way to fix the issue is by using an unambiguous data structure that makes each type of delegation absolutely sparkling clear and distinct, so there's no way to mix conflicting fields from different types. I haven't fully thought this through, but this might be possible even with JSON (which has no data structures). Obviously, this means breaking backwards-compatibility, but if we're going to fix things, let's do it right. |
@trishankatdatadog we could achieve that by separating roles from delegations as follows (I named the delegations "mappings" as this is all in a field called "delegations". We could rethink the names):
I left out This change is breaking for all existing clients, and so would be much harder to achieve without something like TAP 14, but it does simplify TAP 3 (which is actually included with the |
This is actually a pretty good start, thanks! I have a few reservations (such as how to resolve conflicts between
True, it does have its pros and cons. Hrm. This is something we need to discuss with all major stakeholders (such as AWS, Datadog, Google, Sigstore, Uptane, etc). Aside: is there a way we could get each major stakeholder represented in our monthly community meeting? Maybe something like a steering committee would encourage people to show up. |
Aside: is there a way we could get each major stakeholder represented in
our monthly community meeting? Maybe something like a steering committee
would encourage people to show up.
We need to advertise it better, in part. I missed the last one because I
had some other random thing going on and just missed that this was on my
calendar.
…On Tue, May 3, 2022 at 7:39 PM Trishank Karthik Kuppusamy < ***@***.***> wrote:
@trishankatdatadog <https://github.com/trishankatdatadog> we could
achieve that by separating roles from delegations as follows (I named the
delegations "mappings" as this is all in a field called "delegations". We
could rethink the names):
This is actually a pretty good start, thanks! I have a few reservations
(such as how to resolve conflicts between mappings and succinct_mappings,
but I don't think there's anything we can't fix).
This change is breaking for all existing clients, and so would be much
harder to achieve without something like TAP 14
<https://github.com/theupdateframework/taps/blob/master/tap14.md>, but it
does simplify TAP 3 (which is actually included with the role_threshold
field in my example).
True, it does have its pros and cons. Hrm. This is something we need to
discuss with all major stakeholders (such as AWS, Datadog, Google,
Sigstore, Uptane, etc).
Aside: is there a way we could get each major stakeholder represented in
our monthly community meeting? Maybe something like a steering committee
would encourage people to show up.
—
Reply to this email directly, view it on GitHub
<#132 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAGRODZMHMVBQCPLWE2VVWLVIEGAHANCNFSM4U53WO5Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
TAP 15: Succinct hash bin delegations is available at https://github.com/theupdateframework/taps/blob/master/tap15.md
Pull requests related to TAP 15: #120
Outstanding items for TAP 15:
name
orsuccinct_hash_delegations
, andpath_hash_prefixes
is optional. If the delegations object includes asuccinct_hash_delegations
field then anypath_hash_prefixes
field is ignored.succinct_hash_delegations
andpath_hash_prefixes
name
vsbin_name_prefix
(probably through some experimenting on the PoC) see Add candidate TAP for succinct hash bin delegations #120 (comment)The text was updated successfully, but these errors were encountered: