Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Tor
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Package registry
Container registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Hiro
Tor
Commits
4518e7e6
Commit
4518e7e6
authored
20 years ago
by
Geoff Goodell
Browse files
Options
Downloads
Patches
Plain Diff
added section for Tor+Blossom desiderata
svn:r3585
parent
8abf1c61
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/dir-spec.txt
+68
-0
68 additions, 0 deletions
doc/dir-spec.txt
with
68 additions
and
0 deletions
doc/dir-spec.txt
+
68
−
0
View file @
4518e7e6
...
...
@@ -169,6 +169,8 @@ Piece three: (optional)
5. Regarding "Blossom: an unstructured overlay network for end-to-end
connectivity."
SECTION 5A: Blossom Architecture
Define "transport domain" as a set of nodes who can all mutually name each
other directly, using transport-layer (e.g. HOST:PORT) naming.
...
...
@@ -284,4 +286,70 @@ surprises to the client. All routers should be careful to define their exit
policies carefully, with the knowledge that clients from potentially any
transport domain could access that which is not explicitly restricted.
SECTION 5B: Tor+Blossom desiderata
The interests of Blossom would be best served by implementing the following
modifications to Tor:
I. CLIENTS
Objectives: Ultimately, we want Blossom requests to be indistinguishable in
format from non-Blossom .exit requests, i.e. hostname.forwarder.exit.
Proposal: Blossom is a process that manipulates Tor, so it should be
implemented as a Tor Control, extending control-spec.txt. For each request,
Tor uses the control protocol to ask the Blossom process whether it (the
Blossom process) wants to build or assign a particular circuit to service the
request. Blossom chooses one of the following responses:
a. (Blossom exit node, circuit cached) "use this circuit" -- provides a circuit
ID
b. (Blossom exit node, circuit not cached) "I will build one" -- provides a
list of routers, gets a circuit ID.
c. (Regular (non-Blossom) exit node) "No, do it yourself" -- provides nothing.
II. ROUTERS
Objectives: Blossom routers are like regular Tor routers, except that Blossom
routers need these features as well:
a. the ability to open peresistent connections,
b. the ability to know whwther they should use a persistent connection to reach
another router,
c. the ability to define a set of routers to which to establish persistent
connections, as readable from a configuration file, and
d. the ability to tell a directory server that (1) it is Blossom-enabled, and
(2) it can be reached by some set of routers to which it explicitly establishes
persistent connections.
Proposal: Address the aforementioned points as follows.
a. need the ability to open a specified number of persistent connections. This
can be accomplished by implementing a generic should_i_close_this_conn() and
which_conns_should_i_try_to_open_even_when_i_dont_need_them().
b. The Tor design already supports this, but we must be sure to establish the
persistent connections explicitly, re-establish them when they are lost, and
not close them unnecessarily.
c. We must modify Tor to add a new configuration option, allowing either (a)
explicit specification of the set of routers to which to establish persistent
connections, or (b) a random choice of some nodes to which to establish
persistent connections, chosen from the set of nodes local to the transport
domain of the specified directory server (for example).
III. DIRSERVERS
Objective: Blossom directory servers may provide extra
fields in their network-status pages. Blossom directory servers may
communicate with Blossom clients/routers in nonstandard ways in addition to
standard ways.
Proposal: Geoff should be able to implement a directory server according to the
Tor specification (dir-spec.txt).
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment