vplasencia

@vplasencia

Joined on Jan 24, 2023

  • Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. Abstract Semaphore is a zero-knowledge (zk) protocol that allows users to prove their membership in a group and send messages such as votes or feedback without revealing their identity. It also provides a simple mechanism to prevent double-signaling, which means that the same proof cannot be verified twice. Motivation Privacy remains a significant challenge in the digital world, with existing solutions often being limited, hard to extend, and overly complex. These limitations make it difficult to create privacy-preserving applications and prevent users from securely interacting without exposing their identities. Semaphore addresses these issues by enabling the sharing of anonymous messages, solving the critical need for privacy while maintaining transparency.
     Like  Bookmark
  • An Incrememental Merkle Tree (IMT) is a Merkle Tree (MT) designed to be updated efficiently. The Incremental Merkle Tree in Semaphore v4 (called LeanIMT) is a Binary Tree, a tree in which every node has at most two children. LeanIMT Implementation Typescript: https://github.com/privacy-scaling-explorations/zk-kit/tree/main/packages/imt/src/lean-imt Solidity: https://github.com/privacy-scaling-explorations/zk-kit/blob/main/packages/imt.sol/contracts/LeanIMT.sol LeanIMT Algorithms
     Like 5 Bookmark
  • What is Semaphore? Semaphore is a zero-knowledge protocol that allows users to prove their membership in a group and send signals such as votes, feedback, or text messages without revealing the user’s identity. This means that signals have no connection to the identities. It also provides a simple mechanism to prevent double-signaling, which means you cannot verify the same proof twice. Where can I ask questions about Semaphore? You can ask questions about Semaphore on Discord or by opening a Semaphore Discussion.
     Like  Bookmark
  • If these suggestions do not work, feel free to ask in the Semaphore Discussions or in the dev-chat channel in the Semaphore Discord. Using Semaphore in the frontend Semaphore works with any JavaScript frontend framework, but the @semaphore-protocol/proof package is using SnarkJS, which uses Node.js modules which are not compatible with frontend frameworks and there are some changes that we need to do to make it work on the client side. Semaphore with Nextjs You will see an error like this: Module not found: Can't resolve 'fs' To solve this, in your next.config.js file, inside the nextConfig object, add:
     Like  Bookmark