Forum-protocol: Difference between revisions

From Local Area Network
Second check: fixes to facts, dates (UTC), glosses and attribution
Plainer prose: fewer quotes, project claims attributed, glosses folded in
 
Line 10: Line 10:
| verified_against = README and commit of 10 June 2026
| verified_against = README and commit of 10 June 2026
}}
}}
'''forum-protocol''' is an anonymous forum protocol with an SDK, a web demo and a Basecamp module. It runs on the Logos Execution Zone (LEZ), the Logos layer that runs on-chain programs, with Waku (now Logos Messaging) for message transport. The code is published by the GitHub account jeefxM. The README does not say whether it is an official Logos project.
'''forum-protocol''' is an anonymous forum protocol by the GitHub account jeefxM, with an SDK, a web demo and a Basecamp module. It runs on the Logos Execution Zone (LEZ), the Logos layer that runs on-chain programs, and uses Waku (now Logos Messaging) to carry messages. The README does not say whether it is an official Logos project.


== What it does ==
== What it does ==
* Members post without revealing their identity. The README says posts cannot be linked to an author by an observer below the revocation threshold.
* Members post without revealing their identity, and the README says no observer below the revocation threshold can link a post to its author.
* Moderators jointly issue certificates against posts that break the rules. No single moderator can act alone.
* Moderators jointly issue certificates against posts that break the rules, and no single moderator can act alone.
* Once a member has K certificates, anyone can submit an on-chain slash that revokes the membership and claims the stake.
* Once a member has K certificates, anyone can submit an on-chain slash that revokes the membership and claims the stake.
* It uses a Semaphore-style anonymous membership scheme, in which a member proves they belong to the group without showing which member they are. The scheme adds a per-epoch nullifier, a tag that is the same for all of a member's posts in one time period. Shamir secret sharing, which splits a secret into shares so that enough shares can rebuild it, is used for slashing.
* Membership follows a Semaphore-style anonymous scheme, in which members prove they belong to the group without showing which member they are. The scheme adds a per-epoch nullifier, a tag that stays the same across all of a member's posts in one time period.
* The on-chain registry is RISC0 Rust for LEZ. The membership proof for each post is a Groth16 circuit (a compact zero-knowledge proof).
* Slashing uses Shamir secret sharing, which splits a secret into shares so that enough of them can rebuild it.
* The on-chain registry is written in RISC0 Rust for LEZ, and the membership proof for each post comes from a Groth16 circuit, which makes compact zero-knowledge proofs.
* It ships a forum-agnostic SDK, a Next.js web demo and a native Basecamp module built with Qt6.
* It ships a forum-agnostic SDK, a Next.js web demo and a native Basecamp module built with Qt6.


Stage: Prototype. The README status line was last changed on 8 June 2026. It says the "Protocol, SDK, web demo, and native Basecamp module" are built and the membership registry is "deployed and exercised live on the LEZ testnet". <code>docs/deployments.md</code> dates the testnet runs 8 June 2026. Earlier runs on 28 May were on a local development chain. The version in metadata.json is 0.1.0. The web demo README calls the app "demo-quality".
Stage: Prototype. The README status line, last changed on 8 June 2026, says the protocol, SDK, web demo and native Basecamp module are built. It adds that the membership registry is "deployed and exercised live on the LEZ testnet". <code>docs/deployments.md</code> dates those testnet runs 8 June 2026, after earlier runs on a local development chain on 28 May. The version in metadata.json is 0.1.0, and the web demo README calls the app "demo-quality".


The README calls it "A submission for Network School LP-0016".
The README calls it a submission for Network School LP-0016.


== Use it ==
== Use it ==
# Bring up the backend: a LEZ sequencer, an nwaku node and the proof daemon. The README points to app/README.md and docs/deployments.md for the steps.
# Bring up the backend: a LEZ sequencer, an nwaku node and the proof daemon. app/README.md and docs/deployments.md give the steps.
# Run <code>pnpm install</code>, then start the web demo with <code>pnpm --filter app dev</code>, setting <code>NEXT_PUBLIC_WAKU_PEER</code> to the nwaku address.
# Run <code>pnpm install</code>, then start the web demo with <code>pnpm --filter app dev</code>, setting <code>NEXT_PUBLIC_WAKU_PEER</code> to the nwaku address.
# Open http://localhost:3000 and work through the panels: create a forum, create an identity and join, post anonymously, then strike and slash.
# Open http://localhost:3000 and work through the panels: create a forum, create an identity and join, post anonymously, then strike and slash.

Latest revision as of 23:26, 4 November 2026

forum-protocol
What it does: Anonymous forum protocol with threshold moderation and membership revocation
Stage: Prototype
Licence: MIT
Verified on 4 November 2026 against README and commit of 10 June 2026.

forum-protocol is an anonymous forum protocol by the GitHub account jeefxM, with an SDK, a web demo and a Basecamp module. It runs on the Logos Execution Zone (LEZ), the Logos layer that runs on-chain programs, and uses Waku (now Logos Messaging) to carry messages. The README does not say whether it is an official Logos project.

What it does

  • Members post without revealing their identity, and the README says no observer below the revocation threshold can link a post to its author.
  • Moderators jointly issue certificates against posts that break the rules, and no single moderator can act alone.
  • Once a member has K certificates, anyone can submit an on-chain slash that revokes the membership and claims the stake.
  • Membership follows a Semaphore-style anonymous scheme, in which members prove they belong to the group without showing which member they are. The scheme adds a per-epoch nullifier, a tag that stays the same across all of a member's posts in one time period.
  • Slashing uses Shamir secret sharing, which splits a secret into shares so that enough of them can rebuild it.
  • The on-chain registry is written in RISC0 Rust for LEZ, and the membership proof for each post comes from a Groth16 circuit, which makes compact zero-knowledge proofs.
  • It ships a forum-agnostic SDK, a Next.js web demo and a native Basecamp module built with Qt6.

Stage: Prototype. The README status line, last changed on 8 June 2026, says the protocol, SDK, web demo and native Basecamp module are built. It adds that the membership registry is "deployed and exercised live on the LEZ testnet". docs/deployments.md dates those testnet runs 8 June 2026, after earlier runs on a local development chain on 28 May. The version in metadata.json is 0.1.0, and the web demo README calls the app "demo-quality".

The README calls it a submission for Network School LP-0016.

Use it

  1. Bring up the backend: a LEZ sequencer, an nwaku node and the proof daemon. app/README.md and docs/deployments.md give the steps.
  2. Run pnpm install, then start the web demo with pnpm --filter app dev, setting NEXT_PUBLIC_WAKU_PEER to the nwaku address.
  3. Open http://localhost:3000 and work through the panels: create a forum, create an identity and join, post anonymously, then strike and slash.
  4. With the backend up, just demo runs the whole register, post, strike, slash and revoke flow from the command line.
  5. The Basecamp module needs the same backend, Node 20, Qt6 and CMake. Its own README in basecamp/ gives the steps.

Build it

  • pnpm install and cargo check --workspace set up and check the workspace.
  • just --list lists all build targets.
  • The Basecamp plugin is built with cmake -B build -DCMAKE_BUILD_TYPE=Release and cmake --build build --parallel in basecamp/.

Releases

  • Latest tag: v1.0-lp0016, 10 June 2026.
  • Version in basecamp/metadata.json: 0.1.0 (module name forum).
  • GitHub lists one release, for the LP-0016 submission, on tag v1.0-lp0016.

See also

Sources

Page status: Stub. Stub · Outline · Usable · Guide · Star. Anyone can improve this page and change its status.