We all want our data to be stored safely and to be available at all times without any delay and loss. At the same time the data should not be controlled by a person or by a group of people and most importantly should be safe from geo-political disasters, natural disasters, cyber attacks and many more. Hence Uniris Geolocation Patches are designed to obtain an overall balance from the perspective of an individual or a group to the perspective of the entire P2P network. To understand the need you need to understand the problems faced by current blockchains with respect to geo-location
1. Partially Centralized Mining: For example, 70% of Bitcoin Miners are in China and if they plan to take over the Bitcoin network they could easily do so with the 51% attack.
2. Partially Centralized Storage: For example, many blockchains solutions have sharded pool of miners in a few parts of the world which are prone to geo-political risks, disasters risk, cyber attacks and many more.
3. Finally the most important problem, an inability to balance & optimize data in the P2P network.
Geolocation Patches are an efficient and heuristic way of solving the above problems. The Patches are represented with a Patch-ID and are calculated by Geographical Coordinates and Network Coordinates.
Understanding and Calculating the Geolocation Patches:
To ensure the high availability and consistency of the data, the knowledge of the exact location of a node therefore becomes an essential factor, particularly to avoid data loss in the event of natural disasters or geo-political disasters. To achieve this, the network breaks down the coordinates of the nodes into two distinct parts:
– Geographic Coordinates (Calculated from the Public IP addresses)
The contextualization of the geographical coordinates of a node is carried out on the basis of the deduced (GeoIP) or announced coordinates. The coordinates will be renewed automatically and at each change of IP address.
– Network Coordinates (Calculated from Modified Heuristic Algorithm)
The position of a node is calculated from its latency (the minimum time to respond to a transaction being unmodifiable) and its throughput. These are computed globally and daily. This view is used to choose the best replication path. ( This Modified Heuristic Algorithm is inspired by the distribution of stars in the galaxy - link)
To improve confidence in the geographical position of nodes, geolocation coordinates are verified by cross-checking using network coordinates
Both these coordinate calculations together yield the geolocation patches and these form the very basis of the P2P network having a sub-second response and ability to survive for centuries.
The purpose of verifying the Geolocation Coordinates with Network Coordinates is not to fault the nodes (as there are no associated punishments), but to ensure the best distribution in terms of geography and replication availability from qualified data to ensure maximum availability of the data. As shown in the figure above, these network and geographical coordinates are grouped by zones (i.e patches) allowing a simplified calculation for nodes (number of zones, replication trees...). The zones are defined in a multiplet of 12 bits representing a tree.
Patches are used inside mining and storage heuristic algorithms to ensure perfect geographical replication (data availability/security) and also to optimize network requests. During the validation/replication process, the download will be performed from the nearest nodes (from network point of view), thus avoiding transfers that will cross the planet even though the data is already on a nearby node. Thereby optimizing the time and energy consumed by the P2P network for a high TPS and further preparing the network for any kind of risks or attacks like massive natural disasters, geo-political attacks, cyber attacks etc.