MyIP
A music IP security layer as an aditional proof of creation for IRL disputes over copyright
Problem Statement
🎶 Project: Decentralized Audio Platform on Filecoin (Synapse & Privy) This project is the implementation of a Decentralized Audio Platform (similar to SoundCloud or Spotify, but on-chain and decentralized) leveraging the power of the Filecoin Virtual Machine (FVM) and the Synapse SDK to manage storage and identity.The project simplifies the technical components of Filecoin under a clear structure focused on the artist and their content:👤 Identity and Access (Privy) The platform uses Privy for user authentication. This allows artists to log in and automatically obtain an FVM-compatible Filecoin wallet easily (including embedded or social wallets), without needing to manage complex keys. This serves as the foundation for the artist's identity in Web3.📝 Artist Registration (FVM Actor) The original Create Dataset function is transformed into Artist Registration. This involves deploying and utilizing a custom Smart Contract (Actor) on the Filecoin Virtual Machine. This contract acts as a decentralized Artist Registry, where the artist's wallet address and their metadata (name, etc.) are permanently and immutably stored on-chain. This step is a necessary prerequisite for any upload action.💸 Subscription (Payment Rails & Warm Storage) The concept of Storage Manager is transformed into Subscription. This functionality is implemented by interacting with the Synapse Warm Storage Service Contracts.Pre-payment: The artist must first make a deposit of tokens (typically tUSDC on Testnet) into the Synapse escrow wallet.Payment Management: This deposited balance acts as a "Subscription Pool" from which the Synapse SDK automatically withdraws funds to pay the long-term storage fees and the continuous renewal of storage deals, ensuring the audio's permanence.🎧 Upload Audio (Filecoin Storage Deal) The Upload File functionality becomes Upload Audio.The Synapse SDK takes the artist's audio file and handles the underlying complexity: it converts the file into an efficient storage format (CAR file), selects Storage Providers (SPs), and creates a Storage Deal.The result is a unique, immutable Content ID (CID) for the audio. This CID is the proof that the audio is verifiably and decentrally stored on Filecoin.In summary, the project creates a fluid user experience (Privy) for artists to store, manage, and guarantee the long-term availability of their music (Synapse/FVM) using a prepaid subscription model.
Solution
🔨 How It Was Built: The Core Filecoin MVPDue to limited time, the project was strategically focused on delivering a functional Minimum Viable Product (MVP) that successfully links user identity (Privy) to verifiable, long-term Filecoin storage (using FVM smart contracts and storage service APIs), while deferring highly complex features like content verification.1. 🔑 Authentication: Privy as the Filecoin FVM GatewayTechnology: Privy and React/TypeScript.Integration: Privy served as the single entry point for the artist. By setting the Filecoin Calibration Chain ID (314159) in the PrivyProvider, we ensured that the resulting wallet was immediately FVM/EVM compatible.The Vínculo FVM: Upon successful login, the application extracts the Ethers signer object from Privy. This signer is the cryptographic key used for all subsequent transactions on the Filecoin network. Privy abstracted away months of work on wallet management and compatibility.2. 📝 Identity and Logic: Artist Registration (FVM Actor)Technology: Solidity and the Filecoin Virtual Machine (FVM).Implementation: We built and deployed a custom Solidity Smart Contract (Actor), the Artist Registry, directly onto the FVM.Flow: Using the Privy-sourced signer, the artist executes a transaction that calls a method on this FVM Actor. This action securely and immutably links the artist's 0x... wallet address to their application metadata on the Filecoin blockchain state. This successfully validated our custom FVM logic.3. 💸 Payments and Subscription (On-Chain Storage Logic)Technology: EVM/FVM Service Contracts and ERC-20 tokens (tUSDC).Functionality: This implements the Subscription model required for paying for storage, replacing direct FIL payments with a prepaid balance:Approval & Deposit: The artist first executes an ERC-20 approve transaction, giving the Filecoin Warm Storage Service Contract permission to spend their tUSDC tokens. They then execute the depositFunds transaction to move the tokens into the service's escrow account.Purpose: This deposit funds an on-chain "Storage Balance," which is drawn upon automatically to pay the storage providers for data persistence and renewals. This abstracts the complexity of gas and recurring payments from the artist.4. 🎧 Storage: Upload Audio (Verifiable Deal Creation)Technology: Filecoin (deal-making mechanism) and IPFS (Content Addressing), facilitated by a high-level SDK abstraction.Flow: This step is the culmination of the pipeline, utilizing the prepaid balance to secure storage:The application prepares the audio file for storage (e.g., CAR file creation).The service initiates the negotiation process with Filecoin Storage Providers (SPs).A Verifiable Storage Deal is created, drawing the necessary funds from the artist's prepaid balance (the Subscription).The final output is the Content ID (CID) of the audio, serving as the cryptographic proof that the data is stored on the Filecoin network.🛑 Strategic Constraint: The Audio Fingerprinting ChallengeDue to the extreme time constraints of the hackathon, the intended feature of comparing the audio file's fingerprint against a verified database was deferred. The necessary backend infrastructure and complex, compute-intensive matching logic required to perform this security check efficiently could not be built within the available timeframe. The project focused instead on perfecting the identity and storage pipeline (Privy $\rightarrow$ FVM $\rightarrow$ Filecoin), which formed the indispensable core of the decentralized platform.
Hackathon
ETHGlobal Buenos Aires
2025
Contributors
- LuisSebastian28
6 contributions