Skip to content

Commit

Permalink
Merge pull request #594 from bandada-infra/docs/difference-bandada-se…
Browse files Browse the repository at this point in the history
…maphore

Docs/difference bandada semaphore
  • Loading branch information
vplasencia authored Oct 31, 2024
2 parents 0d3482c + 807fbd7 commit 3e032d0
Show file tree
Hide file tree
Showing 3 changed files with 2,047 additions and 755 deletions.
18 changes: 18 additions & 0 deletions apps/docs/docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,21 @@ This is a good option if you are using TypeScript/JavaScript and want to interac
- [Boilerplate](https://github.com/bandada-infra/boilerplate)

This is a good option if you want to quickly create a Bandada project because you can fork it, clone it or use it as a template.

## What is the difference between Semaphore and Bandada?

[Semaphore](https://semaphore.pse.dev/) is a zero-knowledge 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. Semaphore works both off-chain and on EVM-compatible chains.

[Bandada](https://bandada.pse.dev/) is an infrastructure for managing privacy-preserving groups. It also provides anti-sybil mechanisms by using credential groups, ensuring that only users meeting specific criteria can join a group.

Semaphore lacks an off-chain infrastructure for managing groups or storing group members, but Bandada fills this gap by simplifying the management of off-chain Semaphore groups. Though Semaphore and Bandada groups are different, they are fully compatible and work well together.

Joining a Semaphore group often requires an anti-sybil mechanism. Bandada integrates this functionality through its credentials package and invite codes functionality.

Bandada is well-suited for managing large groups, as it enables server-side creation of Merkle proofs, an approach that is especially useful when the group size is too large for client-side processing.

While Bandada does not have integrated zero-knowledge (zk) capabilities, it can be paired with Semaphore to add zk functionality to an application.

Semaphore provides a robust on-chain infrastructure for groups, which Bandada leverages for its own on-chain group management.

In summary, Semaphore and Bandada serve different purposes and offer distinct functionalities, but they are fully compatible and work effectively together.
10 changes: 5 additions & 5 deletions apps/docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,18 @@
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "3.1.1",
"@docusaurus/preset-classic": "3.1.1",
"@docusaurus/core": "3.5.2",
"@docusaurus/preset-classic": "3.5.2",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.1.1",
"@docusaurus/tsconfig": "3.1.1",
"@docusaurus/types": "3.1.1",
"@docusaurus/module-type-aliases": "3.5.2",
"@docusaurus/tsconfig": "3.5.2",
"@docusaurus/types": "3.5.2",
"typescript": "~5.2.2"
},
"browserslist": {
Expand Down
Loading

0 comments on commit 3e032d0

Please sign in to comment.