This table lists often-used terminology when discussing I2P and cryptography.
I2P: Invisible Internet Project: a project meant to
provide an anonymity layer, so user can communicate anonymously using a
range of applications.
Router: The core I2P software, which routes encrypted
packets on the I2P network. All routers by default participate in the
network, which both helps the network and provides cover traffic for any
clients or servers connecting to the I2P network through the
router.
RouterIdentity: A collection of information required to
communicate directly with a router, such as its IP address and listening
port, public signing and encryption keys etc.
Tunnel: An anonymous communication pathway between a
client or server and the I2P network. Tunnels are unidirectional, so any
one client or server must have at least two Tunnels - one for inbound
traffic and one for outbound traffic.
Destination: The cryptographic identity of a tunnel.
These are the identities of clients and servers within the I2P network,
and are analogous to the IP:port of a computer on the normal
internet.
LeaseSet: A collection of information required to
communicate with a client or server at a particular Destination, such as
the gateways of the inbound Tunnels for that
Destination.
Decentralization: Network architecture that avoids
reliance on a single party. Encompasses peer-to-peer, blockchain,
federated, and distributed technologies that involve many individual
users.
Peer-to-Peer (p2p): Peers make a portion of their
resources, such as processing power, disk storage or network bandwidth,
directly available to other network participants, without the need for
central coordination by servers or stable hosts. Popularized by
BitTorrent, Napster, and Bitcoin.
Federated: Federation allows separate deployments of a
service to communicate with each other through a common protocol, for
instance a mail server run by Google federates with a mail server run by
Microsoft when you send an email from @gmail.com to @hotmail.com.
Each deployment may host multiple users.
Blockchain: A distributed ledger that can record
transactions between multiple parties efficiently and in a verifiable
and permanent way.
Distributed systems: Academic topic within the
discipline of Computer Science which is concerned with the design of
computer systems that consist of many individual computers connected
over a network. Peer-to-peer networks and blockchains are examples of
distributed systems architectures.
TCP/UDP: The two foundational transport protocols used
on the Internet. Common protocols used to send data between two
computers.
DHT: Distributed hash table, used in some projects to
connect peers to each other by storing information in the form of
key-value pairs in a distributed manner.
IP address: A number of a computer or network which is
unique and thus can be used to address it.
WebRTC: A protocol standard for establishing connections
in a web browser where data passes directly between
users.
Hash: A number, usually displayed as a string of letters
and numbers. It can serve as a ‘fingerprint’ uniquely identifying
data.
UX: User experience, the overall experience of a person
using a product or a service, especially in terms of how easy it is to
use.