Open hugomrdias opened 5 years ago
- Terminology
I think it would be useful to write down what we use right now. When I think about IPNS, names I use:
/ipns/
– ipns namespace
/ipns/bafy...
– ipns root
, ipns (content) path
/ipns/bafy.../images/pic.jpg
– ipns (content) path
bafy...
– libp2p-key-in-cidv1b32
, CID of libp2p-key
(https://github.com/multiformats/multicodec/pull/131)libp2p-key-in-cidv1b32
in the default output of name publish
/images/pic.jpg
– rootless content path
I can move this to another issue if we want, but I'd also like the spec to cover revocation of IPNS keys.
For example, one scheme that's pretty easy to implement is reserving the sequence number MaxUInt64
as indicating that an IPNS record has been revoked. It's basically implied anyway because you cannot publish updates after sequence number MaxUInt64
, however this would embed in the spec that we should return an error and not the data if the record has been revoked. There are also other potential options we could explore if we're interested.
I'd move revocation discussion to a separate one, as we need to figure out its purpose first and how/if it should to have impact on "ipns follow/pinning".
Moved revocation discussion to new issue #219
Some other areas of the IPNS spec that should be cleaned up/formalized:
The IPNS spec currently combines a lot into a single document and leaves some issues ambiguous. The main issues to tackle are:
/ipns/
/ipns/bafy...
/ipns/bafy.../images/pic.jpg
bafy...
/images/pic.jpg
/ipns/
namespace:refs: https://github.com/ipfs/specs/issues/198
/cc @aschmahmann @lidel