Writing about an IP Marketplace

Words
2984
Reading
14 min
Listen
Play
9y

Trying to figure out whether it's possible to rent IP addresses to somebody else.

Like, what do I still remember about networks? Ok, we have the IP address and network mask. Network mask splits IP address into two parts: subnet address and host address. So Ok, first, how does it matter?

If I'm inside the subnet, my subnet address should be the same as that of the other hosts in the subnet. In this case, when I address some computer in the subnet what happens? According to the local routing table, my computer determines that computer I try to access is in the same subnet (workstations, physically connected via the Ethernet network), so it'll send a broadcast Ethernet request, asking who has that IP address. What comes back is the ARP address of network adapter of that machine I seek. So after that my computer will form the subsequent packets with that ARP address as a point of destination, and broadcast them throughout the cables. (Taking into consideration smart switches those packets, in fact, will be translated only to a cable of the target machine) The target machine will respond to my ARP address, also included in the packet.

If I address the host whose subnet address is different than the local subnet, the packet will get routed. In the simplest situation, it'll get sent to the default gateway. The procedure is similar: I ask the network ARP address of default gateway (which naturally is in the same physical network as my machine), then after learning its ARP address, I send packets with its ARP address and IP address of the target computer somewhere on the Internet.

Let's assume that my subnet is public. (not behind the NAT) Then the gateway (router) has a routing table, including addresses of the nodes where it needs to send packets with various subnet addresses. For example, if my packet contains IP address of subnet directly connected to the router, it'll direct my request to one of his interfaces physically connected to that network. It will broadcast request of ARP and then conduct the exchange, in which the packets from me will have ARP address replaced by the address of the target workstation and vice versa.

By the way, can several networks be attached to the same cable? Sure, why not. As I understand, the link between the network adapter and ARP address is a formality. For example, I might have several virtual machines (with different IP addresses within the same subnet) on my physical machine, that will use the same network adapter. The source ARP addresses will be different. The thing is that VM uses special kind of driver that allows network adapter to receive packets for several ARP addresses.

So what happens, if my target address doesn't belong to any of the networks directly connected to the router? Then, once again, it will be sent to the default gateway of that router, which is the router communicating with other routers connected to the other networks.

What's interesting, when I form the packet for some remote computer on the Internet, I don't use network mask because I have no idea how that subnet, to which that host belongs, is organized. But all the routers, forwarding that packet somehow understand which part of the address signifies the subnet address. This is defined by IP network classes A, B, C, D. In other words; if my target address is something like 1.4.x.x, it means that 1 is a network and 4.x.x is the address of one of the multiple hosts on that network.

The routing tables of the routers throughout the Internet in some way reflect its topology, which is somewhat of a snowflake. In this way, for example, I can be in the network A.B.x.x and want to address the host in the network A.C.x.x. For example, the first router, processing my packet only works with the subnets in the range A.B.x, so when it sees the packet addressed to the A.C.x it passes that packet to the router higher in this hierarchy, spanning all the networks in the range A.x.x.x. Let's assume, that at this point our packet will go downwards. The top router will consider the part A.C., and determine, to which of the sub-level routers this packet will be directed. In this case the router responsible for all the subnets in the range A.C.x. This router, in turn, will direct the packet to the specific subnet A.C.x. where it will be received by that subnet's gateway (and so on, the way it's described above)

One of the nuances of this system is that the packets go in both directions. But I don't remember whether both paths should necessarily be identical and if there are any mechanisms to ensure that. Theoretically, I can send packets to host A, and they'll travel through the one set of routers. But the packets host A will send in return, can be directed to a totally different set of routers. I don't think it really matters.


Ok, I keep thinking about renting IP addresses. Can it be done using VPN? Ok, let's see, what's VPN essentially? According to the OSI model, IP packet is something like an onion with the multiple layers, wrapped one over another. The top layer contains the physical address of my network adapter. So my adapter sees this onion with his address stamped on the top, catches it, and passes it to the other parts of my network software. They begin to unwrap this onion, getting deeper and deeper inside. On the deepest layers lies the actual application data, for example, a message I receive from somebody.

So, the idea of VPN is that innermost application layer of the onion can be another onion. It goes like this: I have this VPN app on my computer, that talks to the VPN server somewhere far away, and we kinda exchange messages. The thing is, those messages contain a totally different exchange between another host and me on the Internet. The VPN server unwraps the onion I send to him, and inside it finds another onion. (The onion is encrypted, so nobody except VPN server and me can figure out what it actually is) The topmost layer of that second onion contains the address of the actual host I want to communicate to. Also, it contains my "alter-ego" address. The alternative IP I receive from the VPN server. This IP can be somewhere in Cambodia.

At this point, I see it, as if I have two internet connections: One is real - with the IP address assigned to me by my provider. Using this connection, I communicate with the VPN server. The second internet connection is Magic. Because it shows as some IP address located in Cambodia, although, I'm not in Cambodia, so I'm sorta perplexed how it can be. The thing is, the second Magic Internet connection exists within the first real connection like a fetus within a womb. In fact, if somebody traced my Internet traffic, he would see me communicating exclusively with the VPN server. Meanwhile, I normally browse the Internet and do all the usual stuff. So the trick is, that all my internet communication (inner onion) is carefully packaged, encrypted and sent to that VPN server (hidden in the outer onion), which, in turn, unpack it and does all the Internet exchange on my behalf. From that server in Cambodia. The responses are also neatly packed, encrypted, and sent to me, hidden in our private channel, between me and the VPN server.

So the question is: would it be possible through VPN connection, to let somebody on the Internet to use my IP address? I wonder how. First, I need my real address to connect to the VPN server. Ok, I'm connected to the VPN server. In this case, it can use my internet connection to route the Internet requests of that other person to whom I rent my IP. It's like, in this case, I play the role of that server in Cambodia. The VPN server gives me the requests I need to make from my address, I make them, and reroute the responses into VPN connection, through which they eventually go to that guy.

There's one nuance with this scheme. I rent not only my IP address, but, in fact, my whole computer, which has to be constantly turned on, so my Internet connection can be used. Plus, what if I have a shitty Internet connection, or somebody accidentally unplugs the cable?


So, what would be the typical area of application for rented IP addresses? Having a single IP address might be very inconvenient for me, if I, for example, harvest some information from the search engines or other data sources. For example, I might need to do that to gather some statistics necessary for search optimization, or if I compile some dataset, integrating data from different sources. It can be, once again, data necessary for training AI algorithms or for conducting statistical research. Knowing about the proliferation of automated data harvesting systems, scrapers, and bots on the Internet, search engines, and other resources restrict access to their information, for example, by limiting the number of requests I can make in a specific amount of time. In this case, it would be handy to have a pool of IP addresses that I can rotate while making requests. Thus I can circumvent the policies, implemented by those data providers against automated data gathering software. IP pools, in fact, is one of the necessary tools for SEO, and there is an active market, offering bundles of proxies, that can be used in the process of collecting SEO related statistics, like site positions in search results, and the like.

Another reason for using a different IP address can be related to the concerns about privacy and security. Many people use VPNs, so their Internet traffic cannot be directly linked to their persona. It can be reasonable concern for people, trying to avoid censorship, doing some illicit activities, or worried about hacker attacks. Really, as a matter of fact, it's very easy, for example, to conduct a DDoS attack on the IP address, exposed in some public chat, and I witnessed the situations when it had been successfully done. With VPN all the user's traffic looks like it originates from a totally different point; it can be IP address in a different country. To trace this traffic back to its real originator is difficult, so that ensures a certain level of security.

Another problem that can be solved by IP address substitution is regional restrictions. Like, many media providers restrict access to part of their content (or the whole of their content) to the IP addresses that originate from the certain countries and regions. Or they restrict access by IP to everybody, except the users that can be traced to the media content's country of origin. It might be convenient from the point of view of copyright protection, but it's not convenient at all for people who want to get access to the media content.

So the project in question aims to cash in on this demand for IP addresses, proxies, and VPNs and organizes a somewhat open market, where everybody can offer their IP addresses for rent. For example, if I don't use the Internet for some period, I can lend my IP address for this period and earn money. Or if the IT team of some data center or ISP realize that they don't use part of their IP pool, they also can offer those IPs to those who might be interested in renting them. In this way, we'll have a vast bank of available IP addresses that can be used for different purposes, depending on the quality of their Internet connection. It's one of the important factors, since renting my IP, I, in fact, make my Internet connection accessible to other people. If I have a low-quality Internet connection, or, say, I have a habit of turning off my computer now and then, my IP couldn't be considered a good choice for somebody who is going to use it as VPN exit point, and is rather interested in having a stable and reliable Internet connection. At the same time, my IP can be used in a pool of IP addresses, used for automated harvesting of data from the search engines.

There are some technical specs I managed to badger out from the project team. (or maybe I should've read White Paper more carefully) In order to connect each IP lender to the platform, the project will use client-server software, that will create VPN channel between the lender and the platform servers. Through this channel, the platform will route all the requests that are supposed to be made from my IP address. Similarly, the platform clients will use VPN connection to route their requests toward that platform. (eventually, those requests will end up being channeled to the computers of the IP lenders) The platform is planning to use some rating system to grade IP lenders, depending on quality and reliability of their Internet connection. This way, I'll have much lower rating than, say, some IP belonging to the Internet provider or data center. So the client can decide to use the latter for his regular VPN connection and add the former to the rotation pool of IPs he uses for harvesting data.

Ok, it would be redundant to say, that this whole marketplace is based on the blockchain, which generally works well for the systems that need to handle a lot of micropayments.


Ok, I'm in a brutal struggle with the first sentence. Like, when you know everything you are going to write down, but somewhat uncertain about how to start. Like, the first couple of sentences is a punchline, like in a fairy tale "Once upon a time, in a faraway kingdom lived a beautiful princess disguised as a panda," So, here I need to sum up what essentially I'm going to say. At the same time, maybe, I'll develop some method that would make this whole process less time and energy consuming.

Ok, let's break it down. The article is about IP marketplace, so the introductory paragraph is going to explain why we sometimes need more IP than one. It's not that difficult. On the other hand, a couple of the very first sentences are supposed to express this idea in even more condensed form. This is where it gets tricky. For example, if I wrote about flowers, I would start like "Every day we see flowers, without consciously realizing how important this process is for us," Something like that. With IP addresses it's less obvious. How would I express in one sentence this longing of SEO specialists for large, inexpensive IP pools? Initially, I started, like, "IP address is one of the basic fundamental things on the Internet. It uniquely identifies each participant on the network." And so on. It kinda led me nowhere because then I need to gradually swerve to the explanation of why we need more IPs than one, and it's kinda awkward. As if I start writing the introduction once again. Ok, maybe, in this case, it would make sense to start straight from that point about those people who need many IP addresses, to begin with. Like, "For SEO specialists and people harvesting information it's important to have many IP addresses" It sounds clumsy and bad, and I also realize that at this point I try to think simultaneously about the content and how it should be expressed. It's multitasking, and multitasking is hard. So, probably it would make sense to split this task into two: First, I clarify for myself what exact point I'm going to make. Making it about SEO specialists and information harvesting is not good either because then I need to add something about VPNs, privacy, and regional restrictions, which kinda isn't connected to SEO and information harvesting.

At this point, I realize that this first sentence should somehow span all those points (SEO, VPNs, privacy, regional restrictions, crawlers, etc.), and, at the same time, it shouldn't be about any of those things in particular. And it shouldn't be about what IP address is because it's kinda dumb. So, what all those things have in common?

"Sometimes to have one IP address isn't enough."

"Many people need many IP addresses for various purposes."

Ok, I have an idea, I'm going to return to the original punchline.

"IP address is a sequence of numbers that uniquely identifies each computer on the Internet. IP address can be used to track malicious users. Search engines track IP addresses of the visitors and frequency of their requests to reveal and block bots and crawlers. Media companies use IP to restrict access to their content for the users from certain regions. User IP can be used by hackers as a target at which he directs DDoS attack.

There are many scenarios, in which we might think, that we need to use different IP than our own. Like, IP located in a different country, IP traffic from which couldn't be traced back to us, or IP belonging to the system that can withstand hacker attacks."

Ok, it can be the introductory paragraph. Further, I'll start to elaborate on SEO, IP pools, information harvesting, and so on. Also, while I was quickly writing it, I didn't care much about form, so I wouldn't lose track of my thoughts, trying to figure out how exactly each sentence should sound. Now, when I outlined this first paragraph in general, I can ponder, and ruminate, smoke, drink coffee, and think how all this should be phrased, so that it would sound more or less decent. Without the risk of forgetting in the process what I wanted to say to begin with.

Writing about an IP Marketplace | Ecency