TEA Project: Substrate-based decentralized cloud computing platform|PW Interviews
TEA Project is a decentralized cloud computing platform developed based on Substrate. It uses layer 2 network technology to enable applications on the platform to have both the decentralized characteristics of blockchain and the efficient and good user experience of traditional cloud computing.
In this exclusive interview with PolkaWorld, we connected with Kevin Zhang, the founder of TEA Project in Silicon Valley, and chatted with him about TEA’s unique layer 2 architecture, the advantages it brings, and the technical challenges that come with it.
PW: PolkaWorld, a global Polkadot community
Kevin: Kevin Zhang, founder of TEA Project
PW: Can you explain what TEA Project wants to do in a way that anyone can understand? What is your goal?
Kevin: Okay, let’s talk about the environment we are facing now.
Cloud computing applications are now in the dominant position. Including the Wechat that we are currently using, the games we usually play, and various Internet applications that everyone is familiar with, basically all use cloud computing.
The blockchain application is actually non-mainstream. The technology is relatively new and there are still very few things that can be done. However, the market is also very active, with a large number of applications, including DeFi, NFT, and so on.
There are essential differences between these two types of applications. As long as you have used them, you can clearly feel that they are very different. Internet applications have been in development for 20 to 30 years, and they have been very mature, with smooth user experience, high speed, and it seems that there is no problem with it. The threshold for using blockchain applications is quite high. First of all, there are few applications, it is very complicated to use, the speed is very slow, and there are few things you can actually do with them.
The essential cause of the difference actually comes from the decentralization of the blockchain, which is both an advantage and a disadvantage. Because if you accept centralization, the cloud computing experience is actually good enough. Whether it’s China’s Alibaba Cloud, Tencent Cloud, Baidu Cloud, or the United States’ Amazon, Google, and Microsoft’s cloud computing, it has been developed for 20 to 30 years. It is very mature, but its only problem is centralization. The problem of centralization does not need to be unfolded, right? It means that you are controlled by a centralized institution as a user. For example, Apple has the right to remove your app.
On the other hand, blockchain, its biggest advantage is decentralization, and its consensus mechanism is not controlled by anyone, which is the biggest advantage. At the same time, this has also produced its biggest shortcoming. In order to achieve decentralization, its consensus mechanism is very complicated. This has brought huge costs: for example, the consensus speed is slow, the amount of transactions that can be done is small, the interface is not friendly, and it’s complicated to use.
User experience and decentralization seem to be irreconcilable contradictions. What we want to do is to use a certain method to achieve an experience close to our current use of cloud computing applications under the premise of ensuring decentralization. Is there any way we can combine the benefits of the two together?
So our goal is to create a platform. One is to make cloud computing decentralized. The second is to add richness to blockchain applications and improve the user experience of blockchain applications to a level close to that of cloud computing applications.
With such a platform, many applications that are difficult for users to access on the blockchain can use this new platform, making it no different from cloud computing. At the same time, it can also decentralize these Internet products that everyone likes to use and are accustomed to using so that it will not cause problems such as monopoly and data theft.
PW: How does TEA Project implement such a platform so that it can combine the benefits of cloud computing and blockchain at the same time?
Kevin: To do this, we use layer 2 technology, and the two layers do different things.
The technology is quite complicated. I will make an analogy to help everyone understand. Suppose the three people here belong to an important security organization. We have a more complicated security system. For example, we have to use secret codes when we speak, that is, sometimes we need to work together even when we don’t know each other at all.
So if we want to connect on a certain street, because we don’t know each other, we must first check the secret code. For example, when I say “the king of heaven covers the earth tiger”, you say to “the river demon in Pagoda Town”. We couldn’t believe each other until the code is confirmed. Even if the code is right, I might wonder if you might have been instigated or you could be a double agent, so I have to keep a hand when I transmit the signal to you. In short, that makes simple things become very complicated. This is the current blockchain situation. Software transmission must be guaranteed even though some nodes are untrustworthy and controlled by hackers, so there must be a very complicated protocol to ensure that.
But if the three of us are all sitting in the safe room of our organization’s headquarter, there are security guards at the door, and there is a very strict access system. As long as people can enter this room, they are definitely not enemy spies, and this room is also static isolation so that people outside cannot hear what we are talking about. Under this premise, we don’t need to confirm codes anymore, we can discuss issues quickly, and we don’t have to worry about each other being a bad person. This is the current situation of cloud computing or the Internet. Everyone believes in the other party because of the central control, our transmission efficiency is very high, and our consensus protocol is very simple.
Now we turn this room into two layers: the environment inside the room is called the second floor; security guards, metal detectors and other things outside the room are called the first layer. So when it becomes two-layer, this matter is very simple.
The first layer is the security guard at the door. He doesn’t have any superb skills. He will check your fingerprints and official documents, and search to see if you have weapons or anything, so as to ensure that everyone who enters the house is trustworthy. As for what we talked about after we came in, it didn’t matter to him, he didn’t understand, and we didn’t want him to hear it. After the second layer comes in, since we are all safe, let’s just do business specifically.
Back to our approach. At the first layer, we still use the standard blockchain consensus protocol BFT, which is Byzantine fault-tolerant. We use Polkadot’s PoA to achieve it, and it is still a consensus system that assumes that the nodes are unreliable. The first layer does not care about the specific business logic of the second layer, nor does it care, it just checks the security certificate you provide, and you can enter the second layer as long as it is qualified. Just like the security check in our example. In this way, you don’t need to have a centralized authority, such as Amazon or Google, as long as you can pass a level of certification.
Then in the second layer, we run the application logic. At this time, the protocol we are running is called the Raft protocol. It is not a consensus protocol of the blockchain industry. It is a common distributed system of the Internet field. It cannot handle Byzantine errors, because this has been processed on the first layer.
By decoupling the responsibilities of the two layers and each taking care of its own business, we can achieve both decentralization and efficient logic processing in this system.
PW: What is the relationship between TEA Project and Polkadot?
Kevin: If we have the ability, we will still choose to participate in the auction slot. But the reason we chose to become a parachain is not to value the shared security of the relay chain, but to achieve interoperability with the entire Polkadot ecosystem.
You may be thinking, why can we not use Polkadot’s relay chain to achieve security, let me explain. We use Substrate to develop a layer 1 chain, and the chain itself is very simple.
Most other chains require the Polkadot slot to provide security, because most of the blockchain logic runs on layer 1. The fundamental difference between us and them is that our layer does not need to do security certification. Because our business logic and users’ money are all stored on layer 2.
The second point is that layer 1 of the chain itself does not have much business and no business data is running on there, so we made it very simple, and the simpler the thing, the more reliable it is. Like in Ethereum, we often hear some news about how much money has been stolen by hackers. Why can the money be stolen by hackers, because it is too complicated and easy to find its errors, and hackers can take advantage of this kind of errors. As for the Bitcoin chain, I have not heard of this kind of hacking yet, because the logic of Bitcoin is very simple, only adding and subtracting, so there is less chance of error.
PW: Why did you choose to develop TEA on Substrate?
Kevin: One reason for choosing Substrate is that it is easy to use, and I won’t say much about it. Another reason is that we are very interested in the Polkadot ecosystem. If we use Substrate to develop and join the Polkadot ecosystem, we can communicate across the chains. We can provide computing services for other Polkadot ecological parachains. This is a very important business model to us.
PW: What is the difference between the Tea Project and Phala, another privacy cloud computing project on Polkadot?
Kevin: First of all, let’s talk about the similarities. We all work on trusted computing and we all use hardware.
The difference is that we use different hardware. They use part of Intel’s CPUs. We don’t make specific requirements for the CPU, and our system can even run with mobile phones.
Because the hardware we use is different, many operating systems and other aspects behind us will be different. First of all, we are a strict 2-layer system. Our mining machine is a trusted environment as a whole. If you use Intel, a part of its CPU is opened to do feasible calculations. In other words, our entire machine is trusted, and Phala is trusted in a small part of the CPU. This is the fundamental difference.
Because of this fundamental difference, we require that the hardware must have a TPM security chip. You can use any CPU, but the security chip must be running. Then we have to run a special operating system. We have a special operating environment and a prohibition function for each hardware port. But Phala doesn’t need it, as long as there is a specific model of Intel CPU, it can basically run.
However, due to the limitation of the processing capacity of the CPU space, what can be done is relatively limited. So according to my understanding, the main thing Phala can do now is to run smart contracts. And we can not only run smart contracts, but the most important thing for us is to do real cloud computing, to run applications such as WeChat and online games we’re using now.
And some small IoT devices, such as Raspberry Pi, mobile phones and other low-power devices, can also run our nodes. This is exactly one of our directions. We hope that our equipment can be very cheap. We are now testing with a Raspberry Pi device of $30, which can be used as a mining machine and can make money.
To sum up, we use the server itself as a node, rather than part of it as a node. This is the biggest difference between us and Phala.
PW: Do you have any technical challenges in developing the TEA platform? For users, will it increase some usage costs?
Kevin: Of course there are technical challenges, but mainly on our development side, users have little perception. From the user’s point of view, using an application on our platform may feel similar to using an Internet application.
The most difficult part is that how the operating system running in the mining machine communicates with it, and how to ensure that it is safe from attack.
In order to achieve these, we have also done a lot of work. Including our own transformation of an operating system, we transformed NixOS, a branch of Linux, into a version we use. This operating system meets our minimalist requirements. We have dismantled it so simply that we can’t do anything else except for being our operating environment. This is our main job.
Then this operating environment is as simple as possible, maybe too simple to imagine. For example, there is no network, no TCP/IP, and no file system in this environment. In the absence of a network and file system, it is actually quite difficult to make it available to users. The technical complexity lies in these places.
Why do we want to do this? Because the system has network access, security cannot be guaranteed, because anyone can write a piece of code, run it here, and send the data outside. With a file system, if one day the machine broke, I threw it away, and was picked up by a hacker. After the hard disk was removed and restored, all the data was here. These are impossible to prevent, so we fundamentally put an end to it.
PW: How long has this project been developed? What stage is it now?
Kevin: It has been developed for two and a half years, and now the goal of the first phase has been completed.
Our project planning is divided into three stages:
The first stage is the miner economy, where miners can earn profits from mining, this stage has been completed;
The second stage is the developer economy. We will shift the focus to developers so that developers can obtain investment and customer support on our platform;
The third stage is the consumer stage, allowing more consumers to use this platform.
This article belongs to the “PolkaWorld Interview Program”, which aims to help more people learn more about new Polka Eco projects. If you also want PolkaWorld to interview you, you can click here for details and application.
PolkaWorld is a Polkadot global community founded in 2019. We have gathered more than 40,000 Polkadot enthusiasts, and have always been committed to popularizing Polkadot knowledge, training Substrate developers, and supporting Polkadot/Kusama ecosystem.
Follow us on Twitter: @polkaworld_org.
Follow us on Youtube: https://www.youtube.com/c/PolkaWorld