xxx-automatic-node-promotion.txt 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. Filename: xxx-automatic-node-promotion.txt
  2. Title: Automatically promoting Tor clients to nodes
  3. Author: Steven Murdoch
  4. Created: 12-Mar-2010
  5. Status: Draft
  6. Target:
  7. 1. Overview
  8. This proposal describes how Tor clients could determine when they
  9. have sufficient bandwidth capacity and are sufficiently reliable to
  10. become either bridges are Tor servers. When they meet this
  11. criteria, they will automatically promote themselves, based on user
  12. preferences. The proposal also defines the new controller messages
  13. and options which will control this process.
  14. 2. Motivation and history
  15. Tor has a growing user-base and one of the major impediments to the
  16. quality of service offered is the lack of network capacity. This is
  17. particularly the case for bridges, because these are gradually
  18. being blocked, and thus no longer of use to people within some
  19. countries. By automatically promoting Tor clients to bridges, and
  20. perhaps also to full public servers, this proposal aims to solve
  21. these problems.
  22. Only Tor clients which are sufficiently useful should be promoted,
  23. and the process of determining usefulness should be performed
  24. without reporting the existence of the client to the central
  25. authorities. The criteria used for determining usefulness will be
  26. in terms of bandwidth capacity and uptime, but parameters should be
  27. specified in the directory consensus. State stored at the client
  28. should be in no more detail than necessary, to prevent sensitive
  29. information being recorded.
  30. 3. Design
  31. 3.x Opt-in state model
  32. Tor can be in one of five node-promotion states:
  33. - off (O): Currently a client, and will stay as such
  34. - auto (A): Currently a client, but will consider promotion
  35. - bridge (B): Currently a bridge, and will stay as such
  36. - auto-bridge (AB): Currently a bridge, but will consider promotion
  37. - server (S): Currently a public server, and will stay as such
  38. The state can be fully controlled from the configuration file or
  39. controller, but the normal state transitions are as follows:
  40. Any state -> off: User has opted out of node promotion
  41. Off -> any state: Only permitted with user consent
  42. Auto -> auto-bridge: Tor has detected that it is sufficiently
  43. reliable to be a *bridge*
  44. Auto -> bridge: Tor has detected that it is sufficiently reliable
  45. to be a *server*, but the user has chosen to remain a *bridge*
  46. Auto -> server: Tor has detected that it is sufficiently reliable
  47. to be *server*, and will skip being a *bridge*
  48. Auto-bridge -> server: Tor has detected that it is sufficiently
  49. reliable to be a *server*
  50. Note that this model does not support demotion. If this is
  51. desirable, there should be some memory as to whether the previous
  52. state was server, bridge, or auto-bridge. Otherwise the user may be
  53. prompted to become a server, although he has opted to only be a
  54. bridge.
  55. 3.x User interaction policy
  56. There are a variety of options in how to involve the user into the
  57. decision as to whether and when to perform node promotion. The
  58. choice also may be different when Tor is running from Vidalia (and
  59. thus can readily prompt the user for information), and standalone
  60. (where Tor can only log messages, which may or may not be read).
  61. The option requiring minimal user interaction is to automatically
  62. promote nodes according to reliability, and allow the user to opt
  63. out, by changing settings in the configuration file or Vidalia user
  64. interface.
  65. Alternatively, if a user interface is available, Tor could prompt
  66. the user when it detects that a transition is available, and allow
  67. the user to choose which of the available options to select.
  68. Finally, Tor could by default not make any transition, and the user
  69. would need to opt in by stating the maximum level (bridge or
  70. server) to which the node may automatically promote itself.
  71. 3.x New options
  72. 3.x New controller message
  73. 4. Related proposals
  74. 5. Open questions: