monero-site/knowledge-base/moneropedia/garlic-routing.md
anonimal b26760eafe
Moneropedia: update/finish initial Tunnel entry
Also, add two new "terms" entries to Encryption and Garlic-Routing

Referencing:
 - monero-project/kovri#256
 - monero-project/monero-site#155
2016-10-19 09:59:36 +00:00

2.2 KiB

layout entry tags terms summary
moneropedia Garlic Routing
kovri
Garlic-Routing
Garlic-Encryption
Routing technology as implemented in Kovri

The Basics

The term Garlic Routing has a diverse history of varying interpretations.

As it currently stands, Monero defines Garlic Routing as the method in which @Kovri and @I2P create a @message-based anonymous overlay network of internet peers. The @layered-encryption of Garlic Routing is similar to the @layered-encryption of Onion Routing.

History

In written form, the term Garlic Routing can be seen as early as June of 2000 in Roger Dingledine's Free Haven Master's thesis (Section 8.1.1) as derived from the term Onion Routing.

As recent as October of 2016, #tor-dev has offered insight into the creation of the term Garlic Routing:

Nick Mathewson:

[I think that there was some attempt to come up with a plant whose structure resembled the 'leaky-pipe' topology of tor, but I don't believe we ever settled on one.]

Roger Dingledine:

during the free haven brainstorming, there was a moment where we described a routing mechanism, and somebody said "garlic routing!", and everybody laughed. so we for sure thought we had invented the name, at the time.

Note: permission to use the aforementioned quotes were granted by Nick Mathewson and Roger Dingledine

In-depth Information

In technical terms, for @Kovri and @I2P, Garlic Routing translates to any/all of the following:

  • @Layered-Encryption (like Onion Routing)
  • Bundling multiple @messages together (garlic cloves)
  • ElGamal/AES @encryption

Note: though Tor uses layered @encryption, Tor does not use ElGamal and is not message-based.

Notes

  • In terms of Onion/Garlic Routing, another way to envision layered @encryption is by replacing the onion/garlic with a Matryoshka doll
  • For more technical details on Garlic Routing, read the @Java-I2P entry on Garlic Routing