Garlic routing is a variant of onion routing that encrypts multiple messages together to make it more difficult for attackers to perform traffic analysis and to increase the speed of data transfer.
Michael Freedman defined "garlic routing" as an extension of onion routing, in which multiple messages are bundled together. He called each message a "bulb", whereas I2P calls them "garlic cloves". All messages, each with its own delivery instructions, are exposed at the endpoint. This allows the efficient bundling of an onion routing "reply block" with the original message.
Garlic routing is one of the key factors that distinguishes I2P from Tor and other privacy or encryption networks. The name comes from the garlic plant, whose structure this protocol resembles. "Garlic routing" was first coined by Michael J. Freedman in Roger Dingledine's Free Haven Master's thesis Section 8.1.1 (June 2000), as derived from Onion Routing. However garlic routing implementation in I2P differs from the design proposed by Freedman. The key difference is that garlic routing has unidirectional tunnels. Conversely, mainstream alternatives like Tor and Mixmaster use bidirectional tunnels.
Garlic Cast - Lightweight and Decentralized Content Sharing
One implementation of the Garlic Routing protocol is shown in the paper, Garlic Cast: Lightweight and Decentralized Anonymous Content Sharing. The idea is to provide a resilient and low latency anonymous content sharing network based on garlic routing. The benefit of this lightweight and decentralized content sharing system that makes it different from the traditional Tor network is that it is designed around secure, fast communication. This is made possible by allowing the garlic cast system to use random walks to find proxies in the overlay network and then use the security-enhanced Information Dispersal Algorithm to deliver content in a secure and fast manner.<ref name=":0" /> Lastly, the garlic cast network is designed to be highly resistant to a wide range of attacks while still providing a high level of anonymity.
List of P2P applications that use garlic routing
- I2P - an anonymizing overlay network which allows applications to run on top of it (open source, written in Java)
- Perfect Dark - a P2P client which relies on a mixnet and distributed datastore to provide anonymity (freeware, written for Windows)