Volt Capital Partner: Why ZK State Channels are the Best Scaling Solution for On-Chain Multiplayer Games?
Written by: Mohamed Fouda
Compiled by: Deep Tide TechFlow
For on-chain games, Rollup's horizontal scalability is very suitable for single-player games. But for multiplayer games, zk state channels are a better scaling option. So, what are zk state channels?
State channels are not a new concept. In fact, they are one of the earliest scaling solutions for Ethereum. A state channel essentially involves:
- Taking a portion of the on-chain state;
- Continuously changing this state off-chain;
- Submitting the final state on-chain when needed.
Clearly, this concept is an extension of the Bitcoin Lightning Network design, which is essentially a payment channel.
However, without zero-knowledge proofs, state channels do not make much sense. Without zero-knowledge proofs, all signatures authorizing state changes (off-chain) must subsequently be verified on-chain. This does not provide significant cost reductions compared to on-chain transactions.
Zero-knowledge proofs easily solve this problem. State channel participants simply generate a proof (off-chain) that demonstrates all their interactions and signatures are valid. This proof is cheap to verify on-chain, greatly saving costs.
So, how does this relate to scaling on-chain multiplayer games?
Many multiplayer games, such as poker, are competition-based, meaning a group of players creates a game and competes within it, altering each player's assets based on the game results.
For such games, you need a shared layer to store everyone's assets.
The details of each game process are not as important as the final results (changing asset balances). Additionally, players cannot participate in multiple games simultaneously.
This makes these games ideal candidates for zk state channels. Once the game starts, the states of the participating players are locked on the Rollup. During the game, players generate ZKPs to prove the validity of their actions. ZKPs are recursively built on top of previous ZKPs, and so on.
When the game ends, only the final ZKP and the related state changes are submitted to the Rollup for settlement. Since intermediate transactions are not processed on the Rollup, this achieves up to 100 times scalability.
This approach also applies to non-turn-based games, such as "Among Us." However, in this case, an entity is needed to act as a "temporary" sorter, sorting channel transactions and generating intermediate recursive ZKPs. I refer to this scenario as "temporary L3."
The main challenge of the zk state channel approach is the activity requirement of channel participants. Offline players may force the remaining players to continue executing on the Rollup. Thus, this forces other players to incur higher costs.
The potential of this method is enormous, and many teams are working in this direction, including Ontropy, Paima Studios, and Cartridge.