===================== Introducer Expiration ===================== Author: zzz Created: 2017-02-05 Thread: http://zzz.i2p/topics/2230 Last updated: 2017-08-09 Status: Closed Target: 0.9.30 Implemented in: 0.9.30 Overview ======== This proposal is about improving the success rate for introductions. See [TRAC-TICKET]. Motivation ========== Introducers expire after a certain time, but that info isn't published in the [RouterInfo]. Routers must currently use heuristics to estimate when an introducer is no longer valid. Design ====== In an SSU [RouterAddress] containing introducers, the publisher may optionally include expiration times for each introducer. Specification ============= iexp{X}={nnnnnnnnnn} X :: The introducer number (0-2) nnnnnnnnnn :: The time in seconds (not ms) since the epoch. Notes ````` * Each expiration must be greater than the publish date of the [RouterInfo], and less than 6 hours after the publish date of the RouterInfo. * Publishing routers and introducers should attempt to keep the introducer valid until expiration, however there is no way for them to guarantee this. * Routers should not use a published introducer after its expiration. * The introducer expirations are in the [RouterAddress] mapping. They are not the (currently unused) 8-byte expiration field in the [RouterAddress]. Example: ``iexp0=1486309470`` Migration ========= No issues. Implementation is optional. Backwards compatibility is assured, as older routers will ignore unknown parameters. References ========== [RouterAddress] http://i2p.net./spec/common-structures#struct-routeraddress [RouterInfo] http://i2p.net./spec/common-structures#struct-routerinfo [TRAC-TICKET] http://trac.i2p2.de/ticket/1352