Verification Layer
Anyone can run a verification node to ensure that the MEMO protocol runs in a decentralized and secure manner. We believe that the more verification nodes there are, the more secure the MEMO protocol is. The tasks that the verification node needs to complete include: verifying the TEE authentication result, verifying the DA proof, and verifying the zero-knowledge proof. MEMO's DA proof also supports on-chain verification.
TEE authentication result verification
In the computing layer, after the TEE node completes the calculation, the TEE node needs to publish the calculation result and the TEE authentication result to the chain together, and the calculation result is valid only after the verification node subscribes to the on-chain proof and verifies the on-chain proof.
DA proof
In the data storage layer, when the user submits data to Meeda's storage node, the Meeda storage node needs to regularly generate data availability proofs and aggregate them and publish them to the chain. Meeda adopts an optimistic proof mechanism. Only when the verification node finds that the availability proof generated by the storage node is incorrect, the verification node will challenge the storage node and require it to generate further proofs, and finally the validity of the proof will be verified by the on-chain contract.
Zero-Knowledge Proof
MEMO uses the zk-SNARK Plonk protocol and combines it with KZG (Kate Polynomial Commitment) as a verification mechanism. It also introduces additional randomness in Ethereum's trusted setup, further improving the security and flexibility of the system.
By adding additional randomness to Ethereum's trusted setup, MEMO's verification mechanism effectively reduces the potential trust assumption risk in a single trusted setup. Even if some parameters in the original trusted setup are leaked, the additional randomness provides additional protection.
Plonk itself is a general and efficient zk-SNARK protocol that supports fewer validators and faster proof generation. Combined with KZG, the performance of zero-knowledge proofs can be further optimized, with more advantages in the use of storage and computing resources.
The versatility of Plonk allows MEMO to support complex computing requirements in various data layers without having to rebuild the proof mechanism for each specific scenario. The KZG commitment scheme provides more efficient polynomial commitment verification, which is particularly suitable for large decentralized data systems.
By introducing the zk-SNARK Plonk protocol and KZG as a verification mechanism and adding additional randomness to the Ethereum trusted setup, MEMO improves the security, efficiency and decentralization of the system. This not only optimizes the verification process of the data layer, but also provides efficient and secure infrastructure support for a wider range of decentralized applications.
Last updated