project screenshot 1
project screenshot 2
project screenshot 3

EthBox

EthBox is a Web3-based Dropbox for artists and listeners. It ensures secure, tamper-proof, and verifiable file sharing through Dynamic login and Weavechain for encrypted storage, and Skale’s Calypso Chain for transaction proofs creating a decentralized solution to protect IPs

EthBox

Created At

ETHGlobal San Francisco

Project Description

EthBox is a decentralized, secure music distribution platform, designed to tackle file sharing and piracy issues. The music industry has long struggled with piracy and unauthorized file sharing at the peer-to-peer level and within larger circles. Large music labels and streaming services often control rights and distribution, but peer-to-peer sharing, especially among smaller artists, continues to be a problem. For example, DJs often distribute their work on thumb drives, lacking secure and verifiable methods for managing their intellectual property. EthBox is a specialized Web3 Dropbox for music, offering an encrypted, semi-decentralized file-sharing platform that maintains privacy and authenticity. It integrates with Dynamic for secure login, using a wallet address to authenticate users, ensuring that only trusted users can share and receive files. Artists can upload their music to Weavechain, an in-house API for storing and transporting encrypted files. Each file is signed and associated with a recipient's wallet address, ensuring that only the intended recipient can access the file. Additionally, audit logs are generated during each read-and-write operation by the Weave node on the storage database. These logs are stored on Skale Network, a zero-cost, gas-free blockchain platform that allows for scalable and efficient deployment. By writing audit logs on-chain, EthBox ensures verifiable proof of file immutability and lineage, preventing unauthorized tampering and verifying the sender's authenticity through cryptographic methods.

How it's Made

This project is primarily written in javascript, using React for the frontend, using solidity to write the Skale smart contracts. Python is used to control the development server that hosts the files and the weave node. We start with Dynamic's login (React) which abstracts Web3 authentication behind a familiar Web2-like interface, which was crucial for onboarding users who might not be familiar with decentralized applications. Each user’s public key is generated through their wallet address, and their actions are signed using cryptographic keys for secure identification. I used Weavechain's API (external) to code the backend. A bit of solidity + java is used to create smart contracts deployed on the Skale network for each operation on the Weave database. Skale’s zero-cost deployment was very helpful in dealing with gas fees, which would have been prohibitively expensive with frequent contract deployments for file tracking and audit logging. Next, looking at the way the public key exchange works, I used the Diffie Hellman pub key exchange.

background image mobile

Join the mailing list

Get the latest news and updates