Skip to content
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

Support for advertisement chain truncation #25

Open
gammazero opened this issue Oct 10, 2023 · 1 comment
Open

Support for advertisement chain truncation #25

gammazero opened this issue Oct 10, 2023 · 1 comment

Comments

@gammazero
Copy link
Contributor

gammazero commented Oct 10, 2023

If all of the advertisements in the oldest segment of an advertisement chain no longer advertise valid content, then it may be reasonable for the provider to have a way to stop serving those advertisements. The reasons for doing so are:

  • Reduce storage used for old outdated advertisements
  • Prevent indexers from traversing empty end segment of chain

Even if all of the advertisements at the oldest end of the advertisement chain have been deleted by removal ads later in the chain, indexers will still traverse those advertisements looking for non-deleted advertisements. This incurs a chain traversal for each indexer that could be prevented if a chain truncation mechanism were available.

Chain truncation may also be wanted in cases where a lost/corrupt database results in older advertisement data being unavailable and unrecoverable, yet it is not desirable to start an entirely new chain. Indexing will not be able to proceed unless the unavailable end of the chain is understood by indexers to be truncated.

Possible truncation mechanisms:

  • Publish a new advertisement with a new TruncateAt field that specifies where to end traversal of the ad chain.
  • Return NotFound or new Truncated error when fetching advertisement after truncation point.

Requiring a new advertisement that specifies chain truncation is explicit, so cannot happen due to some error condition as interpreting an error can.

@masih
Copy link
Member

masih commented Oct 11, 2023

Off the top of my head, here is a list of things to consider:

  • We should think about security implications of proceeding with ad ingest when the entire ad chain is not retrievable or truncated with some unseen ads.
  • How would this impact retrieval incentives, provider reputation scoring, etc.?
  • How would this impact finality of a federated IPNI network?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants