# Potential ZK Research Topic # 2
## Research proposal #2
## Sandbox
- Inspired by the ZK-Sharding docs written by Billy
- To narrow down the scope and make it be suitable for being a PhD-level research topic
- Our target is `An Efficient Inter-Blockchain Asset Exchange Mechanism Based on IOTA`
- Limitations
- No SCs is considered to simplify the topic
- Only systematic flow is proposed
- Only a few necessary operations need to be considered, and we assume they can be executed in L1
- We assume in the future those ops can be included in the SCs
- Which operations need to be considered are included in the research topic
- We can based on pre-defined assumptions to simplify the integration of the operations and the L1
- Assume the ops can be executed in L1
- Why we need the ZK
- Privacy
- To shield the transaction
- e.g., Zcash
- Scalibility
- O(log2(n)) proof size
- Compression
- Implies smaller cost
- Prover running time is closer to linear
- Note
- tx might not be traceable if only compressed proof is stored on chain
- might take 1 hour or so to collect a batch of txs and submit to provers to generate a proof
- What to research
- Design an efficient interface for data trasmission between different blockchains
- Data should be capsulized by using a ZK technique
- Dataflow
- Data from different blockchains <-> **interface** <-> ZK rollup/zkEVM execution in IOTA L1
- References
- Existing ZK benchmarking framework/system study
- Related to the Topic #1, surevey ZK open-sourced libs for experiments
- [Zcash](https://z.cash/technology/)
- [Uniswap](https://uniswap.org/)
- [PancakeSwap](https://pancakeswap.finance/)
- [Loopring Adds ZK Proofs For Faster DEX Technology](https://cryptobriefing.com/loopring-adds-zk-proofs-dex/)
- [Scaling a DEX with Zero-Knowledge Proofs](https://www.youtube.com/watch?v=mUop0pVsCsI)
- [Overview of Zero-Knowledge Blockchain Projects](https://blog.chain.link/zero-knowledge-projects/)
- [ZEXE: Enabling Decentralized Private Computation](https://ieeexplore.ieee.org/document/9152634)
- [ZK-Rollups Guide: ETH Scalability — and Why It’s the Next Big Narrative](https://learn.bybit.com/blockchain/zk-rollups-eth-scalability/)
- [Loopring](https://loopring.org/#/)
### Question & Answer
#### An Efficient Inter-Blockchain Asset Exchange Mechanism Based on IOTA
1. Ideal
- There is an efficient and secure decentralized asset exchange (which includes the data validation process) mechanism between IOTA and other blockchains. It is considered efficient, compared to the state-of-the-art, because:
- It has short proof sizes
- Its verification times are short
2. Reality
- There's no generic inter-blockchain communication mechanism, or they have many restrictions/limitations.
3. Implications of conserving the reality
- We only have centralized solutions.
- IOTA cannot communicate with another blockchain.
- For example, there's no DEX for IOTA-ETH exchange.
- In Ethereum, e.g., the asset exchanges need to follow the same standard (e.g., ERC-20) and implement the smart contract.
4. Proposed Solution
- Interface mechanism using ZKP techniques to be implemented by different blockchains will provide security guarantees (token ownership, data validity, SC execution validity, etc.).
- Interface will specify API, data format, proof algorithms, etc.
#### General Questions
- What is the problem that this research will solve?
- How can we leverage the reality-based ledger to implement DEX on it?
- Why is this problem so important?
#### Technical Questions
- You propose that the "interface" is an interface between IOTA L1 and others. Then, I assume IOTA will be the settlement layer. So,
- Currently there is no SC execution on IOTA L1. Without having a proper L1 SC execution, how can one work on an interface?
- If there will be a EVM-compatible SC execution, why to focus on IOTA instead of a generic blockchain (that supports SC)? If we need it *only* because we are from IOTA, a better and more scientific way could be to use IOTA as an example case.
- Will being a DAG have any effect on this interface? Or will the interface ignore the data structure and consensus approach?
- Interface
- Is it an interface between any two blockchains, or an interface between a specific blockchain (e.g., IOTA) and all others. This question is relevant because Billy's zk-sharding idea assumes no hierarchy. The platform itself is a collection of interfaces.
- Why do we need ZK?
- Which problem does ZK solve here?
- What would we lose if we have the same interface without?