Technical Rationales
Ryoshi Validium
Ryoshi is built with Polygon CDK, an advanced open-source framework designed for the rapid deployment of zk-powered layer 2 (L2) blockchains on Ethereum
Ryoshi adopts the validium mode, and implements a dedicated committee of sequencers, to maintain seamless interoperability with all other Polygon chains, delivering a high performance L2 scaling solution.
Since transaction data is not stored on the Ethereum mainnet, it is both executed and stored off-chain, which can lead to a massive enhancement in scalability. In the premise of ensuring security, Validium can reduce L1 gas storage costs, hence reducing transaction costs for users on L2, with a prominent enhancement in user privacy and user experience.
Similar to zero-knowledge rollups (ZK-rollups), Ryoshi confirms off-chain transactions on the Ethereum network. This approach prevents incorrect state changes and boosts the security of the Ryoshi network.
zkValidium vs. zkRollups
zkValidiums differ from Rollups and Sidechains because they only share the proof of validity, which confirms the results of the transactions with Ethereum, not the actual transaction data of the executed transactions. Here is how it operates: a verifier smart contract is deployed on Ethereum, and validium submits proof of validity to this contract. These proofs are zero knowledge in nature and contain transaction outcomes but not the specific transaction data.
The verifier smart contract assesses the validity of the proof. If it is found to be invalid, any batch submitted by the validium is rejected and not stored on Ethereum.
Consensus Contract
zkEVM.sol is the underlying protocol that guarantees the correctness of state changes through the use of validity proof. To confirm that specific predefined rules have been adhered to for permitting state transitions, the Consensus contract (zkEVM.sol, deployed on Ethereum layer 1) comes into play.
zkEVM.sol is responsible for verifying validity proofs to confirm that each transition has been executed correctly, utilizing zk-SNARK circuits for verification. To make this system work, two key processes are involved: transaction batching and transaction validation. To perform these procedures, Ryoshi involves two types of participants: sequencers and aggregators.
Sequencer: it is responsible for proposing transaction batches to the network, essentially grouping transaction requests and adding them to the zkEVM.sol.
Aggregator: it is responsible for reviewing the transaction batches' validity and providing the necessary proofs of validity. Any permissionless aggregator can submit these proofs to demonstrate the accuracy of the state transition computation.
Last updated