7 research outputs found

    Zero Knowledge Proofs of Elliptic Curve Inner Products from Principal Divisors and Weil Reciprocity

    Get PDF
    Zero Knowledge proofs of Elliptic Curve Inner Products (ECIPs) and elliptic curve operations more generally are an increasingly important part of zero knowledge protocols and a significant bottle neck in recursive proof composition over amicable cycles of elliptic curves. To prove ECIPs more efficiently, I represent a collection of points that sum to zero using a polynomial element of the function field and evaluate this function at a random principal divisor. By Weil reciprocity, this is equal to the function interpolating the random divisor evaluated at the original points. Taking the logarithmic derivative of both expressions allows the prover to use a similar technique to the Bulletproofs++ permutation argument and take linear combinations logarithmic derivatives of divisor witnesses and collect terms for the same basis point by adding the multiplicities. The linear combination can be random or can be structured to cancel intermediate points in computing the sum. Since the multiplicities are field elements, this system can prove ECIP relations in zero knowledge with respect to the linear combination, the curve points, or both. Compared to existing techniques, the witness size is reduced by up to a factor of 10 and the number of multiplications by a factor of about 100 with significantly more flexibility in the organization of the protocol. The specific improvement will depend on the instantiating proof system, number of curve points, and which information is zero knowledge. This technique also works, with small modification, for proving multiexponentiations in the multiplicative group of the field

    ProtoGalaxy: Efficient ProtoStar-style folding of multiple instances

    Get PDF
    We continue the recent line of work on folding schemes. Building on ideas from ProtoStar [BC23] we construct a folding scheme where the recursive verifier\u27s ``marginal work\u27\u27, beyond linearly combining witness commitments, consists only of a logarithmic number of field operations and a constant number of hashes. Moreover, our folding scheme performs well when \emph{folding multiple instances at one step}, in which case the marginal number of verifier field operations per instance becomes constant, assuming constant degree gates

    cqlin: Efficient linear operations on KZG commitments with cached quotients

    Get PDF
    Given two KZG-committed polynomials f(X),g(X)F<n[X]f(X),g(X)\in \mathbb{F}_{<n}[X], a matrix MFn×nM\in \mathbb{F}^{n\times n}, and subgroup HFH\subset \mathbb{F}^* of order nn, we present a protocol for checking that fHM=gHf|_{H}\cdot M = g|_{H}. After preprocessing, the prover makes O(n)O(n) field and group operations. This presents a significant improvement over the lincheck protocols in [CHMMVW, COS], where the prover\u27s run-time (also after preprocessing) was quasilinear in the number of non-zeroes of MM, which could be n2n^2

    cq: Cached quotients for fast lookups

    Get PDF
    We present a protocol called cq\mathsf{cq} for checking the values of a committed polynomial f(X)F<n(X)f(X)\in \mathbb{F}_{<n}(X) over a multiplicative subgroup HFH\subset \mathbb{F} of size nn are contained in a table tFNt\in \mathbb{F}^N. After an O(NlogN)O(N \log N) preprocessing step, the prover algorithm runs in time O(nlogn)O(n\log n). Thus, we continue to improve upon the recent breakthrough sequence of results [ZBKMNS,PK,GK,ZGKMR] starting from Caulk\mathsf{Caulk} [ZBKMNS], which achieve sublinear complexity in the table size NN. The two most recent works in this sequence Baloo\mathsf{Ba}\mathit{loo} [ZGKMR] and flookup\mathsf{flookup} [GK] achieved prover complexity O(nlog2n)O(n\log^2 n). Moreover, cq\mathsf{cq} has the following attractive features. 1. As in [ZBKMNS,PK,ZGKMR] our construction relies on homomorphic table commitments, which makes them amenable to vector lookups. 2. As opposed to the previous four works, our verifier doesn\u27t involve pairings with prover defined G2\mathbb{G}_2 points, which makes recursive aggregation of proofs more convenient

    Bulletproofs++: Next Generation Confidential Transactions via Reciprocal Set Membership Arguments

    Get PDF
    Zero-knowledge proofs are a cryptographic cornerstone of privacy-preserving technologies such as Confidential Transactions (CT), which aims at hiding monetary amounts in cryptocurrency transactions. Due to its asymptotically logarithmic proof size and transparent setup, most state-of-the-art CT protocols use the Bulletproofs (BP) zero-knowledge proof system for set membership proofs such as range proofs. However, even taking into account recent efficiency improvements, BP comes with a serious overhead in terms of concrete proof size as well as verifier running time and thus puts a large burden on practical deployments of CT and its extensions. In this work, we introduce Bulletproofs++ (BP++), a drop-in replacement for BP that improves its concrete efficiency and compactness significantly. As for BP, the security of BP++ relies only on the hardness of the discrete logarithm problem in the random oracle model, and BP++ retains all features of Bulletproofs including transparent setup and support for proof aggregation, multi-party proving and batch verification. Asymptotically, BP++ range proofs require only O(n/logn)O(n / \log n) group scalar multiplications compared to O(n)O(n) for BP and BP+. At the heart of our construction are novel techniques for permutation and set membership, which enable us to prove statements encoded as arithmetic circuits very efficiently. Concretely, a single BP++ range proof to establish that a committed value is in a 64-bit range (as commonly required by CT) is just 416 bytes over a 256-bit elliptic curve, 38\% smaller than an equivalent BP and 27\% smaller than BP+. When instantiated using the secp256k1 curve as used in Bitcoin, our benchmarks show that proving is about 5 times faster than BP and verification is about 3 times faster than BP. When aggregating 32 range proofs, proving and verification are about 9.5 times and 5.5 times faster, respectively

    μ\muCash: Transparent Anonymous Transactions

    No full text
    Zero Knowledge Set Membership Proofs (zkSMPs) allow efficiently, i.e. sublinearly in the size of the set, proving membership of a value in a set in zero knowledge with respect to the value. They have been used to construct anonymous cryptocurrencies such as ZCash, which uses a zero knowledge Merkle proof to show that the inputs of a transaction belong to the Transaction Output (TXO) set. Using a Merkle tree instantiated with a pair of Pedersen hash functions between an amicable cycle of elliptic curves, similarly to Curve Trees, and the Weil Elliptic Curve Inner Product (ECIPs) proofs, I design a set membership protocol with substantially smaller witness sizes than other Merkle zkSMPs. This protocol uses a pair of communicating Bulletproofs, one over each curve, whose total proof size I am able to reduce by proving portions of each verifier inside the other proof. Using these techniques, along with an adaptation of the Bulletproofs++ confidential transaction protocol, I design an anonymous transaction protocol for a decentralized cryptocurrency, whose security argument is reducible to the discrete log problem over a pair of elliptic curves and that does not require a trusted setup. Over a 256256 bit field, these transactions are 1349+64n+32log2c1349 + 64n + 32 \lceil \log_2 c \rceil bytes for nn inputs, mm outputs, dd depth, and cc proof capacity, which is bounded by a linear function of ndn d, nn, and mm and is equal to 11 for up to m<1000m < 1000 or n<37n < 37 when d=48d = 48. Proving complexity is quasilinear and verifier complexity is linear in both ndn d and mm, and in practice verification will be dominated by the cost of two Bulletproof verifications of length 15361536 and 17441744 for c=1c=1. μ\muCash support efficient batch verification, user defined assets and multi-asset confidential transactions, privacy preserving multi-party proving, adaptor signatures, absolute and relative time locks, and a multiphase transaction structure to support scriptless scripts for private atomic swaps and payment channels. This protocol is likely compatible with the Halo accumulation scheme, although I do not investigate this

    3D structures of individual mammalian genomes studied by single-cell Hi-C

    No full text
    The folding of genomic DNA from the beads-on-a-string like structure of nucleosomes into higher order assemblies is critically linked to nuclear processes. We have calculated the first 3D structures of entire mammalian genomes using data from a new chromosome conformation capture procedure that allows us to first image and then process single cells. This has allowed us to study genome folding down to a scale of <100 kb and to validate the structures. We show that the structures of individual topological-associated domains and loops vary very substantially from cell-to-cell. By contrast, A/B compartments, lamin-associated domains and active enhancers/promoters are organized in a consistent way on a genome-wide basis in every cell, suggesting that they could drive chromosome and genome folding. Through studying pluripotency factor- and NuRD-regulated genes, we illustrate how single cell genome structure determination provides a novel approach for investigating biological processes
    corecore