Original source: Opside

What is Opside

Opside is a decentralized ZK-RaaS (ZK-Rollup as a Service) platform and a PoW network that supports ZKP (zero-knowledge proof) mining. Opside uses PoS & PoW hybrid consensus to provide Web3 developers with the ability to generate zkEVM application chains with one click. At the same time, the ZKP computing tasks brought by a large number of ZK-Rollups also generate huge computing power requirements, thus providing a meaningful mining scenario for global miners.

In the field of capacity expansion, the concept of L2 is not unfamiliar. However, L2 cannot coordinate various types of hardware resources well, such as data availability, ZKP computing power, packaging nodes, etc. In addition, operating an L2, especially ZK-Rollup, requires high hardware maintenance costs and professional technical thresholds, so many developers are discouraged. In response to these problems, Opside first proposed the concept of ZK-RaaS. Developers can start their own zkEVM chain within one minute without having to master the knowledge of ZK or chain nodes. At the same time, Opside also proposed the concept of ZK-PoW, introducing the role of miners to participate in the maintenance of zkEVM nodes and the calculation of ZKP.

Opside's mission is to make ZK-Rollup more friendly and popular, thereby making it possible for zkEVM-based application chains to be implemented on a large scale.

ZK-Rollup as a Service: For developers, you can deploy your own ZK-Rollup (zkEVM) on multiple chains with one click

Opside ZK-PoW Cloud: For miners, Opside is also a multi-chain PoW protocol that supports ZK mining and generates zero-knowledge proofs for ZK-Rollups on multiple public chains.

ZK-RaaS

ZK-RaaS (ZK-Rollup as a Service) can provide anyone with a one-click ZK-Rollup service.

Opside provides a universal ZK-Rollups launchbase, through which developers can easily deploy different types of ZK-Rollups to different base chains.

Base chain, including Ethereum/Opside chain/BNB chain/Polygon PoS and other public chains.

ZK-Rollup types, including zkSync, Polygon zkEVM, Scroll, StarkNet and other zkEVMs, as well as other types of ZK-Rollups.

On each base chain, Opside deploys a Rollup System Contracts (RSC) to manage the life cycle of the Rollup on that chain, including registration, termination, and exit operations. Developers spend a certain amount of IDE (Opside token) to lease a Rollup slot and own a ZK-Rollup.

The concept of Rollup slot is similar to Polkadot slot or Cosmos application chain, but Cosmos application chain needs to maintain its own consensus layer and cross-chain bridge, which brings great security risks. ZK-Rollup uses ZK technology, which strictly guarantees that Rollup and base chain share the same consensus and data availability layer in a mathematical sense, which is more secure, more decentralized, and has lower maintenance costs.

After a developer leases a Rollup slot, they have an independent operating environment. For example, the developer can own a zkEVM chain independently. The developer has sovereignty over the ZK-Rollup and can customize the rollup economic model, including the choice of gas token. The developer can freely adjust the gas fee, even to 0, so that users do not need to pay any fees.

Developers do not need to bear any hardware costs. All hardware resources, including data availability, sequencer, ZKP computing power, etc., are decentralized provided by the Opside ZK-PoW cloud below.

In addition, native cross-rollup communication can be achieved between ZK-Rollups on the same base chain. Cross-rollup communication is a message communication mechanism. In other words, an address on one rollup can directly call a contract on another rollup. This greatly solves the problem of user asset fragmentation and enhances the composability between applications.

Opside ZK-PoW Cloud

Compared with OP-Rollup, ZK-Rollup has many advantages, including greater security, trustlessness, and faster withdrawals. At the same time, there is also a very big difference in technology, that is, ZK-Rollup requires an additional strong ZKP computing power to support the generation of zero-knowledge proofs.

Multi-chain ZK-PoW mechanism

Opside ZK-PoW Cloud will be deployed on multiple chains, including but not limited to Ethereum, BNB Chain, Polygon PoS, and Opside Chain itself. In Opside's design, developers can deploy ZK-Rollups on the above different base chains. As ZK-Rollup technology matures, hundreds or thousands of ZK-Rollups may be born in the future, which will bring great demand for ZKP computing power. Therefore, we need to incentivize miners to join this ecosystem to contribute. After the transition from Ethereum PoW to PoS, many Ethereum mining machines have lost their application scenarios. In terms of capital scale, the value of mining machines is 12 billion US dollars, and many of them are currently idle. With the large-scale implementation of ZK-Rollup, the generation of ZKP requires a large amount of CPU, GPU, FPGA and other hardware and mining machines to provide computing power.

Opside uses the ZK-PoW mechanism to incentivize miners to provide ZKP computing power, thereby providing complete hardware facilities for ZK-Rollup. This is also one of the core ideas of Opside. All roles, including users, developers, and miners, can benefit from this Opside economic model.

ZKP's two-step submission algorithm: a standard decentralized Prover mechanism

In order to encourage more miners to participate in ZKP computing tasks at the same time, Opside proposed a two-step submission ZKP verification mechanism. The PoW reward share corresponding to a ZKP will be allocated to the submitter of a valid ZKP, that is, the miner, according to certain rules.

1. Submit proofhash: Within a time window, for a certain sequence, multiple miners are allowed to participate in the calculation of zero-knowledge proof. After calculating the proof, each miner does not directly submit the original proof, but calculates the proofhash of (proof/address) and submits the proofhash to the contract.

2. Submit ZKP: After the time window, the miner submits the original proof and verifies it with the previously submitted proofhash. Miners who pass the verification can get PoW rewards, and the reward amount is distributed according to the proportion of the miner's stake.

For more details, please refer to ZKP's Two-Step Submission Algorithm

Optimized ZKP generation algorithm: miner efficiency increased by 80%

When the Rollup smart contract verifies ZKP, if the original proof data is submitted, it may trigger on-chain attacks. In order to prevent malicious attacks, ZK-Rollup often needs to do extra work to hide the original proof data. One solution is that the ZKP submitted by the miner contains the aggregated result of the miner's address. The two-step submission algorithm of ZKP proposed by Opside cleverly adopts the mode of submission first + verification later, and no longer needs to perform similar unnecessary aggregation calculations on proofs and addresses.

In addition, in some open source zkEVMs, the calculation and submission of ZKP are serial. When ZK-Rollup submits a large number of sequences, miners cannot calculate multiple ZKPs at the same time. In Opside, ZKP's two-step submission algorithm implements parallel calculation and serial submission of ZKP, allowing miners to perform multiple ZKP generation tasks at the same time, thereby greatly accelerating the generation efficiency of ZKP.

The Opside team also made a series of optimizations to the ZKP recursive aggregation algorithm, fully improving the utilization of machine resources within the cluster and further improving the calculation speed of ZKP.

In the actual stress test environment, the miner has a cluster of 20 machines consisting of 128 core CPU + 1TB RAM, and the test transaction is stable at 27.8TPS for about 40 minutes. Under the same conditions, Opside reduced the average confirmation time of transactions from about 5-6 minutes to about 3 minutes, and the ZKP generation efficiency increased by about 80%. In the future, with the addition of more ZK-Rollup and miners, the scale of the demand and supply sides of the ZK computing power market will be further expanded, and the efficiency improvement brought by Opside's PoW algorithm will be more obvious.

Opside Chain

As one of the base chains, Opside Chain not only supports Opside ZK-PoW Cloud, but also makes more optimizations for ZK-Rollup. For example, it uses precompiled contracts for ZKP accelerated verification, supports data sharding, and adopts PoS consensus based on ETH 2.0. In the future, it will also support full sharding solutions such as EIP-4844 and DankSharding to reduce the Gas fee of Rollup to a minimum, or even to 0.

Ethereum is now the world's largest decentralized network, with more than 500,000 nodes. These nodes not only provide large-scale decentralization, but also provide massive data availability in the future thanks to data sharding technology.

Opside Chain is inspired by Ethereum, which is one of the reasons why Opside chose to improve on ETH 2.0’s PoS consensus. We expect Opside Chain to have more than 100,000 nodes.

For Rollup, how to make the sequencer more decentralized, rather than having a single node complete the centralized packaging? A good approach is to let the block proposer of the Opside Chain propose the blocks of the Rollup Layer at the same time. For the Rollup Layer, it actually completes the separation of the builder and the proposer: the builder is supported by a P2P network without permission, and the proposer uses the block proposer of the Opside chain, which avoids the availability risks brought by a single node, and also has a certain degree of anti-MEV and anti-censorship.

Therefore, Opside Chain provides a standardized decentralized sequencer mechanism. The block proposer of Opside Chain is also responsible for proposing the blocks of Rollup. Opside Chain allows ZK-Rollup to inherit not only the security of the previous layer, but also the degree of decentralization of the previous layer.

Below is Opside Chain’s PoS & PoW hybrid consensus:

Opside chain

PoS: Opside will adopt the PoS algorithm of Ethereum 2.0 and make necessary improvements to it. Anyone can hold Opside tokens and become a validator. Validators can obtain block rewards and gas fees in the Opside chain.

Rollup layer

PoS (Sequencer): Validator not only proposes Opside chain blocks, but also proposes Rollup layer blocks (i.e. data batches). Therefore, validator is also the sequencer of the rollup in the Rollup layer. Sequencer can earn gas fees from the transaction fees in the Rollup layer transactions.

PoW (Prover): Anyone can become the prover of a rollup in the Rollup layer as long as it has enough computing power to perform ZKP calculations. According to the PoW rules, the prover generates a zk proof based on the Rollup layer blocks submitted by the sequencer.

A ZK-Rollup is like a computer. A computer has two core components, a hard disk and a CPU. The data availability provided by PoS is equivalent to the hard disk, and the computing power provided by PoW is equivalent to the CPU. What Opside Chain needs to do is to find a balance between PoS and PoW, so that each role can fully realize its value and benefit from it, so that the large-scale ZK-Rollups network can have better performance and experience.

Token Supply and Demand

Opside token is called IDE. IDE will be issued in the form of PoS and PoW rewards, corresponding to Validator and Miner respectively. In the Pre-Alpha testnet stage, the block reward ratio of PoS and PoW is temporarily fixed at 1:2. In the future, the ratio of the two will be dynamically adjusted according to the supply and demand of ZKP computing power of the entire network.

PoS

As mentioned above, Opside Chain adopts the PoS consensus based on the ETH 2.0 improvement. To participate as a Validator, users must deposit a certain amount of IDE into the deposit contract and run three separate software: the execution client, the consensus client, and the Validator. These Validators are responsible for checking whether the new blocks propagated through the network are valid, and occasionally create and propagate new blocks themselves. If the Validator behaves dishonestly or lazily, the pledged IDE will be destroyed as collateral.

Under PoS, the block generation speed of Opside Chain is fixed, and the time is divided into slot (12 seconds) and epoch (32 slots). In each slot, a validator is randomly selected as the block proposer. This validator is responsible for creating a new block and sending it to other nodes on the network. Also in each slot, a validator committee is randomly selected, and its vote is used to determine the validity of the proposed block. Please refer to ETH PoS for the specific mechanism.

Opside Chain expects to support EIP-4844 on the Alpha testnet, where Data Availability Sampling (DAS) will be used to ensure that ZK-Rollup provides its transaction data after execution without placing too much pressure on any single node. Each Validator randomly extracts the transaction data provided in the blob to ensure that all data exists. The same technology can also be used to ensure that block producers provide all their data to secure light clients. Similarly, under Proposer-Builder Separation (PBS), only block builders are required to process the entire block - other validators will use data availability sampling for verification.

Opside will differ in some specific parameters, and readers can find the latest values ​​in the code repository.

In general, staking makes it easier for individuals to participate in securing the network and promote decentralization. Validator nodes can be run on ordinary laptops. Some proxy staking pools even allow users to stake without adequate IDE.

ZK-PoW

Based on the ZK-Rollup launchbase provided by Opside, developers can choose to have an exclusive ZK-Rollup on a base chain. In order to support the massive hardware resource requirements brought by a large number of ZK-Rollups, Opside provides a unified ZKP computing power market to encourage miners (also known as provers) to generate ZKP for these ZK-Rollups. This is Opside's ZK-PoW mechanism.

Reward share calculation for a single Rollup sequence

ZK-PoW is a multi-chain protocol, which means that PoW rewards will be issued on various base chains, including Etheruem, Opside Chain, BNB Chain, Polygon PoS. The amount of PoW rewards for each base chain depends on the number of corresponding Rollup slot registrations, ZKP workload, etc.

For each base chain, each Rollup can only submit one sequence in a block (which can contain multiple blocks of the Rollup). Each sequence shares the PoW reward of the current block equally. This means that if 4 Rollups submit sequences in a block of the base chain, the PoW reward is divided into 4 parts, and each sequence receives 1/4 of the block PoW reward. Of course, there may be some blocks where no Rollup submits a sequence, so the actual inflation of PoW may be lower than expected.

In the future, each sequence will be estimated based on the workload of the corresponding ZK-Rollup type, the number of Rollup transactions included, gas usage, etc., so that different sequences can be priced differently.

Prover’s Staking and Penalties

In order to avoid malicious behavior related to provers, provers need to register in a special system contract and stake tokens. Provers can freely choose to participate in the PoW mining of one or more Rollups. Provers need to stake a certain amount of IDE (Opside token) for each Rollup they want to participate in in the system contract before they can submit ZKP for the Rollup. If the current staked amount is less than the threshold, ZKP submission for the Rollup is not allowed. The reward for prover submitting ZKP will also be distributed according to the staked amount ratio, so as to avoid malicious behavior of prover submitting ZKP multiple times.

When a prover exhibits the following behaviors, he will be punished to varying degrees:

If the prover submits an incorrect hash

If no ZKP passes verification, all provers who submitted hashes will be punished

The confiscated Opside tokens will be burned.

For more details and considerations on the two-step commit mechanism of ZKP, please refer to the official documentation. The specific numbers of prover stakes and penalties may change in the future.

Developers lease Rollup slots

Opside has deployed the ZK-PoW protocol on each base chain. Developers can register a Rollup slot with one click through the ZK-Rollup launchbase to launch their own ZK-Rollup. All the hardware resources of the ZK-Rollup are provided by the Opside decentralized network. Developers need to pay the Opside network for the rent of the Rollup slot, which will be burned directly.

In addition to a fixed amount of rent, developers can also provide additional ZKP subsidies for their own ZK-Rollups to incentivize miners to provide computing power.

Readers can find specific rental and subsidy rules and parameters in the official documentation or code repository.

Governance and Development

The functionality and capabilities of the Opside Network will continue to evolve over time, here are a few high-priority examples:

Dynamically adjust the reward distribution ratio between PoS and PoW based on the supply and demand of ZKP computing power across the entire network

Validator’s data sharding and data availability sampling will provide more storage space for the entire Rollup Layer, thereby accommodating more ZK-Rollup ecosystems

The proposer and builder of Rollup are separated, so that the Rollup layer shares the validator of Opside chain as the block proposer, inheriting the decentralization of the previous layer

Optimize miners’ pledge and slash mechanisms to encourage miners to provide continuous and stable ZKP computing power

Application developers subsidize the generation of ZKPs for their Rollup to incentivize miners to provide computing power

· Estimate workload based on ZK-Rollup type, number of Rollup transactions, gas usage, etc., and establish a personalized pricing mechanism for Rollup batches

These improvements will significantly increase Opside's network utility, thereby promoting the long-term development and prosperity of ZK-Rollup as a Service.

After the Opside mainnet launches, an Opside DAO will be established with reasonable processes and mechanisms to jointly decide the future of the network. All parameters and mechanism updates for the Opside mainnet will be determined through the Opside DAO. It is important to emphasize that Opside is a collaborative economy that will continue to evolve over time. Future improvements will be in the form of DAO proposals that explain in detail how these solutions will benefit the long-term interests of the Opside economy and each participant category. As the network grows, it is critical to build an economy that can operate independently and robustly without a lot of tools and subsidies.

This article is contributed by a contributor and does not necessarily represent the views of BlockBeats.