Description
TruthSeeker is a privacy-first proof-of-video authenticity platform that embeds cryptographic proof directly inside video files using steganography. It combats deepfakes by offering three escalating tiers of identity verification:
- Anonymity (ZKPassport Proof of Humanity),
- Pseudo-Anonymity (Hyli Wallet Signature),
- Full Identity (Hyli Protocol Identity Verification).
It's especially useful for whistleblowers, citizen journalists, and government officials — anyone needing to prove "I am a real human" or "I truly said this" without relying on centralized platforms or trust.
Problem
Deepfakes are undermining trust in audio-visual content. In an era of AI-generated misinformation, there's no easy way to verify that a video came from a real person — let alone prove it came from a specific, trusted source like a government official or agency — without relying on centralized authority or watermarking.
Solution
TruthSeeker offers a zero-trust, decentralized way to cryptographically bind the video to the identity of its creator, based on their privacy preference:
- Anonymity – Just proves the speaker is human (via ZKPassport nullifier).
- Pseudo-Anonymity – Links the proof to a Hyli wallet address.
- Full Identity – Connects the video to a Hyli Protocol identity, verifying that a real, verifiable identity made the statement.
This is especially powerful in:
- Government contexts, where officials can publish provably signed video announcements (e.g., public safety, legislation, emergency alerts), cryptographically proving their origin.
- Decentralized journalism, where sources may wish to remain anonymous or pseudonymous but still provide irrefutable proof of authenticity.
The proof is embedded into the video itself using steganography, making the video a portable, self-verifiable artifact.
Challenges I Ran Into
Building TruthSeeker presented several significant technical challenges that required creative problem-solving and deep understanding of both zero-knowledge proofs and steganographic techniques.
1. ZKPassport Integration with Hyli Network
The Challenge:
Integrating ZKPassport zero-knowledge proofs with the Hyli blockchain network was one of the most complex hurdles. The main issue was that ZKPassport proofs are designed for Ethereum-compatible chains, but Hyli has its own unique architecture and state management system.
Specific Problems:
- ZKPassport SDK expects Ethereum-style transaction formats, but Hyli uses a different transaction structure
- Proof verification on Hyli required custom contract deployment and state commitment handling
- The proof data format needed to be adapted for Hyli's serialization requirements
How I Solved It:
- Created a custom ZKPassport contract specifically for Hyli that handles the proof verification logic
- Implemented a translation layer between ZKPassport proof format and Hyli's expected input format
- Used Hyli's state commitment system to properly store and verify proof data
- Built custom transaction handlers to bridge the gap between ZKPassport SDK and Hyli network
2. Steganographic Video Processing
The Challenge:
Implementing reliable steganographic embedding in video files while maintaining video quality and ensuring the embedded data could be reliably extracted was extremely challenging.
Specific Problems:
- Video compression algorithms would often corrupt or remove embedded steganographic data
- Finding the right balance between data capacity and video quality
- Ensuring cross-platform compatibility for video playback
- Creating a robust extraction algorithm that could handle various video formats
How I Solved It:
- Implemented a dual-layer steganographic approach using both border encoding and LSB (Least Significant Bit) techniques
- Used border encoding for primary data storage (more resistant to compression)
- Applied LSB steganography as a backup layer for additional data
- Created a custom video processing pipeline that preserves steganographic data during compression
- Built a robust extraction algorithm that can handle multiple video formats and compression levels
3. Real-Time Video Processing Performance
The Challenge:
Processing video files in real-time for steganographic embedding while maintaining a smooth user experience was a significant performance challenge.
Specific Problems:
- Large video files would cause browser freezing during processing
- Memory usage would spike during video analysis
- Processing times were too long for a good user experience
How I Solved It:
- Implemented a backend Python Flask server to handle heavy video processing
- Used Web Workers for frontend video analysis to prevent UI blocking
- Implemented progressive video processing with real-time progress feedback
- Added intelligent video sampling to reduce processing time while maintaining accuracy
4. State Management and Persistence
The Challenge:
Managing the complex state flow across the 5-step verification process while ensuring data persistence and proper error handling was crucial for user experience.
Specific Problems:
- Users would lose progress if they refreshed the page or navigated away
- Complex state transitions between different verification steps
- Need to handle partial completions and resume functionality
How I Solved It:
- Implemented comprehensive session storage for all verification states
- Created a robust state restoration system that could resume from any step
- Added proper error boundaries and recovery mechanisms
- Built a state validation system to ensure data integrity across steps