delvingbitcoin
Anonymous usage tokens from curve trees or autct
Posted on: May 22, 2024 12:09 UTC
The discussion highlights significant advancements and observations in the application of Curve Trees to Monero, focusing on efficiency and proof sizes.
The work mentioned involves achieving a verification time of 35ms for a single proof using two curves without tailored field implementations, specifically utilizing crypto-bigint’s Residue type for a proof size of 219 bytes. This performance improves notably with batch verification, where the time reduces to 11ms for ten proofs. This achievement aligns closely with the benchmarking results cited in relevant papers, underscoring the potential for even greater efficiency with optimized code.
Furthermore, the conversation delves into the comparison of proof sizes, where it's noted that the proof size achieved (219 bytes) is significantly smaller than those typically quoted in original papers, such as sizes ranging from 2-3kB. This reduction in proof size could offer substantial benefits in various use cases, underlining the importance of the methodological improvements discussed. The dialogue also touches on the utilization of Generalized Bulletproofs for native operations regarding Pedersen Vector Commitments, contrasting with the challenges posed by using Spartan on towering curves due to the extensive multiplication constraints required.
A critical technical clarification is sought concerning the implementation specifics related to "towering curves" and their necessity due to the lack of a 2-cycle in ed25519, as well as inquiries about the SPARTAN protocol and its reliance on sum-check protocols. Additionally, an interesting point is raised regarding the efficiency gains possible by defining linking tags solely by their x coordinates, potentially allowing for the omission of preprocessing steps for the leaves of the tree. This adaptation could represent a practical improvement, emphasizing the need for efficient tiebreaker mechanisms within the arithmetic circuit for transitioning between curve points.