104-short-descriptors.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. Long and Short Router Descriptors
  2. Some of the costliest fields in the current directory protocol are ones
  3. that no client actually uses. In particular, the "read-history" and
  4. "write-history" fields are used only by the authorities for monitoring the
  5. status of the network. If we took them out, the size of a compressed list
  6. of all the routers would fall by about 60%. (No other disposable field
  7. would save more than 2%.)
  8. One possible solution here is that routers should generate and upload a
  9. short-form and long-form descriptor. Only the short-form descriptor should
  10. ever be used by anybody for routing. The long-form descriptor should be
  11. used only for analytics and other tools. (If we allowed people to route with
  12. long descriptors, we'd have to ensure that they stayed in sync with the
  13. short ones somehow.) We can ensure that the short descriptors are used by
  14. only recommending those in the network statuses.
  15. Another possible solution would be to drop these fields from descriptors,
  16. and have them uploaded as a part of a separate "bandwidth report" to the
  17. authorities. This could help prevent the mistake of using long descriptors
  18. in the place of short ones.
  19. Thoughts? -NM
  20. Migration:
  21. For long/short descriptors:
  22. * In 0.1.2.x:
  23. * Authorities should accept both, now, and silently drop short
  24. descriptors.
  25. * Routers should upload both once authorities accept them.
  26. * There should be a "long descriptor" url and the current "normal" URL.
  27. Authorities should serve long descriptors from both URLs.
  28. * Once tools that want long descriptors support fetching them from the
  29. "long descriptor" URL:
  30. * Have authorities remember short descriptors, and serve them from the
  31. 'normal' URL.