# Latest

**URL:** https://www.plonk.cafe/latest.md

[Latest](https://www.plonk.cafe/latest.md) · [Categories](https://www.plonk.cafe/categories.md) · [Tags](https://www.plonk.cafe/tags.md)

---

## [Café etiquette & rules](https://www.plonk.cafe/t/cafe-etiquette-rules/26)

<div class="topic-metadata">

**Author:** [@tom](https://www.plonk.cafe/u/tom)\
**Replies:** 0\
**Last updated:** [15 May 2020 14:56 UTC](https://www.plonk.cafe/t/cafe-etiquette-rules/26 "2020-05-15T14:56:01Z")

</div>

Welcome to the PLONK Café! We opened this premises in May 2020 to bring discussion from the PLONK Working Group on Telegram into the public forum. Discussions in our café must be kept highly technical - either proposing …

---

## [Is there an UltraPLONK paper?](https://www.plonk.cafe/t/is-there-an-ultraplonk-paper/245)

<div class="topic-metadata">

**Author:** [@bebber8](https://www.plonk.cafe/u/bebber8)\
**Replies:** 2\
**Last updated:** [29 August 2024 13:57 UTC](https://www.plonk.cafe/t/is-there-an-ultraplonk-paper/245 "2024-08-29T13:57:03Z")

</div>

Hi, I’ve been looking for the UltraPLONK paper to study it but had no success. Based on some social media announcements by Aztec around 2020, I thought there would be a paper. Did the paper end up not happening? Or if it…

---

## [Is there open-source Plonkup implementation?](https://www.plonk.cafe/t/is-there-open-source-plonkup-implementation/232)

<div class="topic-metadata">

**Author:** [@lfzkoala](https://www.plonk.cafe/u/lfzkoala)\
**Replies:** 0\
**Last updated:** [24 April 2023 21:36 UTC](https://www.plonk.cafe/t/is-there-open-source-plonkup-implementation/232 "2023-04-24T21:36:31Z")

</div>

The question is as the title, trying to implement Plonkup using Rust but didn’t find any open-source implementation of it

---

## [How to choose the value of state width of Plonk with lookup?](https://www.plonk.cafe/t/how-to-choose-the-value-of-state-width-of-plonk-with-lookup/230)

<div class="topic-metadata">

**Author:** [@lfzkoala](https://www.plonk.cafe/u/lfzkoala)\
**Replies:** 0\
**Last updated:** [13 April 2023 06:58 UTC](https://www.plonk.cafe/t/how-to-choose-the-value-of-state-width-of-plonk-with-lookup/230 "2023-04-13T06:58:17Z")

</div>

I noticed that it seems the original Plonk paper introduced that there were two extensions with state width = 3 or 4 (as described in proof\_system\_info\_v1.0/README.md at master · matter-labs/proof\_system\_info\_v1.0 · GitH…

---

## [Naming if you're working on a plonkish protocol](https://www.plonk.cafe/t/naming-if-youre-working-on-a-plonkish-protocol/208)

<div class="topic-metadata">

**Author:** [@david](https://www.plonk.cafe/u/david)\
**Replies:** 0\
**Last updated:** [4 December 2022 04:39 UTC](https://www.plonk.cafe/t/naming-if-youre-working-on-a-plonkish-protocol/208 "2022-12-04T04:39:50Z")

</div>

I’ve asked ChatGPT to come up with names for any future plonk-based scheme: Input: in this series of zero-knowledge proof systems, can you give a few suggestions to name the next one? plonk turboplonk ultraplonk hyper…

---

## [Verify kzg commitment](https://www.plonk.cafe/t/verify-kzg-commitment/191)

<div class="topic-metadata">

**Author:** [@nier](https://www.plonk.cafe/u/nier)\
**Replies:** 3\
**Last updated:** [8 November 2022 17:11 UTC](https://www.plonk.cafe/t/verify-kzg-commitment/191 "2022-11-08T17:11:30Z")

</div>

In the main protocol, the verifier checks all the commitments (\[a\],\[b\],\[c\],…) are in the G\_1. This will ensure the commitment is from some polynomials but not ensure it has degree less than maximum degree from SRS. Does…

---

## [How PLONK works in two parts](https://www.plonk.cafe/t/how-plonk-works-in-two-parts/206)

<div class="topic-metadata">

**Author:** [@sCrypt](https://www.plonk.cafe/u/sCrypt)\
**Replies:** 0\
**Last updated:** [12 October 2022 22:22 UTC](https://www.plonk.cafe/t/how-plonk-works-in-two-parts/206 "2022-10-12T22:22:29Z")

</div>

I had difficulty understanding existing PLONK explanations, so I wrote my own version in 2 parts. Hope this helps others. Please lmk if u have any comments How PLONK Works: Part 1. PLONK is a state-of-the-art zk-SNARK… |…

---

## [Common input precomputing for selectors](https://www.plonk.cafe/t/common-input-precomputing-for-selectors/185)

<div class="topic-metadata">

**Author:** [@nier](https://www.plonk.cafe/u/nier)\
**Replies:** 4\
**Last updated:** [31 May 2022 18:11 UTC](https://www.plonk.cafe/t/common-input-precomputing-for-selectors/185 "2022-05-31T18:11:56Z")

</div>

The selector polynomials q\_L, q\_R, q\_O, q\_M, q\_C are common public inputs and specific to a particular circuit. In this case, the verifier needs to calculate these 5 polynomials as well. My question is that what the com…

---

## [Why not use evaluations of selector polynomials in r](https://www.plonk.cafe/t/why-not-use-evaluations-of-selector-polynomials-in-r/139)

<div class="topic-metadata">

**Author:** [@david](https://www.plonk.cafe/u/david)\
**Replies:** 2\
**Last updated:** [8 March 2022 08:17 UTC](https://www.plonk.cafe/t/why-not-use-evaluations-of-selector-polynomials-in-r/139 "2022-03-08T08:17:50Z")

</div>

Hey! Question on the verifier steps that attempt at computing a commitment for the polynomial r: I’m wondering why the verifier uses commitments to q\_M, q\_L, etc. Can’t we do the same as we did with Z\_H(x) and x^n an…

---

## [Why splitting t?](https://www.plonk.cafe/t/why-splitting-t/138)

<div class="topic-metadata">

**Author:** [@david](https://www.plonk.cafe/u/david)\
**Replies:** 4\
**Last updated:** [8 March 2022 08:20 UTC](https://www.plonk.cafe/t/why-splitting-t/138 "2022-03-08T08:20:09Z")

</div>

Hello hello, I’m wondering why the SRS didn’t include more powers of s so that we could just commit to t without splitting it?

---

## [A small PLONK implementation](https://www.plonk.cafe/t/a-small-plonk-implementation/159)

<div class="topic-metadata">

**Author:** [@Strytyp](https://www.plonk.cafe/u/Strytyp)\
**Replies:** 0\
**Last updated:** [16 December 2021 21:23 UTC](https://www.plonk.cafe/t/a-small-plonk-implementation/159 "2021-12-16T21:23:19Z")

</div>

Hi, I’m sharing a Rust PLONK implementation, not ideal for production but may be useful for someone learning PLONK. I have yet things to finish but it is already possible to build circuits and generate and verify proofs. …

---

## [UltraPlonk arithmetization](https://www.plonk.cafe/t/ultraplonk-arithmetization/134)

<div class="topic-metadata">

**Author:** [@rahulbs98](https://www.plonk.cafe/u/rahulbs98)\
**Replies:** 1\
**Last updated:** [7 July 2021 18:46 UTC](https://www.plonk.cafe/t/ultraplonk-arithmetization/134 "2021-07-07T18:46:09Z")

</div>

Can you lead me to good resources to learn writing custom gates using the ULTRAplonk arithmetization. I am new with plonks. Would be really helpful

---

## [Why does the prover send the permutation polynomials?](https://www.plonk.cafe/t/why-does-the-prover-send-the-permutation-polynomials/132)

<div class="topic-metadata">

**Author:** [@david](https://www.plonk.cafe/u/david)\
**Replies:** 1\
**Last updated:** [24 June 2021 10:01 UTC](https://www.plonk.cafe/t/why-does-the-prover-send-the-permutation-polynomials/132 "2021-06-24T10:01:13Z")

</div>

Hello hello, I have a question on one of the steps of the proof. In round 4 the prover evaluates the permutation polynomials at some point \\zeta and then sends these evaluations. Later the verifier checks these evaluati…

---

## [Difference between public input and constant polynomial](https://www.plonk.cafe/t/difference-between-public-input-and-constant-polynomial/125)

<div class="topic-metadata">

**Author:** [@david](https://www.plonk.cafe/u/david)\
**Replies:** 2\
**Last updated:** [5 June 2021 19:12 UTC](https://www.plonk.cafe/t/difference-between-public-input-and-constant-polynomial/125 "2021-06-05T19:12:46Z")

</div>

Hey hey! I’ve been reading the PLONK paper and I’m trying to understand some of the intuitions behind the paper. One thing I’ve been wondering about is what’s the difference between public input and constant polynomial. …

---

## [Details of custom gate](https://www.plonk.cafe/t/details-of-custom-gate/122)

<div class="topic-metadata">

**Author:** [@spartucus](https://www.plonk.cafe/u/spartucus)\
**Replies:** 9\
**Last updated:** [2 June 2021 02:17 UTC](https://www.plonk.cafe/t/details-of-custom-gate/122 "2021-06-02T02:17:55Z")

</div>

Hi all, I heard a lot of custom gates in plonk, but can’t find anything about what it is, how it does, and any related projects that use it. I would be every thankful if someone could point that out.

---

## [Plonkit: A DSL toolkit for PLONK using bellman and circom](https://www.plonk.cafe/t/plonkit-a-dsl-toolkit-for-plonk-using-bellman-and-circom/101)

<div class="topic-metadata">

**Author:** [@lispczz](https://www.plonk.cafe/u/lispczz)\
**Replies:** 0\
**Last updated:** [7 December 2020 06:40 UTC](https://www.plonk.cafe/t/plonkit-a-dsl-toolkit-for-plonk-using-bellman-and-circom/101 "2020-12-07T06:40:04Z")

</div>

Hi all~ Our team built a PLONK DSL toolkit recently. It accepts circuit written in circom, then transpiles the circuit into PLONK gates using bellman\_ce. It can be used to generate and verify proof now. It is not matur…

---

## [Noob questions: Plonk Paper](https://www.plonk.cafe/t/noob-questions-plonk-paper/73)

<div class="topic-metadata">

**Author:** [@ETHorHIL](https://www.plonk.cafe/u/ETHorHIL)\
**Replies:** 14\
**Last updated:** [6 October 2020 12:32 UTC](https://www.plonk.cafe/t/noob-questions-plonk-paper/73 "2020-10-06T12:32:04Z")

</div>

Hi, I really hope this is the right place to post my noob question. Otherwise please let me know where would be better. I am implementing Plonk as a hobby project in Python. My question is about the linearisation polyno…

---

## [Non-native field arithmetic with TurboPlonk, Plookup, etc](https://www.plonk.cafe/t/non-native-field-arithmetic-with-turboplonk-plookup-etc/90)

<div class="topic-metadata">

**Author:** [@brendan](https://www.plonk.cafe/u/brendan)\
**Replies:** 4\
**Last updated:** [13 August 2020 09:09 UTC](https://www.plonk.cafe/t/non-native-field-arithmetic-with-turboplonk-plookup-etc/90 "2020-08-13T09:09:16Z")

</div>

We’re experimenting with different approaches to non-native field arithmetic using custom gates and plookup, and it would be great to hear from other teams, particularly Aztec, about their approaches, and the resulting c…

---

## [Strategies for integrating plookup with PLONK](https://www.plonk.cafe/t/strategies-for-integrating-plookup-with-plonk/36)

<div class="topic-metadata">

**Author:** [@ndbunner](https://www.plonk.cafe/u/ndbunner)\
**Replies:** 2\
**Last updated:** [10 August 2020 22:22 UTC](https://www.plonk.cafe/t/strategies-for-integrating-plookup-with-plonk/36 "2020-08-10T22:22:23Z")

</div>

Hello all, @cwgoes, @joebebel, and I work at Metastate and are looking to integrate plookup with PLONK. We’re curious what other teams have done. In order to use plookup we need the lookup values to be sorted. I don’t …

---

## [Question on SRS of plonk](https://www.plonk.cafe/t/question-on-srs-of-plonk/84)

<div class="topic-metadata">

**Author:** [@shenmue](https://www.plonk.cafe/u/shenmue)\
**Replies:** 1\
**Last updated:** [20 July 2020 12:10 UTC](https://www.plonk.cafe/t/question-on-srs-of-plonk/84 "2020-07-20T12:10:46Z")

</div>

I am new to this field. I have a noob question regarding the srs of plonk. In page 4, table 1, this work (fast prover): the size of SRS is given by d G1, 1G2 (column 2). the size of CRS/SRS (column 3) is n+a G1, 1G2, w…

---

## [Welcome/Introduction to implementation discussion](https://www.plonk.cafe/t/welcome-introduction-to-implementation-discussion/25)

<div class="topic-metadata">

**Author:** [@arielgabizon](https://www.plonk.cafe/u/arielgabizon)\
**Replies:** 1\
**Last updated:** [10 July 2020 00:50 UTC](https://www.plonk.cafe/t/welcome-introduction-to-implementation-discussion/25 "2020-07-10T00:50:19Z")

</div>

A discussion on implementations of PLONK. The Aztec Barretenberg library The Dusk PLONK implementation Matter Labs PLONK solidity verifier Feel free to add references to more code related to PLONK, and discuss your e…

---

## [Draft Plonk intermediate opcode representation](https://www.plonk.cafe/t/draft-plonk-intermediate-opcode-representation/45)

<div class="topic-metadata">

**Author:** [@zac](https://www.plonk.cafe/u/zac)\
**Replies:** 6\
**Last updated:** [2 July 2020 20:23 UTC](https://www.plonk.cafe/t/draft-plonk-intermediate-opcode-representation/45 "2020-07-02T20:23:03Z")

</div>

Hi all, This is a very rough draft of a possible ‘intermediate representation’ to represent Plonk programs. The goal is not to write circuits in this language, but to present an abstraction layer that higher level langu…

---

## [Plonky: Recursive proofs based on Plonk and Halo](https://www.plonk.cafe/t/plonky-recursive-proofs-based-on-plonk-and-halo/63)

<div class="topic-metadata">

**Author:** [@brendan](https://www.plonk.cafe/u/brendan)\
**Replies:** 3\
**Last updated:** [23 June 2020 20:23 UTC](https://www.plonk.cafe/t/plonky-recursive-proofs-based-on-plonk-and-halo/63 "2020-06-23T20:23:38Z")

</div>

Hi everyone, just wanted to share Plonky, a library that consists of a few parts: a proving system loosely based on Plonk, a circuit builder that supports custom gates, and an implementation of Halo-style recursion. It’s…

---

## [Supporting High-Arity and High-Depth Gates with Constant Cost](https://www.plonk.cafe/t/supporting-high-arity-and-high-depth-gates-with-constant-cost/65)

<div class="topic-metadata">

**Author:** [@jon-chuang](https://www.plonk.cafe/u/jon-chuang)\
**Replies:** 2\
**Last updated:** [18 June 2020 07:19 UTC](https://www.plonk.cafe/t/supporting-high-arity-and-high-depth-gates-with-constant-cost/65 "2020-06-18T07:19:13Z")

</div>

This is a proposal to support gates of high multiplicative depth \\mathcal{O}(\\sqrt{n}) with additional-wire number of \\mathbb{G}\_1 elements increase in proof size over an equivalent Plonk circuit of size n. Proving cost …

---

## [Desired Features for a PLONK Optimising Compiler](https://www.plonk.cafe/t/desired-features-for-a-plonk-optimising-compiler/69)

<div class="topic-metadata">

**Author:** [@jon-chuang](https://www.plonk.cafe/u/jon-chuang)\
**Replies:** 0\
**Last updated:** [17 June 2020 17:19 UTC](https://www.plonk.cafe/t/desired-features-for-a-plonk-optimising-compiler/69 "2020-06-17T17:19:04Z")

</div>

Compiler front end: Standard things: Constant subexpression elimination etc. Backend (gates and constraints): Automatic custom gate synthesis for repeated basic blocks Cost model for balancing proof size, prover exp…

---

## [Understanding PLONK](https://www.plonk.cafe/t/understanding-plonk/67)

<div class="topic-metadata">

**Author:** [@jon-chuang](https://www.plonk.cafe/u/jon-chuang)\
**Replies:** 1\
**Last updated:** [17 June 2020 15:04 UTC](https://www.plonk.cafe/t/understanding-plonk/67 "2020-06-17T15:04:40Z")

</div>

This thread is about basic questions about PLONK that are not explained in the papers. I will start off: Why do we require the degrees for the polynomials to be \<n, and hence split t(X) into 3 or 4 parts? If we do not …

---

## [Basic standard PLONK JSON tool](https://www.plonk.cafe/t/basic-standard-plonk-json-tool/60)

<div class="topic-metadata">

**Author:** [@arielgabizon](https://www.plonk.cafe/u/arielgabizon)\
**Replies:** 4\
**Last updated:** [17 June 2020 13:30 UTC](https://www.plonk.cafe/t/basic-standard-plonk-json-tool/60 "2020-06-17T13:30:32Z")

</div>

Update: Leila Wang from our team made a much more convenient tool where you can experiment with what’s written below directly in a browser Hey, I made this very basic tool for people wanting to experiment with barreten…

---

## [R1CS-like representations of PLONK programs](https://www.plonk.cafe/t/r1cs-like-representations-of-plonk-programs/46)

<div class="topic-metadata">

**Author:** [@arielgabizon](https://www.plonk.cafe/u/arielgabizon)\
**Replies:** 3\
**Last updated:** [16 June 2020 14:15 UTC](https://www.plonk.cafe/t/r1cs-like-representations-of-plonk-programs/46 "2020-06-16T14:15:02Z")

</div>

Here is an attempt to define a relatively low level language/intermediary representation (IR) for turboPLONK programs that is similar to r1cs, in the sense of being defined by low-degree constraints between the program …

---

## [Welcome to discussion of PLONK-related research](https://www.plonk.cafe/t/welcome-to-discussion-of-plonk-related-research/24)

<div class="topic-metadata">

**Author:** [@arielgabizon](https://www.plonk.cafe/u/arielgabizon)\
**Replies:** 0\
**Last updated:** [15 May 2020 11:26 UTC](https://www.plonk.cafe/t/welcome-to-discussion-of-plonk-related-research/24 "2020-05-15T11:26:49Z")

</div>

The PLONK paper: https://eprint.iacr.org/2019/953.pdf Research ideas, discussion of papers, open questions on variants of PLONK, e.g. Turbo Plonk plookup; and other polynomial commitment scheme (PCS) based systems li…
