-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
This is a placeholder for work that will improve connectivity
by leveraging peers that expose HTTP Gateway over WebTransport with certhash.
Not ready yet, but will update this issue as relevant building blocks land in ecosystem.
High level idea
- libp2p supports webtransport (https://github.com/libp2p/specs/tree/master/webtransport)
- why it matters? it allows self-signed certificates in web browser without triggering mixed-content warning, allows for end-to-end encryption without having to get TLS cert from a CA (makes IPFS node deployment way way easier)
- webtransport listener is enabled by default in Kubo, which is ~80% of IPFS nodes
- libp2p wants to expose HTTP support over arbitrary transports (incl. webtransport)
- just like we reuse HTTP client from Chromium to fetch blocks over plain HTTP(S), we could also ook into reusing WebTransport implementation to fetch blocks [over HTTP over [lipbp2p connection [over WebTransport]]]
- when ipfs-chrome is unable to fetch CID from a gateway, it could do lookup over
/routing/v1endpoint (https://specs.ipfs.tech/routing/http-routing-v1/, https://github.com/protocol/bifrost-infra/issues/2142) to learn about addresses of peers that speak/webtransport
Open questions
- is this worth it?
- not today, but when we have https://github.com/protocol/bifrost-infra/issues/2142 and add HTTP spec libp2p/specs#508 and it is used for exposing trustless gateway semantics over libp2p
/webtransportconnection it will grow the pie of possible sources of blocks
- not today, but when we have https://github.com/protocol/bifrost-infra/issues/2142 and add HTTP spec libp2p/specs#508 and it is used for exposing trustless gateway semantics over libp2p
- how the client can tell a peer speaks http gateway over /webtransport?
- Document
/httplibp2p/specs#550 and add HTTP spec libp2p/specs#508- TBD: use this for exposing
/ipfs/{cid}block/car in Kubo
- TBD: use this for exposing
- IPIP-425: Signaling Features on HTTP Gateways ipfs/specs#425
- TBD: use this in boxo/gateway
- Document
- what would be the absolute minimum amount of libp2p we would have to reimplement here?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels