-
Notifications
You must be signed in to change notification settings - Fork 16
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
Remove feed #104
Remove feed #104
Conversation
@OR13, are you suggesting the existing feed property (tstr) moves to a named property under
Or, are you saying SCITT doesn't have a well known feed property, and consumers need to decide their own name/value pairs within the |
I very much prefered a world in which makers of statements MUST idenfify a feed. Knowing that there is some specific field that consumers and producers are using to co-ordinate the context of their statements lets me, as a TS implementor, organise data much more conveniently. I get this benefit without having to care a lot about exactly what form the feed id has. From my PoV it is just a tuple [DID, feed id]. I don't care that many issuers may make statements about the same feed id. If I understand this change correctly, moving to reg info seems to make its presence optional ? And so I would have to start understanding where all the different issuers chose to make their equivlent of feed id known. It's presense as a MUST does not require a strong opinion re what form it takes. I believe the standard would be much more practical and useful if the field was mandatory but its content were left to applications with some guidance from profiles. |
Feed was previously defined as a string separate from reg info. After this PR is merged you could add feed as a new property of reg info, along with guidance on its use, or leave it unspecified which would essentially be equivalent to what the spec says now. Since the structure of feed is not defined, this PR doesn't impact interoperability. Issuers might prefer to use different expressions of feed in reg info, for example cpe and gtin... what happens if they want to include both? What about all 3 { feed, cpe, purl } ? Removing feed doesn't prevent properties from being added to reg info and as has been discussed at great length, feed isn't the only member of the protected header that transparency services can index on. |
Removing feed from the protected header also makes room for using feed to describe the index exposed by the transparency service without confusing that with the topic identifier the issuer included in reg info. |
Ah, this is where we differ. I see its presence and its definition as 'an opaque statement issuer identifier' as crucial from the perspective of practical applications and interoperability. Without it the context of statements seems entirely arbitrary.
They are welcome to do so, and I can see plenty of places that could be useful. I see that as supplimentary to the basic utility of a feed identifier as a co-ordination context.
Neither does keeping it think ?
I understood the issue with feed was the attempt to make it more structured than an 'opaque issuer defined value'. I see the attempt at adding mandatory structure, possibly even 'strongly recommended' structure as undermining the applicability of the standard.
Ok, great, what do you think is more appropriate here, what am i missing ? |
@OR13 I beg to differ. Feed should not be part of RegInfo The reason I see it this way is:
|
FWI: When I saw 'feed' in the earlier work presented as just a string it struck me as a simple, powerful and practical way to have a base line context for statements. When I got a sense of the efforts to add structure to it I didn't think happy thoughts. I just couldn't see how there could be 'one way'. If it moves the world forward to stop talking about it and leave it out, we can of course work with that. It could always come a long later if it is realy as useful as I think it is. It does seem to mean that trusted service implementations will all be inventing different ways to contextualise statements. Possibly that is actually the right thing, and scitt users should be aware of the specifics of each TS. The presence of feed as 'a string' seemed to offer a really good baseline - as long as it didn't try to be opinionated about structure. |
RegInfo is about feed... because it will be used to order the feed by the ts..the RDF style feed, would look like: feed: { The whole idea of registering something is to be able to come back and see filtered views of what has been registered. Since feed has no structure, it is extraneous to reg info. Perhaps an alternative PR will propose an informative way that the transparency service processes feeds, maybe something like: select * from feeds where feed.id = device.id But the same thing can already be accomplished by indexing on any of the other custom properties the ts registration policy allows. Another alternative would be to make the registration policy normative and require feed to be present. I'm open to other solutions, let's see some PRs :) |
The purpose of the For example:
Without a header that indicates the purpose of the signed statement, there is a confusion attack. For example:
In other words: without a The name |
As other already mention I feel the need to have an identifier that MUST be present to differentiate between different products within the same issuer.
In my understanding your suggestion here is to separate the concept of an identifier, which would be the sub field of the CWT claim and the concept of the feed which would allow more complex references between various statements. If this is the intended behavior, than I agree this could be the way to proceed. |
@sylvanc So according to your definition a Do we need to recommend the same in the Architecture document ? Also the existing Feed definition implied, multiple issuers can use the Feed to identify statements pertaining to an Artifact. We need to clearly define, 1. Purpose 2. Scope 3. Usage examples of Feed before introducing into the specification. Otherwise, it triggers confusion/ambiguity in the Specification. I recommend we Remove Feed from the existing specification, come up with a clear proposal which defines 1.2. & 3. above and then re-introduce the same |
@@ -495,13 +490,14 @@ Might dereference to: | |||
|
|||
### Naming Artifacts | |||
|
|||
Many Issuers issue Signed Statements about different Artifacts under the same DID, so it is important for everyone to be able to immediately recognize by looking at the Envelope of a Signed Statements what Artifact it is referring to. | |||
This information is stored in the Feed header of the Envelope. | |||
Many Issuers issue Signed Statements about different Artifacts under the same issuer identifier, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The existing specification statements here are extremely confusing to me!
I think, we should clearly distinguish the two use cases and describe them individually.
Use Case 1:
An Issuer : X is issuing statements about Multiple products (P, Q, R):
Use Case 2:
Multiple Issuers, X, Y,Z are making statements about the same product P.
We need to have these two cases clearly covered in the specificiation.
No, A signed statement is meaningless without both an issuer |
This resonates with me, as it accomplishes the scenarios entities do today.
This one is less clear. Can we articulate how the above could be used in practice? Trying to correlate across multiple Artifacts (products as noted above) feels like a conflation and complication. Rather than attempt to make a statement about multiple artifacts, why not make the statement on each artifact?
This seems consistent with: Attempt clarification of Feed purpose and differentiate from reg_info #107 If we can ground the designs in the problems we're trying to solve, (the use cases) we might be able to better address a proposal. The thing I'd like to test with this discussion is whether two or more identities can make statements about the same artifact.
As a consumer, ACME Rockets can
ACME Rockets (the consumer) can choose to trust the statements because they trust the independent identities making statements. Which endpoints they query is up to them. They could equally choose to NOT trust Coyote Security, (because who trusts the Coyote?), or because they're not tailored to the unique needs Cosmic Security addresses. In the above case, Is the above usecase one we're trying to solve?
|
That's a great use case. Yes, any |
Fixes #11 |
I'm withdrawing this PR, however I may object to the current text in future published revisions. I look forward to reviewing the next draft. |
This PR highlights how easy it would be to remove feed from the architecture, and notes that feed is redundant to
Reg_Info
which provides more flexibility and is already unbounded in terms of implementation complexity.