Forum-protocol: Difference between revisions
Eleutherious (talk | contribs) New tool page, source-checked against the project README |
Eleutherious (talk | contribs) Second check: fixes to facts, dates (UTC), glosses and attribution |
||
| 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 | '''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. | ||
== What it does == | == What it does == | ||
* Members post without revealing their identity. | * Members post without revealing their identity. The README says posts cannot be linked to an author by an observer below the revocation threshold. | ||
* 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. 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 | * 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. | ||
* The on-chain registry is RISC0 Rust for LEZ. The membership proof for each post is a Groth16 circuit. | * The on-chain registry is RISC0 Rust for LEZ. The membership proof for each post is a Groth16 circuit (a compact zero-knowledge proof). | ||
* 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 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". The version in metadata.json is 0.1.0. The web demo README calls the app "demo-quality". | 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". | ||
The README calls it "A submission for Network School LP-0016". | The README calls it "A submission for Network School LP-0016". | ||
| Line 32: | Line 32: | ||
== Build it == | == Build it == | ||
* | * <code>pnpm install</code> and <code>cargo check --workspace</code> set up and check the workspace. | ||
* | * <code>just --list</code> lists all build targets. | ||
* | * The Basecamp plugin is built with <code>cmake -B build -DCMAKE_BUILD_TYPE=Release</code> and <code>cmake --build build --parallel</code> in basecamp/. | ||
== Releases == | == Releases == | ||
* Latest tag: v1.0-lp0016, 10 June 2026. | * Latest tag: v1.0-lp0016, 10 June 2026. | ||
* Version in basecamp/metadata.json: 0.1.0 (module name forum). | * Version in basecamp/metadata.json: 0.1.0 (module name forum). | ||
* GitHub lists one release, | * GitHub lists one release, for the LP-0016 submission, on tag v1.0-lp0016. | ||
== See also == | == See also == | ||
| Line 52: | Line 52: | ||
* [https://github.com/jeefxM/LP-0016-Anonymous-forum-with-moderation/blob/main/basecamp/README.md basecamp/README.md], GitHub | * [https://github.com/jeefxM/LP-0016-Anonymous-forum-with-moderation/blob/main/basecamp/README.md basecamp/README.md], GitHub | ||
* [https://github.com/jeefxM/LP-0016-Anonymous-forum-with-moderation/blob/main/basecamp/metadata.json basecamp/metadata.json], GitHub | * [https://github.com/jeefxM/LP-0016-Anonymous-forum-with-moderation/blob/main/basecamp/metadata.json basecamp/metadata.json], GitHub | ||
* [https://github.com/jeefxM/LP-0016-Anonymous-forum-with-moderation/blob/main/docs/deployments.md docs/deployments.md], GitHub | |||
* [https://github.com/jeefxM/LP-0016-Anonymous-forum-with-moderation/releases releases], GitHub | |||
{{Page status|Stub}} | {{Page status|Stub}} | ||
Revision as of 21:00, 4 November 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.
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.
- Moderators jointly issue certificates against posts that break the rules. 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.
- 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.
- The on-chain registry is RISC0 Rust for LEZ. The membership proof for each post is a Groth16 circuit (a compact zero-knowledge proof).
- 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". docs/deployments.md 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".
The README calls it "A submission for Network School LP-0016".
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.
- Run
pnpm install, then start the web demo withpnpm --filter app dev, settingNEXT_PUBLIC_WAKU_PEERto 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.
- With the backend up,
just demoruns the whole register, post, strike, slash and revoke flow from the command line. - The Basecamp module needs the same backend, Node 20, Qt6 and CMake. Its own README in basecamp/ gives the steps.
Build it
pnpm installandcargo check --workspaceset up and check the workspace.just --listlists all build targets.- The Basecamp plugin is built with
cmake -B build -DCMAKE_BUILD_TYPE=Releaseandcmake --build build --parallelin 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
- LP-0016-Anonymous-forum-with-moderation README, GitHub, last commit 10 June 2026
- app/README.md, GitHub
- basecamp/README.md, GitHub
- basecamp/metadata.json, GitHub
- docs/deployments.md, GitHub
- releases, GitHub