Срок истечения интродюсера

Proposal 133
Closed
Author zzz
Created 2017-02-05
Last Updated 2017-08-09
Target Version 0.9.30
Implemented In 0.9.30

Обзор

Это предложение направлено на улучшение успешности введений.

Мотивация

Интродюсеры истекают через определенное время, но эта информация не публикуется в RouterInfo. В настоящее время маршрутизаторы используют эвристики, чтобы оценить, когда интродюсер больше не является действительным.

Проектирование

В SSU RouterAddress, содержащем интродюсеров, издатель может опционально включать сроки истечения для каждого интродюсера.

Спецификация

iexp{X}={nnnnnnnnnn}

X :: Номер интродюсера (0-2)

nnnnnnnnnn :: Время в секундах (не мс) с начала эпохи.

Примечания

  • Каждое истечение должно быть больше даты публикации RouterInfo, и меньше чем 6 часов после даты публикации RouterInfo.

  • Маршрутизаторы-издатели и интродюсеры должны пытаться сохранять интродюсера действительным до истечения срока, однако они не могут гарантировать это.

  • Маршрутизаторы не должны использовать опубликованных интродюсеров после их истечения срока.

  • Истечения интродюсеров находятся в отображении RouterAddress. Они не являются (в настоящий момент неиспользуемым) 8-байтным полем истечения в RouterAddress.

Пример: iexp0=1486309470

Миграция

Нет проблем. Реализация является опциональной. Обратная совместимость обеспечена, так как старые маршрутизаторы будут игнорировать неизвестные параметры.