zkJSON
Arweave | Ethereum Demo
You can directly query any Arweave stored JSON from Ethereum smart contracts with a zkJSON proof.
Find One on Explorer
Get Arweave Tx & JSON
How it works?
We could simply prove an arbitrary JSON with zkJSON on Ethereum, but there needs to be logic to validate existence of Arweave transactions. For this demo, we use a simple centralized validator to check an Arweave gateway and sign the poseidon hash of the encoded JSON. Once you have the signature, you can query any data field in that JSON with the Ethereum smart contract. The ethereum contract (Polygon Mumbai) checks the zkJSON proof and the validator's signature.
However, for real use cases, we can use a decentralized validator such as Lit protocol's PKP and Lit Action to do the same. WeaveDB also has a zkDB and zkRollup mechanisms to build hyper-scalable decentralized databases.
We could also remove the validator signature check from the smart contract and zk-proof the signature with another circuit. This will make the onchain computation lighter and simpler, but the offchain circuit computation heaviour and more complex.
These optimizations are out of scope for this simple demo.
Go Check the Litepaper