Vitalik Buterin was inspired to create Ethereum after seeing a character he loved in World of Warcraft being modified by Blizzard. Ethereum still represents the original intention of this industry: how to effectively break the fear brought by centralized servers in high-concurrency applications that are popular with the public (for example, games).

As he said in his latest speech at Token2049, there are two wrong paths: either sacrificing practicality for decentralization, or forever becoming an ecosystem that only attracts itself. However, "we are not doomed to be trapped in these two options, but can balance decentralization and practicality."

To achieve this goal, the entire blockchain industry has undergone tremendous changes in the past decade, from single blockchain to modular blockchain, from layer 1 blockchain to layer 2 blockchain. The transaction TPS and transaction volume have continued to increase, but we have not seen real mass adoption to this day, which has also left many practitioners confused.

Take rollup as an example. The current rollup tends to achieve extreme compatibility in the existing applications of blockchain and exponential expansion of transaction volume in terms of capacity. This seems to have taken into account both decentralization and practicality. However, with the infrastructure in place, many L2s have become "ghost dens". Why is this?

One of the reasons is that the current rollup infrastructure assumes that the ease of use and attractiveness of the current blockchain is enough to attract applications and developers of the same magnitude as Web2. However, in Github's 2023 development language rankings, the popularity of languages ​​such as Solidity, Cairo, and Move cannot even make it to the top two pages of the rankings. For users, there have been many discussions in the industry about the fragmentation between various L2s, the long waiting time for final confirmation, and the centralization problems caused by actual committee governance, so there is no need to elaborate.

We can imagine such a scenario: if developers can use the language they are most familiar with, whether it is Rust, C++ or Go, and produce the games they want according to the development logic they are familiar with without having to master additional cryptographic knowledge, users can control their own game assets and data without spending extra time and money, and no longer have to worry about a centralized demon in a distant place destroying their years of leveling results with just a flick of the finger, or wantonly modifying the rules. So, how will developers and users choose?

This is not a pipe dream, this is actually what the protagonist of this article, Delphinus Lab, and many other zkVM projects are doing.

Why do we need zkVM?

“The future of Ethereum will be multi-chain - a multi-chain vision similar to Cosmos, but with data availability and shared security provided by Layer 1.

——Vitalik Buterin”

The future world belongs to multiple chains. Just like every company has an official website today, every company/project will have a dedicated rollup connected to Ethereum (or other decentralized value networks) in the future. The user's operations on this project will be packaged and sent to the Ethereum main network for verification. The dedicated rollup is responsible for providing the best experience for users, while the Ethereum network is responsible for overall security and core data storage, as well as the most critical settlement services.

But as we said before, the current multi-chain vision is not friendly to the world's most mainstream developers and applications. Data shows that the number of Web3 developers accounts for about 0.07% of all developers in the world, and there are even fewer Solidity developers, not to mention niche languages ​​such as Cairo and Move. This means that whether it is to compete for the various types of zkEVMs that have existing Solidity developer resources, or to find another way to let developers master a new language with a very steep learning curve, it is not a way to make incremental progress in a short period of time. From another perspective, a large number of applications developed using traditional Web2 languages ​​cannot be natively run on the blockchain as blockchain native contracts, which blocks an important path for the expansion of on-chain applications.

We need a scaling solution that has the best of both worlds: one that is compatible with traditional development environments and can trustlessly integrate applications into the current blockchain ecosystem.

Currently, ZK technology is the most recognized mainstream method for integrating trustless programs into blockchains. However, many people still have the impression that ZK is "difficult to learn" and "difficult to implement". This is because in the early days of ZK technology, people generally used ZK-specific languages ​​such as Cairo and Noire to develop ZK applications, but these languages ​​are actually more difficult for programmers to use flexibly than blockchain development languages ​​such as Solidity.

With the rapid development of ZK technology in recent years, this problem has actually been gradually overcome, and the development of a general-purpose zkVM is no longer an unattainable dream. In 2022, Delphinus Lab released the first open source zkVM that supports WASM, which also marks that Delphinus Lab has taken a key step in solving the layout of trustless application integration - readers can read the paper published by Sinka Gao and several of his colleagues in IEEE entitled <ZAWA: A ZKSNARK WASM Emulator> to learn about the technical details. As the paper says, "...we proposed and implemented the first ZKSNARK Wasm virtual machine that supports the Wasm specification and is capable of generating concise zero-knowledge correctness proofs of execution results. In addition, by providing ZAWA, existing programs that have been compiled to Wasm can meet emerging privacy and trust requirements in cloud computing and edge computing without any modification."

For readers who don’t know what Wasm is, Wasm is a bytecode supported by major web browsers. It provides an effective compilation target for source languages ​​​​such as C, C++ and Rust. They will be compiled into your browser and run at near-native speeds on your CPU. In 2019, it was officially accepted by the W3C World Wide Web Consortium as the fourth new network standard, with strong performance revolution potential.

As for what zkWASM is, we recommend reading the Ultimate Guide to zkWASM by Polygon co-founder Sandeep. In this blog post, Sandeep clearly stated that zkWASM combines the flexibility of traditional programming with privacy-focused zero-knowledge proofs, bringing new use cases to decentralized technology while ensuring strong security, privacy, and interoperability, and has the potential to disrupt the blockchain industry.

Why does Sandeep make such an assertion? First of all, Wasm, as a binary instruction format, was positioned to be portable and high-performance from the beginning, supporting almost all programming languages ​​you can think of, such as C++, Rust, Python, Go, Java, JavaScript, Ruby, Swift, etc. Since almost all web browsers have built-in Wasm interpreters, this means that developers can choose the appropriate language according to their preferences and project requirements to improve development efficiency and code quality. With the addition of ZK, zkWASM is even more powerful. Developers can choose their favorite programming language to write privacy applications without any knowledge of zero-knowledge proofs. It can be said that zkWASM combines security, scalability, interoperability and privacy protection. It not only solves the problems of blockchain and dApp, but also accelerates the implementation of ZK-ML and on-chain ML. It is an ideal "strong combination".

Stay optimistic, but don’t be blind

Due to the rapid progress of zkVM in recent years, some zkVM optimists such as Bobbin Threadbare of Polygon Miden even believe that:

“The best solution under the current circumstances is to build a WASM or RISC-V zkVM, preferably one that supports Rust, Go, C++, and even Solidity. If there is such a universal zkVM, it will be a dimensionality reduction blow to zkEVM.

However, as the creator of the zkWASM open source virtual machine, Delphinus Lab is more cautious. In its 2022 roadmap, zkWASM is the most important glue in the entire layout, but it is far from enough to support the grand blueprint of "trustless linking web2 applications to web3". The reason is hidden in the following formula:

“Developer willingness = economic benefits * tool maturity * amount of reusable code”

– Sinka Gao, Founder of Delphinus Lab

From the right side of the formula, we know that the real weight that a general-purpose virtual machine can have on the willingness of driver developers is not high. Just as the Linux kernel needs powerful devices, drivers and POSIX APIs to reflect its value, zkVM not only needs to be strong itself, but also needs to leverage mature platforms, rich community codes and mature economic effects to achieve a positive cycle of business and technology.

If readers have a better understanding of zkVM, they will find that in addition to Delphinus Lab's zkWASM, there are many first-class teams and solutions active in this field, such as RISC-ZERO, Succint's SP1, Valida, Nexus (2.0 uses Jolt), etc. The main competitive indicator of these virtual machines is the number of instructions that can be proved per unit time. For example, the performance data of RISC-ZERO in 2024 is that it takes 10-12s to prove every million RiscV instructions on GPU 4090. At the same time, Delphinus Lab is also making continuous efforts to optimize the performance of zkWASM. At present, zkWASM can already support 64-bit instruction sets. It takes 15 seconds to prove 1 million instructions on GPU 4090, consuming 64G memory.

2024 Electric Capital ZK Market Map: Core Infrastructure

But, does performance determine everything? We can go back to the ranking list of development languages ​​on Github over the years. JavaScript, Python, and Java, which dominate the top three, are precisely the scripting languages ​​with the lowest performance.

Performance is only an "enabling" indicator of digital infrastructure, not a determining factor, and it cannot be alienated into the ultimate goal, falling into an arms race that is out of touch with the usage scenario. Our original intention has always been to have more incremental killer applications. If we predict that the "enabling" problem will eventually be solved, the engineering and hardware optimization of the performance of the ZK backend (stark, gkr, jolt, KZG + folding, etc.) will eventually move towards Moore's Law. So what is left on the right side of the equation except performance?

As Munger said, we have to fish where there are many fish. For the mass adoption of web3, this "place with many fish" will be the browser. At this stage, we cannot assert which zkVM will win, or whether there will be a hundred flowers blooming, but Delphinuslab's view is that Web3 adoption will still start with mini-programs, and browsers are the heavyweight birthplace of mini-programs: whether it is the first browser version of Chatgpt, various CMS platforms such as shoplify and wordpress are first available on browsers, or browsers are important carriers of Web3 wallets. The Web is actually the only truly universal platform that can access applications on any device. In addition, Web applications are constantly evolving, from the once simple search and email functions to now hosting games, video editing, music production, and so on.

WASM is binary code made for browsers. Some researchers compare WASM to a magic engine that can run the Web instantly anywhere and whenever you need it, with just one click, without downloading or installing. zkWASM inherits this advantage, and users can use these applications in the browser like ordinary applications, without the need for any special hardware or software to run these applications.

Only when there are scenarios and users can there be economic benefits. zkWASM aims to solve the problem of countless small and medium-sized Web2 applications wanting to enter the Web3 world. Compared with traditional Java Script, WASM has the ability to run efficiently on browsers, which will open up the possibility of bringing many other applications to browser terminals, and zkWASM will further bring these applications into the Web3 world, becoming a true entry point for large-scale adoption of Web3.

Delphinus Lab Roadmap

An open and co-built ecological landscape

“I hope we can become the Chainlink in this field. Users don’t need to be aware of our existence, but with our help, customers can build their own technology stack that seamlessly grafts from Web2 to Web3.

——Sinka Gao, founder of Delphinus Lab”

When technology moves from the laboratory to the market, it is not enough to just talk about technology. The engineering capabilities that turn technology into usable products and the strategic approach to the ecosystem will determine the success or failure of the technology to a greater extent.

Delphinus Lab has been committed to serving small and medium-sized customers wholeheartedly since the beginning. In its cooperation with Blade Games, Delphinus Labs not only helped Blade Games introduce zkWASM for verification of its tower defense game, but also worked together to develop the industry's first solution for developing verifiable games directly from Unity. Game development can use the familiar C# instead of Solidity, Rust or Cairo, and there is no need to spend time and effort trying to unify the rendering and animation of the Unity engine with the solidity/cairo game logic code based on Mud/dojo.

Using this collaborative development solution as the engine, Blade Games and multiple game studios have developed a number of verifiable full-chain games such as Dune Factory, Craftpunk, and 0xPioneer, the top strategy game on the Scroll chain that is currently undergoing Beta testing. Blade Games has become the industry's first infrastructure provider to use the modular ZK technology stack to build a fully on-chain game engine.

The same is true for the cooperation with MineMatrix. The industry has been suffering from the fact that most of the airdrop benefits are taken away by robots, while real users often gain little. Based on zkWASM technology, MineMatrix has developed a digital game template that allows users to prove that they are real people and receive airdrops by solving interesting NP-difficult problems without revealing their identity information, making fair distribution truly fair. This template is completely flexible and open. Projects can adjust the storyline, modify the game mechanism, or integrate NFT according to their own style or needs. This mechanism based on zkWASM can provide customers with out-of-the-box solutions at any time.

This has always been the positioning of Delphinus Lab. In addition to completing the mission of bringing Web2 developers into Web3 to build verifiable applications, it is more important to establish a good positioning of ecosystem empowerment. "I hope that customers who cooperate with us can have their own technology stack with our assistance, rather than turning us into a technical reliance of customers." Sinka Gao said.

In contrast, many other players in this industry have concentrated their clients on the industry's top projects, but they are likely to fall into the common misunderstanding of traditional 2B service companies, namely "big companies, small projects", just like countless financial IT companies list large state-owned banks as their cooperative clients, but may only help transform their internal OA systems; on the other hand, in the process of cooperation with small and medium-sized customers, they are too all-inclusive and only output packaged solutions, and small and medium-sized customers cannot grow in their capabilities in the process.

Sharing capabilities is one part, and sharing benefits is another part that is more difficult to achieve. The relationship between Delphinus Lab and the validator is a win-win cooperation, not a simple supplier-customer relationship. Take the three-party cooperation between Delphinus Lab, zkCross and Gevolut Network as an example. On the intuitive platform ZKCross Playground, developers can write code online, compile it into zkWasm-compatible bytecode, sign it with their own private key, and then upload it to the ZKCross node. The node will handle the remaining tasks, such as proof storage, and then store the transaction and proof in the DA layer of the modular blockchain (such as Avail), and forward the proof generation to Gevolut Network.

In this process, anyone can run a node and share the verification income, as well as potential airdrop incentives in the future. Since June this year, Delphinus Lab has opened node operation rights to third parties. Anyone interested in becoming a zkWASM external node can join and obtain a 3% income incentive during the testing period.

There are many similar mutually beneficial collaborations, such as the joint release of the zkGo compiler with ETH Storage and Hyper Protocol, which is the first in the industry to compile regular Go code into ZK protocol-compatible Wasm code; cooperation with Pi Squared to integrate zkWASM proofs with its universal settlement layer (USL); and cooperation with the open source development tool Spin to help Spin users build and run verifiable applications using zkWASM.

Delphinus Lab will also stand in the perspective of each participant in the industry and think about how to make each link obtain reasonable benefits in the value chain to promote the healthy development of the industry. Taking the game industry as an example, in the previously published article "Dilemma and Solution of Web3 Games", they contributed such thinking, building an application rollup chain through mini-rollup SDK, providing a one-click lending platform in it, and solving the problem of difficulty in recharging game users in the early stage by lending game internal tokens to users, and effectively acting as a native cross-chain bridge for game assets in circulation, so that part of the value of game derivative transactions can be obtained by the game itself.

At this stage, Web3 entrepreneurs need to consider not how to divide the limited pie, but how to make the pie bigger together. Only when the gate is large enough and the road is smooth enough, large-scale developers and users will be able to enter. With fresh water from the source, Web3 will not fall into the vicious circle of self-enclosure and the confusion of crypto nihilism.

Many people believe that the current crypto cycle is a virtual cycle, and the market has become a game of ups and downs that is a vassal of the US stock market. But in fact, real foundation-level innovation is bursting out on the edge where public opinion does not pay attention. Vitalik said, "We are not in the early stages of the cryptocurrency industry, but in the early stages of cryptocurrency's real usability." The real builders of this industry should also have the confidence to predict that the market will eventually return to the "application cycle" with real income, real monopoly, and real use cases. As Sinka hopes, in the next five years, zkWASM can prove itself to be a project that can be economically cyclical, helping Web2 applications that want to enter Web3 to kick the finishing touch and become an important part of driving the industry's flywheel.