Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CIP: Support ZK-SNARKS in the Celestia Core #91

Draft
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

zmanian
Copy link
Contributor

@zmanian zmanian commented Feb 21, 2024

Overview

This is the first CIP from the ZK in the Celestia Baselayer Working group. It propose a concrete integration of the Gnark library into Celestia-core to support future CIPs.

cips/cip-18.md Outdated

3. BLS12-377 has the property of enabling effecient depth 1 recursions. This makes it a compelling choice for protocols that benefit from either privacy or aggregation of proofs. There is a also a wide range of tools available for this curve because of prior usage in protocols like Celo.

4. GROTH16 has been in production since ZCash's sapling protocol. It represents the MVP of SNARK proof systems. It can also act as "universal adapter" for other proof systems because there circuits that verify other proof systems available. GROTH16 requires a two phase trusted setup. The first phase is universal for a given circuit size but the second phase
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it also has the smallest proof size and lowest verification cost!

Copy link
Collaborator

@rootulp rootulp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for drafting this CIP! I left a few formatting suggestions I observed while reading.

cips/cip-18.md Outdated Show resolved Hide resolved
cips/cip-18.md Outdated Show resolved Hide resolved
cips/cip-18.md Outdated Show resolved Hide resolved
cips/cip-18.md Outdated Show resolved Hide resolved
cips/cip-18.md Outdated Show resolved Hide resolved
cips/cip-18.md Outdated Show resolved Hide resolved
cips/cip-18.md Outdated Show resolved Hide resolved
cips/cip-18.md Outdated Show resolved Hide resolved
cips/cip-18.md Outdated Show resolved Hide resolved
cips/cip-18.md Outdated Show resolved Hide resolved
zmanian and others added 11 commits February 22, 2024 10:39
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
@jcstein jcstein changed the title CIP-18 Support ZK-SNARKS via GNARK in the Celestia Core cryptography CIP-19 Support ZK-SNARKS via GNARK in the Celestia Core cryptography Mar 14, 2024
@jcstein
Copy link
Member

jcstein commented Mar 14, 2024

Changing this to CIP-19 as #77 is CIP-18

@jcstein
Copy link
Member

jcstein commented Mar 14, 2024

@zmanian can you please change the file name to cip-19.md?

@jcstein jcstein changed the title CIP-19 Support ZK-SNARKS via GNARK in the Celestia Core cryptography CIP-20 Support ZK-SNARKS via GNARK in the Celestia Core cryptography Mar 19, 2024
@jcstein
Copy link
Member

jcstein commented Mar 19, 2024

once this is ready for review and merge, we'll assign it the next CIP number. until ready for review, I think we can leave it as-is

@jcstein jcstein changed the title CIP-20 Support ZK-SNARKS via GNARK in the Celestia Core cryptography CIP: Support ZK-SNARKS via GNARK in the Celestia Core cryptography Apr 24, 2024
@zmanian zmanian changed the title CIP: Support ZK-SNARKS via GNARK in the Celestia Core cryptography CIP: Support ZK-SNARKS in the Celestia Core May 22, 2024
@unixpi
Copy link

unixpi commented May 23, 2024

what's the rationale for removing plonk?

@@ -0,0 +1,72 @@
---
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
---
| cip | TBD |

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These suggestions will create a markdown table

@@ -0,0 +1,72 @@
---
title: Support ZK-SNARKS via GNARK in the Celestia Core cryptography
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
title: Support ZK-SNARKS via GNARK in the Celestia Core cryptography
| - | - |
| title | Support ZK-SNARKS via GNARK in the Celestia Core cryptography |

Copy link
Member

@jcstein jcstein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

review comments are adapting this file to fit the new format for the site at https://cips.celestia.org.

please also change the file name to cip-support-zk.md or something similar for the time being, then once it is approved we will assign a number. thank you!

@@ -0,0 +1,72 @@
---
title: Support ZK-SNARKS via GNARK in the Celestia Core cryptography
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
title: Support ZK-SNARKS via GNARK in the Celestia Core cryptography
| - | - |
| title | Support ZK-SNARKS via GNARK in the Celestia Core cryptography |

@@ -0,0 +1,72 @@
---
title: Support ZK-SNARKS via GNARK in the Celestia Core cryptography
description: Add the GNARK library to the Celestia Core codebase and make it available as an implementation tool for future CIPs.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Add the GNARK library to the Celestia Core codebase and make it available as an implementation tool for future CIPs.
| description | Add the GNARK library to the Celestia Core codebase and make it available as an implementation tool for future CIPs. |

---
title: Support ZK-SNARKS via GNARK in the Celestia Core cryptography
description: Add the GNARK library to the Celestia Core codebase and make it available as an implementation tool for future CIPs.
author: Sam Hart (@hxrts), Barry Plunkett (@bpiv400), Kristi Poldsam (@poldsam), Zaki Manian (@zmanian)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
author: Sam Hart (@hxrts), Barry Plunkett (@bpiv400), Kristi Poldsam (@poldsam), Zaki Manian (@zmanian)
| author | Sam Hart (@hxrts), Barry Plunkett (@bpiv400), Kristi Poldsam (@poldsam), Zaki Manian (@zmanian) |

title: Support ZK-SNARKS via GNARK in the Celestia Core cryptography
description: Add the GNARK library to the Celestia Core codebase and make it available as an implementation tool for future CIPs.
author: Sam Hart (@hxrts), Barry Plunkett (@bpiv400), Kristi Poldsam (@poldsam), Zaki Manian (@zmanian)
discussions-to:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
discussions-to:
| discussions-to | https://forum.celestia.org/t/zero-knowledge-in-the-celestia-baselayer/1475 |

Please change this if this isn't the best post to link, thanks!

description: Add the GNARK library to the Celestia Core codebase and make it available as an implementation tool for future CIPs.
author: Sam Hart (@hxrts), Barry Plunkett (@bpiv400), Kristi Poldsam (@poldsam), Zaki Manian (@zmanian)
discussions-to:
status: Draft
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
status: Draft
| status | Draft |

discussions-to:
status: Draft
type: Standards Track
category: Core
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
category: Core
| category | Core |

status: Draft
type: Standards Track
category: Core
created: 2024-02-20
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
created: 2024-02-20
| created | 2024-02-20 |

type: Standards Track
category: Core
created: 2024-02-20
---
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
---

@@ -0,0 +1,72 @@
---
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These suggestions will create a markdown table


## Copyright

Copyright and related rights waived via [CC0](../LICENSE).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Copyright and related rights waived via [CC0](../LICENSE).
Copyright and related rights waived via [CC0](https://github.com/celestiaorg/CIPs/blob/main/LICENSE).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants