Skip to content

Conversation

@fforbeck
Copy link
Member

@fforbeck fforbeck commented Nov 11, 2025

Added Validator Proof to be able to validate attestations issued by the upload service when clients attempt to store content/serve delegations.

Related to storacha/project-tracking#592

@fforbeck fforbeck self-assigned this Nov 11, 2025
@fforbeck fforbeck force-pushed the feat/gateway-auth-migration branch from 0d033c5 to 1b798f4 Compare November 13, 2025 14:33
@fforbeck fforbeck changed the title wip fix: handling content-serve delegations Nov 14, 2025
fforbeck and others added 6 commits December 4, 2025 14:42
- use the full signer + did:web as the authority for the server
- do not fail when multiple delegations are stored by content/serve
- pass blocks with each stored delegation when serving
- allow alternate authority on content serve delegations

# Why

- The first issue we're having is attestations must match the authority,
and we were using the signer, as opposed to the identity, so the dids
did not match
- Second, we didn't support storing multiple delegations, which is
problematic cause the `claim` check in the implementation of
access/delegate will fail if you don't also give it the attestation
- Third, we were not passing in attached blocks with the our delegations
- Finally, it's never come up before, but who exactly is the "authority"
on a storing of space/content/serve? Here, my belief is it should be the
upload-service, as it's the ultimate arbiter of whether egress can be
billed. I don't know if the upload service is properly checking each
submitted content serve for validity, but if it is, its authority will
be itself. So I added facilities to use the upload service as the
authority -- of note, the authority does NOT require a private key, so
don't worry we're just storing the upload service pub key in
wrangler.toml
@fforbeck fforbeck force-pushed the feat/gateway-auth-migration branch from 3e71792 to 97236b4 Compare December 8, 2025 12:41
@fforbeck fforbeck marked this pull request as ready for review December 8, 2025 12:44
@fforbeck fforbeck requested a review from alanshaw December 8, 2025 12:44
Copy link
Member

@travis travis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some fairly aesthetic changes, though removing unnecessary logs and comments are both relatively important - approving since they are easy to change now or later

Copy link
Member

@hannahhoward hannahhoward left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM -- suggestions are non blocking. you should remove CONTENT_SERVE_AUTHORITY_PUB_KEY I think though.

@fforbeck fforbeck force-pushed the feat/gateway-auth-migration branch from fa33344 to 8601eb8 Compare December 9, 2025 13:44
@fforbeck fforbeck merged commit 21491b4 into main Dec 9, 2025
1 check passed
@fforbeck fforbeck deleted the feat/gateway-auth-migration branch December 9, 2025 18:54
fforbeck pushed a commit that referenced this pull request Dec 11, 2025
🤖 I have created a release *beep* *boop*
---


##
[2.36.1](v2.36.0...v2.36.1)
(2025-12-09)


### Bug Fixes

* handling content-serve delegations
([#189](#189))
([21491b4](21491b4))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

Successfully merging this pull request may close these issues.

4 participants