Published using Google Docs
Graphnet Pre-Proposal Paper
Updated automatically every 5 minutes

Graphnet: A System for Peer-to-Peer Packet Networking

Tarik Ansari

tarik@graphnet.org

January 4, 2018

PRE-PROPOSAL

Abstract.        ISPs and inter-network peering services function within a system closely following existing power structures and national borders. While it has gotten us quite far with the advent of the Internet, it presents a few weaknesses that especially affect key sections such as last mile delivery. Existing network services possess intrinsic disadvantages such as centralization, inefficient market discovery, cumbersome and limited network access initiation and high entry barriers for market entrants. These characteristics lead to speculative disadvantages where either the service provider can use their dominant position to gouge access pricing or the state can use the centralized nature of the service provider to block unfavorable traffic.

A decentralized approach to packet communications with an open market for interconnexion can not only deliver the promise of widespread mesh networking, but also allow quickly-responding networks that respond to changing factors such as higher demand or network attacks.

I will present the different parts of the problem, what the desired outcomes are, and propose abstract features that can be followed by a technical proposal in order to achieve desired characteristics in a market of untrusted actors.

  1. Premises

Network access is driven by a number of variables which determine its market value; bandwidth, delivery time, reachability of different correspondents, as well as the value of providing these characteristics in a given physical location over a given physical layer. As an illustration, a short communication over a Wi-Fi connection in a busy train station is more valuable to a foreign traveler than a similar communication over a LTE network at the residence of this traveler, who very likely already possesses a local area network connected to the wider Internet.

There is a less defined way and a more defined way to break these variables into fundamentals for a market. The less defined way consists of an access provider setting a price of network access charged in small increments, the user either stay connected if the service is satisfactory, continuing to pay the provider, or disconnect if any of the network transport characteristics are unsatisfactory.

The more defined way consists of charging a price of delivery per-packet to a given correspondent, said price being paid only if the packet is delivered within a given timeframe, or with an amount following a function that decreases over time.

Both these scenarios already have the built-in value of all the presented characteristics, the less defined one more or less corresponding to current infrastructure, except for adding a mechanism of micropayment in short access increment. This mechanism pegs network access initiation against a shorter timescale than subscribing for internet service as well as allows faster price response for dissatisfactory service. It is more readily deployable on existing infrastructure. The defined approach is not only more responsive, but as we will see later, also possesses valuable characteristics that help in verifying transmission for market-setting.

  1. Packet protocol

The packet protocol is a layer-3 OSI protocol which can be extended upon an existing packet protocol (e.g. IPv4, IPv6) via backward-compatible mechanisms.

The destination is responsible for confirming receival of packets through an asynchronous process which eventually gets accounted onto the network consensus, thus confirming the transfer of fees from the sender to the various transit nodes for a given packet.

  1. Spot traffic market

Two strategies exist to determine spot price: one is temptative packet transmission with a price set by the sender, and which can rely on a higher-level protocol for confirmation used as a feedback process to find the transmission price.

The other strategy relies on the transmit node advertising its price to the source, thus allowing an immediate price consensus.

The process is repeated between nodes, each time subtracting transit fees until the packet reach its destination.

Therefore a spot traffic market exists between each two interconnected nodes, with the price set by destination and time constraints requested by the sender.

  1. Mining

Mining is the process which allow the creation of coins, but also helps bootstrap the network. In order to mine coins, a node must transit packets for a sender. This incentivises nodes to offer free (or negative cost) transit until the network is established, as the network gets established, mining rewards go down and access nodes will start charging transit fees, thus incentivising users to obtain coins for network access.

Rewarding miners with coins requires a process allowing a node to prove their transiting of information, as well as a processus to reward coins in term of transit value to avoid nodes fighting for traffic on already well-served paths.

  1. Future traffic market

An important part of establishing a market for interconnectivity is the price discovery of transmission by geographic location and physical layer. Efficient price discovery can speed up investments in the network and help it respond to events. To do this, there must exist a way for those who possess information about the value of access at a local point over a given physical layer to share it with actors who can operate the network in the future, as well as to benefit from sharing this information accurately.

This can be achieved with a futures market. A user can establish the future price by creating and selling a future contract which is fulfilled by providing or outsourcing the spot delivery or incurring a penalty for failing to provide transit.

This requires being able to verify two things in the future: that transit is indeed provided over the contract’s physical layer and at the said location. Transit may eventually be provided in accordance with the contract without finding buyers, the spot transit price effectively becoming zero.

Unlike the spot market which only exists between two nodes, the future market operates publicly. Said market can thus be used to determine mining rewards.

  1. Proof-of-service

Current location technologies can easily be spoofed and thus cannot be relied upon to prove location. Further, there exists a level of detail in providing connectivity which cannot be established with current technology. An example could be providing service in a subway station, a building floor, or even a moving car.

This can be solved through “node triangularisation”. Two, three or more neighbor nodes can verify the presence of the service node by establishing a direct connection over the advertised physical layer, thus proving both location — redefining it as a position within a graph  and physical layer.

The loop is closed by verifying an actual transmission: either a user does buy enough service allowing the future contract to be delivered or exchanged, or the node accepts a zero or negative-fee transmission of null packets from a neighbor node to avoid the contract penalty.

  1. Gateways

Verifying packet receipt with and receiving packets from a final correspondent who is not a node in the system requires introducing the concept of Gateways. Gateways are simply nodes that the user trusts to forward packets they send or receive with correspondants on the wider Internet who cannot pay to transmit packets or account received packets.

Because it is trusted by the user, a Gateway can charge a user for sending a packet to an Internet destination, as well as for forwarding a packet to the user, but there is otherwise no verifiable accounting of packet transmission.

  1. Receipt dropping

A node or Gateway could be colluding with a user by not accounting receipt of packets in order to save the user transmit fees. Nodes can protect against this by eliminating such a neighbor from their connections or assigning it a risk variable which they incorporate in their routing strategy. This would have the effect of both increasing the cost of communicating with such a node and reducing its interconnectivity with the network.

Receipt dropping is therefore indistinguishable from packet dropping, both of which are undesirable for network participants.