ZK circuit: Implemented inNoirpowered by Aztec- Smart Contract: Implemented in Solidity (Framework: Foundry)
- Blockchain:
StoryProtocol
(NOTE: Still in progress to implement the smart contracts and deploy on the Story Protocol)
-
This is the package of
Zero-Knowledge(ZK) circuits in Noir for the privacy-preservingIntellectual Property (IP), which is expected to work with the Story Protocol. -
This package is consist of the following two type of ZK circuits:
Confidential Licensing Agreements(circuit-for-confidential-licensing-agreements)Selective DisclosureinDerivative Works(circuit-for-derivative-works)
-
Example use case: Two parties can enter into a IP licensing agreement with sensitive terms without disclosing the sentitive terms (conditions).
-
Specification:
- The license terms are encoded off-chain.
- A ZKP (Zero-Knowledge Proof) can prove the agreement without revealing the sensitive conditions (e.g., jurisdiction, duration).
- In the Story Protocol, it is stored as an
off-chainterms to be included inurifield of thePILTermsstruct (which define anon-chainterms). - The ZK circuit for the
Confidential Licensing Agreementswill generate a ZKP of theoff-chainterms (aoff-chain termsproof). - Then, the
off-chain termsproof will be used to prove it without revealing the sensitive conditions under theoff-chainterms.
- In the Story Protocol, it is stored as an
-
Benefit: Enables enforcement of licensing conditions while preserving confidentiality.
-
Example use case:
- A creator of the derivative work can get allowance without revealing the full
derivative work's content. - While a creator of the original IP can check the derivatives of their work under specific conditions without checking the full
derivative work's content.
- A creator of the derivative work can get allowance without revealing the full
-
Specification:
-
The original IP Asset includes
metadata, which is called theIPA Metadata Standardand the permissible derivative conditions are specified. -
Once a creator of the derivative work will request to generate a ZKP (Zero-Knowledge Proof), the ZK circuit will generate a ZKP of their derivative work (derivative work proof). Then, it would be verified whether their derivative work meets these conditions or not without revealing the full
derivative work's content. -
Once the verification for a derivative work proof is successful, their derivative work is registered as a new derivative work of the original IP Asset.
-
-
Benefit: Facilitates controlled collaboration and expansion of creative works.
- Test of the ZK circuit for the
Confidential License Agreement(circuit-for-confidential-licensing-agreements):
cd circuits/circuit-for-confidential-licensing-agreements
sh circuit_test- Test of the ZK circuit for the
Derivative Works(circuit-for-derivative-works):
cd circuits/circuit-for-derivative-works
sh circuit_test- IN PROGRESS
- DEMO Video:
- Currently, this DEMO Video is only for the test of the ZK circuits: https://vimeo.com/1093559312/111c453f4c
- ZK-Kit:
- Story Protocol:
- IPA Metadata Standard: https://docs.story.foundation/concepts/ip-asset/ipa-metadata-standard
- On-chain term (
PILTermsstruct): https://docs.story.foundation/concepts/programmable-ip-license/pil-terms#on-chain-terms - Off-chain terms to be included in
urifield: https://docs.story.foundation/concepts/programmable-ip-license/pil-terms#off-chain-terms-to-be-included-in-uri-field - Story Protocol - Boilerplate: https://github.com/storyprotocol/story-protocol-boilerplate/tree/main