-
Notifications
You must be signed in to change notification settings - Fork 232
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
Gateway: response type for fetching signed IPNS records #320
Comments
Would it perhaps be a good idea to generalise this to It wouldn't really be trustless since Peer and Provider records in the DHT aren't signed yet, but, it can still be useful for light clients in it's current state. |
This requires more analysis, I'd like to avoid inventing duplicated ways of fetching record over HTTP, but at the same time, Reframe adds a lot of overhead for light clients. In theory, light clients could use Reframe over HTTP+DAG-JSON endpoint to read these records, and I believe IPNS get will also be supported (it would return signed record). The main drawback of reframe is DAG-JSON response format which introduces a penalty of unnecessary deserialization. At that point it is TBD if we need to invent anything new, or could reuse Reframe. |
Recently learned how messy Reframe impl. is, and how much additional work needs to happen before it is production ready. Even then, the overhead of special DAG-JSON/CBOR schema specific to Reframe for sending opaque bytes with IPNS record makes little sense, especially for IoT devices which will never use non-HTTP transport. At this point, I believe Reframe introduces unacceptable complexity for clients, and there should be a simpler way that is built-into gateway. We need an IPIP that defines a simple IPNS record response type that returns an opaque, signed IPNS record and nothing more. |
I was literally just thinking about how this would be useful to have! |
I have also opened #343 which is intended to be a replacement for Reframe, and thus not specifically tied to gateways. |
Closing given:
|
What
When using cryptographically-verifiable IPNS and not DNSLink, there should be a way for HTTP client to ask Gateway for a raw signed IPNS record, allowing light client to verify it locally (without having to trust gateway).
Why
It is possible to fetch immutable
/ipfs/{cid}
from gateways using CAR and Block response formats, and locally verify that hashes match (trustless retrieval). It is not possible to do the same for/ipns/
atm.We need this for IPFS Client work happening in Browsers & Platforms group (cc @autonome @meandavejustice @markg85)
TODO
Accept: application/vnd.ipfs.ipns-record
HTTP header?format=ipns-record
The text was updated successfully, but these errors were encountered: