I2P
Encyclopedia
I2P is a mixed-license, free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 and open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 project building an anonymous
Anonymity
Anonymity is derived from the Greek word ἀνωνυμία, anonymia, meaning "without a name" or "namelessness". In colloquial use, anonymity typically refers to the state of an individual's personal identity, or personally identifiable information, being publicly unknown.There are many reasons why a...

 network (or, more accurately, a pseudonymous
Pseudonymity
Pseudonymity is a word derived from pseudonym, meaning 'false name', and anonymity, meaning unknown or undeclared source, describing a state of disguised identity. The pseudonym identifies a holder, that is, one or more human beings who possess but do not disclose their true names...

 overlay network
Overlay network
An overlay network is a computer network which is built on the top of another network. Nodes in the overlay can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network...

).

The network is a simple layer
Layer (object-oriented design)
In object-oriented design, a layer is a group of classes that have the same set of link-time module dependencies to other modules. In other words, a layer is a group of reusable components that are reusable in similar circumstances...

 that applications can use to anonymously and securely send messages to each other. Possible uses include anonymous surfing, chatting, blogging and file transfers.

The application itself is called an I2P router and a computer running I2P is called an I2P node - whereas those, too, are often referred to as routers.

Technical design

I2P is beta software. Developers emphasize that there are likely to be bugs in the software and that there has been insufficient peer review
Peer review
Peer review is a process of self-regulation by a profession or a process of evaluation involving qualified individuals within the relevant field. Peer review methods are employed to maintain standards, improve performance and provide credibility...

 to date. However, they believe the code is now reasonably stable and well-developed, and more exposure can help development of I2P.

The network itself is strictly message-based (like IP
Internet Protocol
The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...

), but there is a library available to allow reliable streaming communication on top of it (similar to TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...

, although from version 0.6 there is a new UDP
User Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...

-based SSU transport). All communication is end-to-end encrypted
Encryption
In cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The result of the process is encrypted information...

 (in total there are four layers of encryption used when sending a message), and even the end points ("destinations") are cryptographic identifiers (essentially a pair of public keys), so that neither sender nor recipient of a message need to reveal their IP address
IP address
An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...

 to the other side or to third-party observers.

Although many of the developers had been a part of the IIP and Freenet
Freenet
Freenet is a decentralized, censorship-resistant distributed data store originally designed by Ian Clarke. According to Clarke, Freenet aims to provide freedom of speech through a peer-to-peer network with strong protection of anonymity; as part of supporting its users' freedom, Freenet is free and...

 communities, there are significant differences between their designs and concepts. IIP was an anonymous centralized IRC
Internet Relay Chat
Internet Relay Chat is a protocol for real-time Internet text messaging or synchronous conferencing. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer, including file...

 server. Freenet is a censorship
Censorship
thumb|[[Book burning]] following the [[1973 Chilean coup d'état|1973 coup]] that installed the [[Military government of Chile |Pinochet regime]] in Chile...

-resistant distributed data store
Distributed data store
A distributed data store is a blurred concept and means either a distributed database where users store their information on a number of nodes, or a network in which a user stores their information on a number of peer network nodes ....

. I2P is an anonymous peer-to-peer
Anonymous P2P
An anonymous P2P communication system is a peer-to-peer distributed application in which the nodes or participants are anonymous or pseudonymous...

 distributed communication layer designed to run any traditional internet service (e.g. Usenet
Usenet
Usenet is a worldwide distributed Internet discussion system. It developed from the general purpose UUCP architecture of the same name.Duke University graduate students Tom Truscott and Jim Ellis conceived the idea in 1979 and it was established in 1980...

, E-mail
E-mail
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...

, IRC
Internet Relay Chat
Internet Relay Chat is a protocol for real-time Internet text messaging or synchronous conferencing. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer, including file...

, file sharing
File sharing
File sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia , documents, or electronic books. It may be implemented through a variety of ways...

, Web hosting and HTTP, Telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

), as well as more traditional distributed applications (e.g. a distributed data store, a web proxy network using Squid, or DNS
Domain name system
The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...

).

Many developers of I2P are known only under pseudonyms
Pseudonymity
Pseudonymity is a word derived from pseudonym, meaning 'false name', and anonymity, meaning unknown or undeclared source, describing a state of disguised identity. The pseudonym identifies a holder, that is, one or more human beings who possess but do not disclose their true names...

. While the previous main developer, jrandom
J. Random Hacker
In computer slang, J. Random Hacker is an arbitrary programmer ."J. Random Hacker" is a popular placeholder name in a number of books and articles in programming. J. Random Hacker even authored a book about ease of malicious hacking, Adventures of a Wi-Fi Pirate. Also, J. Random Hacker was a main...

, is currently on hiatus, others, such as zzz and Complication have continued to lead development efforts, and are assisted by numerous contributors.

Software

Since I2P is an anonymous network layer
Network layer
The network layer is layer 3 of the seven-layer OSI model of computer networking.The network layer is responsible for packet forwarding including routing through intermediate routers, whereas the data link layer is responsible for media access control, flow control and error checking.The network...

, it is designed so other software can use it for anonymous communication. As such there are a variety of tools currently available for I2P or in development.

The I2P router is controlled through the router console which is a web frontend accessed through a web browser.

General networking

  • I2PTunnel is an application embedded into I2P that allows arbitrary TCP/IP applications to communicate over I2P by setting up "tunnels
    Tunneling protocol
    Computer networks use a tunneling protocol when one network protocol encapsulates a different payload protocol...

    " which can be accessed by connecting to pre-determined ports on localhost
    Localhost
    In computer networking, localhost is the standard hostname given to the address of the loopback network interface. The name is also a reserved top-level domain name In computer networking, localhost (meaning this computer) is the standard hostname given to the address of the loopback network...

    .
  • SAM is a protocol which allows a client application written in any language to communicate over I2P, by using a socket-based interface to the I2P router.

File sharing

  • Several programs provide BitTorrent functionality for use within the I2P network. Each relies on the user being able to access the I2P network with a web browser
    Web browser
    A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

     to download the .torrent files. Users cannot connect to non-I2P torrents or peers from within I2P, nor can they connect to I2P torrents or peers from outside I2P. I2PSnark, included in the I2P install package, is a port of the BitTorrent client named Snark. Vuze
    Vuze
    Vuze is a BitTorrent client used to transfer files via the BitTorrent protocol. Vuze is written in Java, and uses the Azureus Engine. In addition to downloading data linked to by .torrent files, Azureus allows users to view, publish and share original DVD and HD quality video content...

    , formerly known as Azureus, is a BitTorrent client
    BitTorrent client
    BitTorrent is a peer-to-peer program developed by Bram Cohen and BitTorrent, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version...

     that includes a plugin for I2P, allowing anonymous swarming through this network. This plugin is still in an early stage of development, however it is already fairly stable. I2P-BT is a BitTorrent client
    BitTorrent client
    BitTorrent is a peer-to-peer program developed by Bram Cohen and BitTorrent, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version...

     for I2P that allows anonymous swarming
    Segmented downloading
    Segmented downloading can be a more efficient way of downloading files from many peers at once. The one single file is downloaded, in parallel, from several distinct sources or uploaders of the file...

     for file sharing
    File sharing
    File sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia , documents, or electronic books. It may be implemented through a variety of ways...

    . This client is a modified version of the original BitTorrent 3.4.2 program which runs on Windows and most dialects of Unix
    Unix
    Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

     in a GUI and command-line environment. It was developed by the individual known as 'duck' on I2P in cooperation with 'smeghead'. It is no longer being actively developed; however, there is a small effort to upgrade the I2P-BT client up to par with the BitTorrent 4.0 release. I2PRufus is an I2P port of the Rufus BitTorrent client. Robert is the most actively maintened I2PRufus fork. (i2p-internal link) And there is "I2P-Transmission".
  • iMule
    IMule
    iMule is a free open source anonymous P2P file sharing software which connects through the anonymous I2P network and the Kad network.- Description :...

     (invisible Mule) is a port of the 'All-Platform' client aMule
    AMule
    aMule is a free peer-to-peer file sharing application that works with the EDonkey network and the Kad Network, offering similar features to eMule and adding others such as GeoIP . It was forked from the xMule source code on August 18, 2003, which itself is a fork of the lMule project, which was the...

     for I2P network. iMule is made for anonymous file sharing
    File sharing
    File sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia , documents, or electronic books. It may be implemented through a variety of ways...

    . In contrast to other eDonkey
    EDonkey network
    The eDonkey network is a decentralized, mostly server-based, peer-to-peer file sharing network best suited to share big files among users, and to provide long term availability of files...

     clients, iMule only uses the Kademlia
    Kademlia
    Kademlia is a distributed hash table for decentralized peer-to-peer computer networks designed by Petar Maymounkov and David Mazières in 2002. It specifies the structure of the network and the exchange of information through node lookups. Kademlia nodes communicate among themselves using UDP. A...

     proceeding to connect trough I2P network, so no servers are needed.
  • I2Phex is a port of the popular Gnutella
    Gnutella
    Gnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...

     client Phex
    Phex
    - External links :* * * * at SourceForge.net* at *...

     to I2P. It is stable and fairly functional.

E-mail

  • I2P has a free pseudonymous e-mail service run by an individual called Postman. The mail transfer servers are pop.mail.i2p (POP3
    Post Office Protocol
    In computing, the Post Office Protocol is an application-layer Internet standard protocol used by local e-mail clients to retrieve e-mail from a remote server over a TCP/IP connection. POP and IMAP are the two most prevalent Internet standard protocols for e-mail retrieval. Virtually all modern...

    ) and smtp.mail.i2p (SMTP
    Simple Mail Transfer Protocol
    Simple Mail Transfer Protocol is an Internet standard for electronic mail transmission across Internet Protocol networks. SMTP was first defined by RFC 821 , and last updated by RFC 5321 which includes the extended SMTP additions, and is the protocol in widespread use today...

    ). Susimail was created to address privacy concerns in using these servers directly using traditional email clients, such as leaking the user's hostname while communicating with the SMTP server. Susimail is a web-based e-mail client intended primarily for use with Postman's mail servers, and is designed with security and anonymity in mind. It is currently included in the default I2P distribution, and can be accessed through the I2P router console web interface. (Note that this is only used to read and send e-mail, not to create or manage your mail.i2p account; the latter must be done at hq.postman.i2p.)
  • I2P-Bote is an end-to-end encrypted, network-internal, fully decentralized (serverless) e-mail system. It supports different identities and does not expose e-mail headers. Currently, it is still alpha software and can only be accessed via its web interface, but it will soon have pop3 support. All bote-mails are automatically end-to-end encrypted and optionally signed and thus authenticated, so that there's no need to set up e-mail encryption apart (though you can do that). I2P-Bote offers additional anonymity by providing a high-latency transport option. As it is decentralized, there is no e-mail server that could link different e-mail identities as communicating with each other (profiling): Even the nodes relaying the mails do not know the sender, and apart from sender and receiver, only the end of the high-latency mail route and the storing nodes will know to whom (which anonymous identity, yet of course not the real world identity) the mail is destined. The original sender can have gone offline long before the mail becomes available on the other side. This adds on the degree of anonymity that can be reached with I2P. For those who do not want high delays: All these settings are user-adjustable, so each user decides on how much anonymity he wants.

Instant messaging

  • I2P-Messenger is a simple Qt-based, serverless, end-to-end-encrypted instant messenger for I2P. No servers can log your conversations, no ISP can log with whom you chat, when, or for how long. As it is serverless, it can make use of I2P's end-to-end encryption, preventing any node between you and your contacts from having access to the plain text. I2P-Messenger can be used for fully anonymous instant communication with persons you don't even know, or, alternatively, to communicate securely and untraceably with friends, family members, or colleagues. Thus, it is also a useful tool against data retention in a surveillance society. In addition to messaging, file transfer is also supported.

Blogging

  • Syndie
    Syndie
    Syndie is an open source cross-platform computer application to syndicate data over a variety of anonymous and non-anonymous computer networks.-Features:...

    is a blog
    Blog
    A blog is a type of website or part of a website supposed to be updated with new content from time to time. Blogs are usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Entries are commonly displayed in...

    ging application for I2P which is also usable through the Tor
    Tor (anonymity network)
    Tor is a system intended to enable online anonymity. Tor client software routes Internet traffic through a worldwide volunteer network of servers in order to conceal a user's location or usage from someone conducting network surveillance or traffic analysis...

     network; it is currently at an alpha release.

Terminology

Eepsite: Eepsites are website
Website
A website, also written as Web site, web site, or simply site, is a collection of related web pages containing images, videos or other digital assets. A website is hosted on at least one web server, accessible via a network such as the Internet or a private local area network through an Internet...

s that are hosted anonymously within the I2P network. Eepsite names end in .i2p, such as ugha.i2p or forum.i2p. EepProxy can locate these sites through the cryptographic identifier keys stored in the hosts.txt file found within the I2P program directory. Typically, I2P is required to access these eepsites.
EepProxy: The EepProxy program handles all communication between the browser and any eepsite. It functions as a proxy server
Proxy server
In computer networks, a proxy server is a server that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server...

 that can be used by any web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

.
.i2p is a pseudo-top-level domain which is only valid within the I2P overlay network
Overlay network
An overlay network is a computer network which is built on the top of another network. Nodes in the overlay can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network...

 scope. .i2p names are resolved by browsers by submitting requests to EepProxy which will resolve names to an I2P peer key and will handle data transfers over the I2P network while remaining transparent to the browser.
Peers: Other machines using I2P that are connected to your machine within the network. Each machine within the network shares the routing and forwarding of encrypted packets.
Tunnels: Every ten minutes, a connection is established between your machine and another peer. Data to and from your machine, along with data for other users, passes through these tunnels, and are forwarded such that the packets eventually reach their final destination.

See also

  • Anonymous P2P
    Anonymous P2P
    An anonymous P2P communication system is a peer-to-peer distributed application in which the nodes or participants are anonymous or pseudonymous...

  • Crypto-anarchism
    Crypto-anarchism
    Crypto-anarchism expounds the use of strong public-key cryptography to bring about privacy and freedom. It was described by Vernor Vinge as a cyberspatial realization of anarchism. Crypto-anarchists aim to create cryptographic software that can be used to evade prosecution and harassment while...

  • Garlic routing
    Garlic routing
    Garlic routing is a variant of onion routing that encrypts multiple messages together to make it more difficult for attackers to perform traffic analysis....

  • OneSwarm
    OneSwarm
    OneSwarm is a privacy-preserving P2P client developed at the University of Washington. Although backward compatible with traditional BitTorrent clients, OneSwarm also includes new features designed to protect user privacy when sharing data among friends through creating a distributed darknet,...

  • Tor
    Tor (anonymity network)
    Tor is a system intended to enable online anonymity. Tor client software routes Internet traffic through a worldwide volunteer network of servers in order to conceal a user's location or usage from someone conducting network surveillance or traffic analysis...

     – another anonymous communication system, primarily used as a network of outproxies to the existing Internet
  • Tahoe Least-Authority Filesystem
    Tahoe Least-Authority Filesystem
    The Tahoe Least-Authority Filesystem is an open source, secure, decentralized, fault-tolerant, peer-to-peer filesystem. It is being used as an online backup system by . It can also serve as a file or web host similar to Freenet, depending on the front-end used to insert and access files in the...

     – I2P version, giving similar functionality to Freenet

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK