The entire ETH network can be understood as a single computer. This computer is composed of multiple computers running the same virtual machine, and the consensus mechanism ensures that the states of multiple computers are consistent, resulting in lower performance. It belongs to a single-chain system, and by optimizing the consensus and reducing the number of consensus nodes, the TPS performance can be improved. All native applications within the single-chain system need to compete for the computing resources of the consensus nodes, and the TPS of native applications in the single-chain system is lower than the TPS of the single-chain system itself.
Starknet can also be understood as a single computer. This computer can run a virtual machine (zkVM) on a single computer. Through mathematical proofs, it ensures that the computer does not cheat, eliminating the impact of consensus on performance. The TPS of zkVM is theoretically higher than that of the single-chain system, but similarly, the TPS of native applications within Zkrollup is lower than that of zkVM itself.
Thoughts?#
As a web3 application, can web3 applications only rely on a single computer for computing resources?
Currently, in web2 internet, there are many applications within a single computer, divided into two categories. The first category includes applications like calculators and drawing software, which consume the computing resources of the computer itself. The second category includes platform applications like QQ, WeChat, and online games, where most of the computing resources are not provided by the current computer itself, but by the application provider (or cloud service provider). The computing power of platform applications can exceed the computing power of the computer itself.
Web3 applications should follow the same principle. There may be many applications within zkVM (Starknet), divided into two categories. The first category is developed based on smart contracts, like UNI and AAVE, which consume the computing resources of zkVM itself. The second category is customized applications, like L3's starkex (users can develop their own customized applications similar to starkex and can share validators), where most of the computing resources required by these applications do not rely on zkVM. Instead, they are provided by the application provider (or zero-knowledge miners), and the application only needs to perform zero-knowledge proofs on zkVM, consuming minimal resources. The TPS of the second category of applications can exceed the TPS of zkVM itself.
The Cairo programming language can be used to develop the first category of applications (Starknet smart contracts, proof generation) as well as the second category of applications (writing provable programs).
The second category of applications has customized functionality, lower computational requirements, shorter proof generation time, higher TPS, and scalability, making it a more promising direction for future web3 applications.