taikoxyz / grants

Community grants program
38 stars 3 forks source link

[Grant Application]: zkTaiko - Enabling zk-Proofs on Taiko's ZK-Rollup #102

Open vquanli opened 1 year ago

vquanli commented 1 year ago

Project Description

zkTaiko is an innovative initiative aimed at integrating zk-proofs into Taiko's existing ZK-rollup architecture, leveraging the capabilities of ZoKrates, a leading toolset for zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge). The project aspires to enhance Taiko's secure, decentralized, and permissionless rollup on Ethereum by introducing advanced privacy features, scalability improvements, and developer-friendly tools.

Objectives:

Enable zk-proofs on Taiko's ZK-Rollup: Integrate ZoKrates into Taiko's data layer to facilitate zk-proof generation and verification, thereby enhancing privacy and security.

Enhance Functionality: Expand ZoKrates' common libraries with different commitment schemes and type conversions to provide developers with a more versatile toolkit.

Simplify Development: Introduce an ether.js library tailored for ZoKrates to streamline the development process, making it more approachable for new and existing developers.

Improve Documentation: Revamp and update ZoKrates' official documentation and tutorials to foster a more informed and collaborative developer community within the Taiko ecosystem.

By achieving these objectives, zkTaiko aims to make a significant contribution to the Taiko ecosystem, aligning perfectly with the community grant program's focus on fostering innovation in blockchain technology.

Category

Zero-Knowledge Proofs (ZKP)

Architecture

zkTaiko Diagram

Timeline

Timeline

Phase 1: Initial Assessment and Planning

Phase 2: Development and Integration

Phase 3: Finalization and Documentation

Project Conclusion

Project Plan

Enable zk-Proofs on Taiko's ZK-Rollup

Integration with Taiko's Data Layer: Ensure that all block data required for zk-proofs is written to Ethereum, aligning with Taiko's decentralized and public data layer.

Efficient Block Proposing: Develop mechanisms within ZoKrates that allow for fast and efficient block proposing on Taiko, ensuring a level playing field for all proposers.

Expand Common Libraries

Assessment of Current Libraries: Analyze existing libraries to identify gaps and areas for expansion.

Development of Commitment Schemes: Implement various commitment schemes to enhance security and functionality.

Type Conversions: Create a robust set of type conversion functions to facilitate seamless development.

Simplify Development with ether.js Library

Analysis of Current Javascript Instructions: Identify the limitations and issues with the existing Javascript call instructions.

Development of ether.js Library: Design and implement an ether.js library tailored to ZoKrates, ensuring compatibility and ease of use within the Taiko ecosystem.

Enhance Official Documentation and Tutorials

Audit of Existing Documentation: Conduct a thorough review of the current documentation to pinpoint inaccuracies and areas for improvement.

Update Standard Library Information: Provide detailed information about the standard library, including examples and best practices.

Creation of New Tutorials: Develop comprehensive tutorials that guide developers through various aspects of ZoKrates development within the Taiko ecosystem.

Project Impact

To seamlessly integrate and extend ZoKrates into Taiko's ecosystem, making it more powerful, and user-friendly, and ultimately contributing to a more secure, scalable, and accessible ZK-rollup on Ethereum.

Impact of ZoKrates in Taiko's Ecosystem

Privacy Preservation: ZoKrates enables the creation of protocols that protect user privacy, a fundamental requirement in today's data-driven world and a core feature of Taiko's ZK-rollup.

Scalability: ZoKrates contributes to the scalability of blockchain networks, a critical factor for Taiko's widespread adoption.

Accessibility: ZoKrates offers a specialized language and toolset designed for zk-SNARKs, making this complex technology more accessible to developers.

Impact of zkTaiko Project

Enhancing Functionality: Expanding the common libraries with different commitment schemes and type conversions will provide developers with more tools, enhancing the functionality and versatility of ZoKrates within Taiko's ZK-rollup.

Simplifying Development: The introduction of an ether.js library will streamline the development process, making ZoKrates more approachable and reducing the learning curve for new developers.

Improving Documentation: Comprehensive and accurate documentation is vital for developer efficiency and innovation. By improving the official documentation and tutorials, this project will foster a more informed and collaborative Taiko community.

Team Information

Li@only4sim - Team Leader and Core Developer

Point of Contact

tg: @sing4cat discord: li.quan

Previous Work

Additional Information

No response

Agreement