-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
IPNS record lifetime #231
Comments
Expiration is an important topic to consider I have always like future stamped UUIDs. If you use type three you can have source pair uuid and map it back into the merkledag. |
We should also being tacking version numbers onto our ipns entries. |
@whyrusleeping version numbers? or commit chain? I'm a bigger fan of commit chain-- arbitrary histories. (to do easy sequence finding -- as @Domanic wants -- the commit could have a |
Yeah, i meant commit chain but said version numbers. |
There's a few things going on in an ipns record, all of which should interop as much as possible:
|
I think validity needs to be moved into the dht record level, and not be managed in ipns. So we could say:
Which in my opinion very much simplifies the management of dht records. |
As discussed in irc, the dht record is opaque. The dht cannot understand why something is valid, because valid means different things to different client systems. |
(noting) (a) the dht gets a map[type]ValidatorFunc (b) records carry a type (key prefix makes a ton of sense. note this means all ipfs provide records should now be "/ipfs/", which probably makes sense, except for the 2.x blowup in size), (c) upon receiving a record, dht runs it by corresponding ValidatorFunc |
Replay attacks on the name system are a problem. One possible way to protect against them is with record lifetimes/expirations. The time here is meant to be used at the discretion of the publisher and resolver; it is a hint from the publisher meant to assist the resolver pair in deciding whether to trust the validity of a record. Network time protocol, for example, may be agreed upon by sets of parties out of band (ntp, Bitcoin, atomic clocks, etc).
Examples:
somehash
+ 10The text was updated successfully, but these errors were encountered: