paint-brush
An In-depth Analysis of Opside's ZK-PoW Algorithmby@lumoz
344 reads
344 reads

An In-depth Analysis of Opside's ZK-PoW Algorithm

by Lumoz (formerly Opside)June 4th, 2023
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

Opside's proposed ZK-PoW algorithm offers the following advantages: A market-driven ZK computing power pricing mechanism, which can be used for scalability (ZK-Rollup) and future applications in AI (ZkML) It provides a massive computing power platform for the upcoming explosion of zkEVM, particularly zkSync era. It offers new mining scenarios for a large number of idle miners.
featured image - An In-depth Analysis of Opside's ZK-PoW Algorithm
Lumoz (formerly Opside) HackerNoon profile picture

Opside's proposed ZK-PoW(Proof-of-Work) algorithm offers the following advantages:

  • A market-driven ZK computing power pricing mechanism, which can be used for scalability (ZK-Rollup) and future applications in AI (ZKML).
  • It provides a massive computing power platform for the upcoming explosion of ZK-Rollup, particularly zkEVM, and offers new mining scenarios for a large number of idle miners.
  • The two-step commit algorithm for Zero-Knowledge Proofs (ZKP) provides a standardized decentralized Prover mechanism for ZK-Rollup.
  • Optimized ZKP computation and submission mechanisms have improved ZKP generation efficiency by 80%.

Why do we need the PoW algorithm of ZK computing power?

Currently, there are multiple ZK-Rollups running on the Ethereum mainnet, including Polygon zkEVM and zkSync era. However, the majority of these ZK-Rollup projects have not implemented a decentralized prover. For example, in the beta mainnet of Polygon zkEVM, trusted aggregators are relied upon for submitting ZKPs, and zkSync era follows a similar approach.

While centralized provers are feasible when the number of ZK-Rollups is small, with the maturation of ZK scalability technologies, especially the gradual implementation of zkEVM in the next one to two years, the number of ZK-Rollups will experience significant growth. In the case of a massive number of ZK-Rollups, centralized provers will pose several problems:

Firstly, the cost of provers is high, and maintaining a centralized prover cluster requires specialized equipment and facilities. Not every ZK-Rollup operator has the capability to maintain such a centralized prover setup. Therefore, we need professional miners to fulfill the computing power demand of the future massive ZK-Rollup ecosystem.

Secondly, if there is only one prover, a single node failure could result in the inability to confirm transactions for the entire ZK-Rollup. We need a decentralized prover mechanism to encourage multiple miners to participate in the computation of a ZKP simultaneously and receive corresponding rewards. Lastly, we require a standardized ZKP optimization algorithm to enhance overall hardware efficiency.

Opside's ZK-PoW Algorithm

As a highly decentralized public blockchain, Ethereum has become congested, and gas fees have become extremely expensive. Many Web3 applications, especially financial derivatives, games, social networks, and others, need to migrate to layer 2 or other public chains. Actually, providing a high-performance and low-gas execution environment alone is not difficult, as some centralized solutions can easily achieve this. The challenge lies in maintaining a high level of decentralization while ensuring high performance and low gas fees.

In Opside's design, each Web3 application can have its dedicated ZK-Rollup and the freedom to choose a base chain. Currently, Opside supports four base chains: Ethereum, Opside, BNB Chain, and Polygon. This means developers can choose to deploy their ZK-Rollup on any of these four public chains. To support the demand for massive hardware resources resulting from a large number of ZK-Rollups, Opside also provides a unified ZKP computing power marketplace, encouraging miners to generate ZKPs for these ZK-Rollups.

Reward Distribution Mechanism for PoW

Opside employs a hybrid consensus of PoS and PoW. The PoS part is based on the consensus improvement of ETH2.0. As a result, Opside will have over 100,000 validators to provide massive data availability while maintaining a high level of decentralization.

During the Pre-Alpha testnet phase, based on the PoW algorithm, each Rollup within an Opside block will submit a sequence according to certain rules. The PoW rewards for the current block are divided among the sequences based on the number of registered Rollup slots and the number of batches included. However, it's possible that certain Rollups may not submit a sequence in some blocks, resulting in lower actual inflation than expected.

Miners are free to choose to participate in the ZKP computation of one or multiple Rollups. In the future, each sequence will be priced differently based on the corresponding ZK-Rollup type, the number of Rollup transactions included, gas usage, and other factors to estimate the workload.

To prevent malicious behavior from Miners, they need to register and stake tokens in a special system contract. Miners are required to stake the corresponding tokens for a Rollup in the system contract to be able to submit ZKPs for that Rollup. The rewards Miners receive for submitting ZKPs will also be distributed based on the proportion of their stakes, thus avoiding malicious behavior of Miners submitting ZKPs multiple times.

For more details, please refer to Opside Tokenomics.

The Two-Step Commit Algorithm for ZKP: Standard Decentralized Prover Mechanism

To encourage multiple miners to simultaneously participate in the computation of a ZKP, Opside proposes a two-step commit ZKP verification mechanism. The PoW reward allocation corresponding to a ZKP is distributed to the submitter, i.e., the miner, of a valid ZKP based on certain rules.

  1. Submit Proofhash: Within a specific time window for a given sequence, multiple miners are allowed to participate in the computation of the zero-knowledge proof. Instead of directly submitting the original proof, each miner calculates the proofhash of (proof / address) and submits it to the contract.
  2. Submit ZKP: After the time window, miners submit the original proof and verify it against the previously submitted proofhash. Miners whose proofs pass the verification process are eligible for PoW rewards, which are distributed proportionally based on the amount they have staked.

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

Optimized ZKP Generation Algorithm: 80% Increase in Miner Efficiency

When a Rollup's smart contract verifies a ZKP, submitting the original proof data can potentially trigger on-chain attacks. To prevent malicious behavior, ZK-Rollups often require additional computational effort to obfuscate the original proof data. One approach is to include an aggregation of the miner's address in the submitted ZKP. Opside's Two-Step Submission Algorithm for ZKPs ingeniously adopts a submit-first-verify-later model, eliminating the need for unnecessary aggregation calculations of the proof and address.

Furthermore, in some open-source zkEVM implementations, ZKP calculations and submissions are performed sequentially. This means that when a ZK-Rollup submits a large number of sequences, miners can not compute multiple ZKPs simultaneously. In Opside, the Two-Step Submission Algorithm enables parallel ZKP computations and sequential submissions, allowing miners to execute multiple ZKP generation tasks concurrently, significantly accelerating the ZKP generation efficiency.

The Opside team has also conducted a series of optimizations for the ZKP recursive aggregation algorithm, maximizing the utilization of cluster resources and further improving the speed of ZKP computations.

In real-world stress testing environments, miners have a cluster of 20 machines consisting of 128-core CPUs and 1TB RAM. The tested transaction rate stabilized at around 27.8 TPS for approximately 40 minutes. Under the same conditions, Opside reduced the average confirmation time of transactions from around 5-6 minutes to approximately 3 minutes, resulting in an approximately 80% increase in ZKP generation efficiency. In the future, as more ZK-Rollups and miners join the ZK computing power market, the efficiency improvements brought by Opside's PoW algorithm will become even more evident.

Summary

Opside has proposed a ZK-PoW algorithm that creatively defines a market-based pricing mechanism for ZK computing power. This computing power market provides a massive platform for the upcoming surge in ZK-Rollups, especially zkEVM, while also offering a new mining scenario for idle miners.

The Two-Step Submission Algorithm for ZKPs provides a standardized decentralized Prover mechanism for ZK-Rollups, encouraging more miners to contribute stable and continuous ZKP computing power. Additionally, the optimized ZKP computation and submission mechanism has improved the efficiency of ZKP generation by 80%.

In the future, Opside's PoW mechanism can easily be expanded to other applications, not only for scalability (ZK-Rollup) but also for AI (ZKML).