Chinese Community / 中国社区 English

Can Rholang eat the Internet?

By Lansea

Process Algebra and Rholang have been out for a long time. Their invention is to solve the combinability and expandability of computing in dynamic environment, although this can be deduced and proved mathematically, however, the abstraction of mathematical theory and the incompatibility with the concept of Turing state machine made many technicians flinch. They were attracted by the vision of new technology, but they were soon driven away by Rholang’s current crude reality. I think this is because there are very few successful examples in the real technology field. People have no confidence in the vision of new technologies. After all, there are many failures of new technologies.

I have always wanted to find a practical example that can convince the public to prove the success of process algebra in reality. Choose and choose, and find that the nearest one to our technicians may be the Internet. Technicians who know a little about the network history all know that the early network, such as telephone network, used the mode of physical line switching, that is, to communicate between the two ends of the network, one line must be exclusive, other people can use this line when they are free. One advantage of this is that the communication quality is good enough, but the cost is high. It cannot be expanded, let alone optimized at low cost. According to this mode, I can’t imagine that everyone of us can watch the live video of anyone on Earth now. The solution is the data packet exchange technology, which is to split the data into groups and reuse the transmission lines. After arriving at the destination, the grouped data packets are recombined into the original data to complete the data exchange. There were many kinds of network protocol competitions, and finally the most open TCPIP became the actual standard network protocol. It was divided into two layers, and the first layer was the IP layer, which was responsible for grouping data by network address, then send the destination address to the next station. Whether the destination can be reached or not is not considered at this level, but is solved at the TCP layer. TCP must ensure that the data arrives at the destination, and combine the correct data in the order of the original data. If an error is found, the sender must resend it. This is a simple two-layer grouping and recombination protocol. The code framework may have only a few thousand lines, However, his success is obvious to all. At present, there is no problem in supporting the interconnection of 7 billion of the world’s population. It is estimated that hundreds of billions of Internet of Things devices will be supported in the future. Even if we go to Mars, it is estimated that human beings cannot do without TCPIP. This is an amazing achievement. If each of us gives a penny to G. Cerf and Robert E. Kahn, the inventors of this agreement, for using TCPIP every day, they will soon become the richest people in the world. This is the huge bonus of low-cost optimization of system scalability brought by grouping combination mode. Let’s take a look at the current www network, which is based on the http protocol, that is, the network implementation of the process algebra. All the resource URLs correspond to the Name of the process algebra. Every time we access the network, we send data asynchronously to a Name(url address), and then calculate the process in the server to obtain the returned result. This combinable calculus system of process algebra and TCPIP protocol together make today’s Internet.

From this network perspective, let’s take a look at the Turing state machine system, which is very similar to the earliest wire exchange network, and is limited by the large amount of states tangled with each other that are difficult to decompose, it cannot effectively perform group switching computing and cannot be scaled and optimized at low cost.

Let’s take a look at Rholang. Rho operators define Name and Process, so that large blocks of complex calculations can be split into a set of operators. Any set is regarded as a Process in the system, these processes can be sent to Name, and then combined with the Process corresponding to this Name to generate a new Process according to the rules. This Process is repeated and endless, forming a world of Rholang’s calculation, compared with the Internet TCPIP protocol, the Rho calculus subgroup is the IP layer of Rholang, while the ladl allocation law ensures that the group combination obtains the definite result, and the analogy is TCP layer. If TCPIP has proved to have achieved the scalable Internet now, then we can naturally infer that Rholang can achieve the scalable computing system, which is sufficient to meet the computing needs of this planet or the entire solar system.

Further, what is the role of the Internet? The internet allows us to cooperate with each other at a lower cost. In the computer world, low-cost cooperation is low-cost calculation. Many years ago, some people shouted that the Internet was the big slogan of computers, as we all know, the biggest bottleneck of computing today is not computing power, but IO, among which the network is the biggest IO bottleneck, at present, many network applications have developed dedicated application network hardware due to the network bottleneck of TCPIP, which directly uses the hardware to send application data, skipping the TCPIP layer and eliminating the burden on TCPIP, for example, many http switches and video stream switches are now being applied on a large scale. Similarly, in the world of Rholang calculation, if the network becomes the biggest bottleneck in computing, then you can consider directly using hardware to connect computing resources, directly using hardware to send the Process packet to the Name address on the network, then Rholang will eat up the current Internet, and the old internet will disappear, creating a new calculation system, the Internet is a computer slogan that has become a reality. Maybe we are all witnesses of this day. Let’s start to try Rholang, in case something is done.