๐๐ฎ๐๐ฒ๐ด๐ผ๐ฟ๐ ๐ฆ๐๐ฏ๐บ๐ถ๐๐๐ถ๐ผ๐ป for the Midnight Network "Privacy First" Challenge: Protect That Data prompt
Note: We'd also like to consider our project for the Best Tutorial track!
๐ฅ Participants: @neilblaze, @sandipndev & @subhamx
Video โถ๏ธ
๐ก TIP: Watch at 1.25x for better experience!
CLI-Demo โถ๏ธ
๐ Why we built it
Today, whistleblowers and citizens face two major problems:
- Fear of retaliation: Speaking out against powerful entities risks jobs, reputations, and even lives.
- Censorship of evidence: Reports can be deleted, altered, or ignored, leaving no permanent public record.
Dawn solves this by:
- Allowing anyone to publish anonymously but with verifiable authenticity via attestation
- Making every report permanent and censorship-resistant through blockchain
- Organizing reports into Boards (categorization) so the public, journalists, and NGOs can discover, verify, and act on credible information
๐ก In short: we protect voices, preserve evidence, and rebuild trust in media
๐ What is Dawn?
Dawn is a censorship-resistant media platform built on the Midnight Network.
Itโs designed to ensure that your voice cannot be silenced, while the authenticity of every report is cryptographically verified.
Users can publish Reports into thematic Bulletins (like Governance, Healthcare, or Corporate). Each report is immutable, linked to a decentralized store, and backed by zero-knowledge attestations that prove the authorโs role without revealing their identity.
๐ Why We Stand Out
- Lace Wallet Integration in the Web: One of the only projects with a fully functioning end to end Midnight Lace Wallet integration in the UI
- Live Working Deployment: Midnightodawn is live and publicly accessible and works on any Chromium browser with Midnight Lace Wallet extension
- Custom Attestation Service: whose proof is verified using their public key inside our smart contract
โ Nodes
-
Attestation Service
- Uses LLM to determine board access for an user based on their email
- Generates signed attestations
- https://attestor.midnightodon.xyz, https://mail.midnightodawn.xyz
-
User Interface
- Clean web UI deployed to Vercel
- Features: connect wallet, browse Reports, filter by board, view/download attached files
-
Command Line Interface (CLI)
- Alternate client for publishing Reports without using the web UI
- Uses same attestation and contract verification pipeline
๐๐ปโโ๏ธ Features
-
Zero-Knowledge Role Verification
- Users prove eligibility (e.g., government employee, healthcare professional, citizen) via attestations
- Attestation service issues a signed board proof after OTP email verification
- Smart contract verifies proofs with stored EDDSA (Poseidon) keys
-
Censorship-Resistant Publishing
- Publish immutable Reports with title, content, summary, and attachments (PDFs, docs)
- Reports are organized into Bulletins under Categories
-
Wallet Integration
- Deployed on Midnight testnet
- Complete end-to-end integration through Lace Wallet for transaction signing
-
Smart Contracts
- Witness-based verification of signed attestations
- On-chain state stores Reports, linked to decentralized storage
- Supports multiple contract deployments for duplicate instances
-
Infrastructure & Deployment
- Web frontend on Vercel
- Attestation/email services containerized with Docker Compose, running via static IP
- Continuous testing with GitHub Actions for smart contracts
๐ข Proof of Work
You can see and interact with the DApp yourself by using the links below. We encourage you to do it so that you can get a feel of our application.
๐ก NOTE: You'll need a funded Lace Midnight Wallet on Midnight Network Testnet.
- ๐ Portal: https://midnightodawn.xyz
- ๐ Dummy Emails: https://mail.midnightodawn.xyz
- ๐ GitHub Repository: https://github.com/sandipndev/dawn
๐ BONUS: Follow the getting started guide to setup Dawn on your local!
โ๏ธ How it works
- Visit the portal โ midnightodawn.xyz
- Connect Lace Wallet โ Authorize the DApp in your Midnight Lace Wallet (testnet)
- Browse Reports โ Instantly see all existing Reports and filter them by board/category
- Create a Report โ Click Create Report to start publishing.
-
Get an Attestation
- Enter your email โ receive a one-time code (via our toy SMTP service).
- Paste the code to verify โ the Attestation Service issues a signed proof of which boards you can post to
-
Write your Report
- Select your Board โ Attestation grants you access to boards. Everyone can post to Citizen Board, but only verified domains can access Government or Healthcare boards
- Fill in Title, Content, Summary, and optional Footnotes/References.
- Content and Footnotes support rich text and file uploads (e.g., PDFs)
-
Publish
- Submit the Report โ sign the transaction in Lace Wallet
- The smart contract verifies the attestation on-chain using stored public keys (EDDSA over Poseidon)
- If valid, the Report is permanently stored, linked to its off-chain attachments
- Done ๐ โ The Report appears in the list instantly. Your eligibility is proven, but your identity is never revealed or saved
System Architecture ๐
๐ From Demo to Vision
Our hackathon demo proves the concept. The MVP vision goes further:
- Pluggable verifiers: support multiple attestation methods (gov councils, NGOs, zk-email, Merkle roots).
- Spam resistance: rate-limiting nullifiers to prevent Sybil abuse.
- Richer discovery tools: allow journalists and citizens to navigate Bulletins, Sub-Categories, and Categories at scale.
๐ Closing
Midnightodawn demonstrates how censorship-resistant media can be built on Midnight. Every Report is permanent, every author is protected, and every piece of evidence can be trusted.
From Midnight to Dawn, truth survives the night!
Top comments (1)
Such a fun project it was! I learnt a lot about how to create compact based midnight network compatible smart contract. Love it.