Content Authentication: Combatting Deepfakes with Digital Signatures on Solana
DataGuardians is a decentralized platform for content authentication and verification built on the Solana blockchain. It provides creators with powerful tools to attest ownership of their digital content, create verifiable licenses, and protect their work from misuse and misattribution in an era of AI-generated deepfakes and misinformation.
Mainnet Platform: data-guardians.thestartup.fun
Devnet Platform: data-guardians-devnet.thestartup.fun
- Content Attestation: Securely register your digital content on the Solana blockchain with cryptographic signatures.
- Decentralized Storage: Store your content on IPFS for immutable, decentralized access.
- Content Licensing: Define clear usage rights with customizable licenses linked to your attestations.
- Verification Badges: Embed verification badges on your website or content platforms to prove authenticity.
- cNFT Minting: Create compact NFTs that represent ownership and authenticity of your content.
- User-Friendly Interface: Simplified dashboard for uploading, attesting, and licensing content.
- Connect Wallet: Users start by connecting their Solana wallet (Phantom, Sollet, or Solflare).
- Upload Content: Upload digital content (images, audio, documents, video) to be stored on IPFS.
- Create Attestation: Sign the content with your wallet's private key to create a permanent record on the Solana blockchain.
- Set License Terms: Define how others can use your content by selecting license terms.
- Share Verification: Receive a verification badge and embed code to prove content authenticity.
- Content is uploaded to IPFS via Pinata, generating a unique Content Identifier (CID).
- Metadata is created and also uploaded to IPFS.
- The Solana program creates a Program Derived Address (PDA) for the attestation.
- A blockchain transaction is signed by the creator, registering the content's hash and metadata.
- An optional cNFT is minted to represent the content attestation.
- License terms are recorded and linked to the attestation.
- Ownership Proof: Establish clear provenance and timestamp of content creation.
- Protect Against Theft: Prevent unauthorized use of your creative work.
- Licensing Control: Clearly define and enforce usage rights.
- Combat Deepfakes: Distinguish authentic content from AI-generated imitations.
- Revenue Protection: Ensure proper attribution and potential revenue streams.
- Verification: Easily verify the authenticity of content.
- Trust: Distinguish between genuine and fake content.
- Clear Rights: Understand usage permissions clearly.
- Ethical Usage: Support creators by respecting their defined licenses.
- Fighting Misinformation: Create a reliable verification framework for digital content.
- Creator Economy: Strengthen the foundation for a sustainable creator economy.
- Decentralization: Reduce reliance on centralized authentication systems.
- Speed & Efficiency: Leverage Solana's high-speed, low-cost blockchain.
- Frontend: Next.js, React, TailwindCSS, shadcn/ui
- Blockchain: Solana (Program written in Rust with Anchor framework)
- Storage: IPFS via Pinata
- Authentication: Solana Wallet Adapter
- NFT Standard: Metaplex for cNFT creation
- Node.js (v16 or later)
- Solana CLI (optional, for development)
- A Solana wallet (Phantom, Solana, etc.)
- Clone the repository:
git clone https://github.com/yourusername/data-guardians.git
cd data-guardians- Install dependencies:
npm install- Create a
.env.localfile with your API keys:
NEXT_PUBLIC_SOLANA_RPC_URL=https://api.devnet.solana.com
NEXT_PUBLIC_PINATA_JWT=your_pinata_jwt_here
- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
- Connect your wallet using the "Connect Wallet" button.
- Navigate to the "Upload" tab and upload your content.
- Add a title and description to your content.
- Submit the form to upload to IPFS.
- Navigate to the "Attest" tab to create a blockchain attestation.
- Sign the transaction with your wallet to create the attestation.
- Optional: Mint a cNFT representing your content attestation.
- After attestation, navigate to the "License" tab.
- Choose a license type (Open, Restricted, Commercial, Research, or Custom).
- Configure license options:
- Attribution requirements
- Commercial use permissions
- AI training permissions
- Expiration date (if any)
- Custom terms (for custom licenses)
- Create the license and receive a license badge.
- Share your verification badge on your website, social media, or content platforms.
- Others can verify your content's authenticity by clicking the badge.
- The verification page displays the creator's address, timestamp, and content information.
The core attestation logic is implemented in a Solana program written using the Anchor framework. The program:
- Creates attestation accounts for each piece of content
- Links attestations to creator wallets
- Stores metadata references and timestamps
- Emits events for off-chain indexing
The project is currently deployed on Solana Devnet. To deploy to mainnet:
- Update the RPC URLs in the configuration
- Deploy the program to mainnet
- Update the program ID references
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
For questions or support, please open an issue on GitHub or contact us at rishavmehra61@gmail.com.
Built by ❤️ by Rishav Mehra
