Search projects, hackathons, sponsors and tech

    ← All projects

    PVSS-buidl

    Set of functions and circuits for the prover and verifier to build a Public Verifiable Secret Sharing scheme based on lattices.

    About

    The problem it solves PVSS is a framework for building various multiparty protocols, such as DKG (decentralized key generation), RNG (random number generation), and more. The main advantage of PVSS over other VSS schemes is public verifiability. This means that the correctness of the scheme can be verified by anyone using only public parameters, without revealing any secret information. In a blockchain setting, PVSS correctness can be verified by Smart Contracts.

    How it's made

    Challenges we ran into Challenge #1: Create a proof of a bounded vector norm. Requirements: - The circuit should not use an "if" statement, only "add" and "mul" operations on field elements to reduce the size of the proof. - Expressions should not "wrap" modulo q. Implemented an algorithm that allows the verifier to check if the infinity vector norm is bounded without using any "costly" operations inside the circuit. Challenge #2: Creating a Proof that Message Vector is a Polynomial of Degree Less than k Requirements: - The circuit should only use "add" and "mul" operations on field elements to minimize the size of the proof. I have implemented a proof system that checks <**v**, **v'**> = 0, where **v** is a message vector and **v'** is a vector from an orthogonal subspace.