"In telecommunications and computer networks, multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium. The aim is to share a scarce resource."
"In cryptography, plaintext usually means unencrypted information pending input into cryptographic algorithms, usually encryption algorithms. This usually refers to data that is transmitted or stored unencrypted ('in clear')."
"A distributed hash table (DHT) is a distributed system that provides a lookup service similar to a hash table: key-value pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key. The main advantage of a DHT is that nodes can be added or removed with minimum work around re-distributing keys. Keys are unique identifiers which map to particular values, which in turn can be anything from addresses, to documents, to arbitrary data. Responsibility for maintaining the mapping from keys to values is distributed among the nodes, in such a way that a change in the set of participants causes a minimal amount of disruption."
"In computing, a firewall is a network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules. A firewall typically establishes a barrier between a trusted network and an untrusted network, such as the Internet."
"Network address translation (NAT) is a method of mapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device. The technique was originally used to avoid the need to assign a new address to every host when a network was moved, or when the upstream Internet service provider was replaced, but could not route the network's address space and now is used to conserve global address spaces on IPv4."
"Public-key cryptography, or asymmetric cryptography, is a cryptographic system that uses pairs of keys. Each pair consists of a public key (which may be known to others) and a private key (which may not be known by anyone except the owner). The generation of such key pairs depends on cryptographic algorithms which are based on mathematical problems termed one-way functions."
"Transport Layer Security (TLS), the successor of the now-deprecated Secure Sockets Layer (SSL), is a cryptographic protocol designed to provide communications security over a computer network."
"The TLS protocol aims primarily to provide privacy and data integrity between two or more communicating computer applications. It runs in the application layer and is itself composed of two layers: the TLS record and the TLS handshake protocols."
"End-to-end encryption (E2EE) is a system of communication where only the communicating users can read the messages. End-to-end encryption is intended to prevent data being read or secretly modified, other than by the true sender and recipient(s). Messages are encrypted by the sender but the third party does not have a means to decrypt them, and stores them encrypted. Recipients retrieve the encrypted data and decrypt it themselves."
"A wireless mesh network (WMN) is a communications network made up of radio nodes organized in a mesh topology. It can also be a form of wireless ad hoc network.A mesh refers to rich interconnection among devices or nodes. Wireless mesh networks often consist of mesh clients, mesh routers and gateways. Mobility of nodes is less frequent. If nodes constantly or frequently move, the mesh spends more time updating routes than delivering data. In a wireless mesh network, topology tends to be more static, so that routes computation can converge and delivery of data to their destinations can occur. Hence, this is a low-mobility centralized form of wireless ad hoc network."
"The Optimized Link State Routing Protocol (OLSR) is an IP routing protocol optimized for mobile ad hoc networks, which can also be used on other wireless ad hoc networks. OLSR is a proactive link-state routing protocol, which uses hello and topology control (TC) messages to discover and then disseminate link state information throughout the mobile ad hoc network. Individual nodes use this topology information to compute next hop destinations for all nodes in the network using shortest hop forwarding paths."
"The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP."
"A datagram is a basic transfer unit associated with a packet-switched network. Datagrams are typically structured in header and payload sections. Datagrams provide a connectionless communication service across a packet-switched network. The delivery, arrival time, and order of arrival of datagrams need not be guaranteed by the network."
“A self-contained, independent entity of data carrying sufficient information to be routed from the source to the destination computer without reliance on earlier exchanges between this source and destination computer and the transporting network.” — RFC 1594
"In computer networking, the User Datagram Protocol (UDP) is one of the core members of the Internet protocol suite. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol (IP) network. Prior communications are not required in order to set up communication channels or data paths."
"UDP uses a simple connectionless communication model with a minimum of protocol mechanisms. UDP provides checksums for data integrity, and port numbers for addressing different functions at the source and destination of the datagram. It has no handshaking dialogues, and thus exposes the user's program to any unreliability of the underlying network."
"Filetopia is a free, multi-platform peer-to-peer file sharing client, and networking tool that allows users to share files, use chat, and send instant messages. Filetopia also features a buddy list. Users can share files in public chat rooms or privately with contacts (by searching or using shared files list). As it is not a centralized system, users must connect to a network made of multiple servers in order to find each other. However all the file transfers, secure chat, etc. are conducted on a peer-to-peer basis. Users can also host their own rooms and share the room's encrypted data with their friends by any means, without the need to connect to the Filetopia network."
"Retroshare is a free and open-source peer-to-peer communication and file sharing app based on a friend-to-friend network built on GNU Privacy Guard (GPG). Optionally, peers may communicate certificates and IP addresses to and from their friends."
"Peer-to-peer direct and anonymous distribution overlay (P2PRIV) was a conceptual anonymous peer-to-peer overlay network introduced at Warsaw University of Technology in 2007. P2PRIV hides an initiator of communications by a parallelization of network nodes receiving or sending user data independently. This concept is contrary to other anonymity networks topologies. The anonymity networks employ a serial communication as a common basis and hide the initiator in a cascade of network nodes forwarding user data consecutively. The main advantage of P2PRIV is viewed as a possibility of providing high-speed anonymous data transfer while anonymous data can be sent directly and independently."
"The Better Approach to Mobile Ad-hoc Networking (B.A.T.M.A.N.) is a routing protocol for multi-hop mobile ad hoc networks which is under development by the German "Freifunk" community and intended to replace the Optimized Link State Routing Protocol (OLSR). B.A.T.M.A.N.'s crucial point is the decentralization of knowledge about the best route through the network — no single node has all the data. This technique eliminates the need to spread information about network changes to every node in the network. The individual node only saves information about the "direction" it received data from and sends its data accordingly. The data gets passed from node to node, and packets get individual, dynamic routing headers."
"Tor works by bouncing connections from your computer to destinations (such as google.com) through a series of intermediate computers, or relays; and back to you in the same way."
Tor network understands these addresses by looking up their corresponding public keys and introduction points from a distributed hash table within the network. It can route data to and from onion services, even those hosted behind firewalls or network address translators (NAT), while preserving the anonymity of both parties. Tor is necessary to access these onion services.
"The Internet Control Message Protocol (ICMP) is a supporting protocol in the Internet protocol suite. It is used by network devices, including routers, to send error messages and operational information indicating success or failure when communicating with another IP address, for example, when an error is indicated when a requested service is not available or that a host or router could not be reached. ICMP differs from transport protocols such as TCP and UDP in that it is not typically used to exchange data between systems, nor is it regularly employed by end-user network applications (with the exception of some diagnostic tools like ping and traceroute)."
"A friend-to-friend (or F2F) computer network is a type of peer-to-peer network in which users only make direct connections with people they know. Passwords or digital signatures can be used for authentication. Unlike other kinds of private P2P, users in a friend-to-friend network cannot find out who else is participating beyond their own circle of friends, so F2F networks can grow in size without compromising their users' anonymity. Retroshare, WASTE, GNUnet, Freenet and OneSwarm are examples of software that can be used to build F2F networks, though RetroShare is the only one of these configured for friend-to-friend operation by default."
Entry/Guard Relay - This is the entry point to the Tor network. Relays are selected to serve as guard relays after being around for a while, as well as having shown to be stable and having high bandwidth.
Middle Relay - Middle relays are exactly that - middle nodes used to transport traffic from the guard relay to the exit relay. This prevents the guard and exit relay from knowing each other.
Exit Relay - These relays are the exit point at the edge of the Tor network. These relays send traffic to the final destination intended by the client.
Two vulnerabilities in the Tor Network are at entry and exit. Entry by user into Tor and exit from Tor at exit node to destination site/peer. Bad guy could download the list of Tor exit nodes then force a destination site to block all traffic from those nodes. Worse, the bad guy could download the list of entry nodes and force them to block a user, thereby blocking all sites by blocking entry into Tor Network at source. The current solution to these issues is BRIDGES.
BRIDGES are simply unpublished frequently changing ENTRY RELAYS
Users on censored networks use BRIDGES to access the Tor network bypassing targeted restrictions
All users accessing Tor receive a small list of bridges (via BridgeDB) to connect to the rest of Tor Network unrestricted
Relays: DA Consensus
NINE of the DA nodes maintain the master list of active relays, while ONE DA (Tonga) maintains the list of bridges
Status of all the Tor relays is maintained in a living document called the CONSENSUS
Relays: DA CONSENSUS
DA update CONSENSUS every hour by a vote:
Each DA compiles a list of all known relays
Each DA then computes the other needed data, such as relay flags, bandwidth weights, and more
DA then submits this data as a “status-vote” to all the other authorities
DA next will go get any other votes it is missing from the other authorities
All the parameters, relay information, etc. from each vote are combined or computed and then signed by each DA
Signature is then posted to the other DA’s
There should be a majority of the DA’s that agree on the data, validating the new consensus
TEN authoritative nodes on Tor are run by long-time trusted volunteers distributed around the world. These nodes are Directory Authorities (DA) and they maintain the status of the entire Tor network. DA nodes distribute an ever-updated master list of all known active relays.
How do we know we can actually trust relays? We don’t have to! Tor is designed to put as little trust in relays as possible. Onion Routing is used as a secure (encrypted) way of routing what you send and receive - and what a destination peer/site receives and sends - using layers of encryption that protect both of you AND the relays in between:
You encrypt the original sent data so only exit relay can decrypt
Your "1" encrypted data is then encrypted again so only middle relay(s) can decrypt
The "2" encrypted data of "1" is encrypted again so only guard relay can decrypt"
"In cryptography, perfect forward secrecy (PFS) is a feature of specific key agreement protocols that gives assurances that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. For HTTPS, the long-term secret is typically the private key of the server. Forward secrecy protects past sessions against future compromises of keys or passwords. By generating a unique session key for every session a user initiates, the compromise of a single session key will not affect any data other than that exchanged in the specific session protected by that particular key."
"A fundamental problem in distributed computing and multi-agent systems is to achieve overall system reliability in the presence of a number of faulty processes. This often requires coordinating processes to reach consensus, or agree on some data value that is needed during computation. Example applications of consensus include agreeing on what transactions to commit to a database in which order, state machine replication, and atomic broadcasts. Real-world applications often requiring consensus include cloud computing, clock synchronization, PageRank, opinion formation, smart power grids, state estimation, control of UAVs (and multiple robots/agents in general), load balancing, blockchain, etc."