Inspiration
No privacy in IPFS or Filecoin
As we all know, data stored on IPFS and Filecoin is public to anyone who can access it with content ID. End users have to encrypt their content before uploading if the data is not freely accessible. It turns out to be inconvenient to encrypt content on the end user side sometimes.
Surely some applications enable users to encrypt and upload content in a centralized way at present. That being said, the user's entire data may still be exposed to the application platforms. We want to solve this problem by splitting and encrypting files in a distributed way, which means no one else or platform has complete data except for the users themselves. The split data is of no use to anyone or any platform.
No indexing for IPFS system or Filecoin network
Since the files stored on IPFS or Filecoin lack metadata like file titles, keywords, description, the generated CIDs are meaningless for other users who have no idea about the detailed information of the files. It definitely makes sense when people would like to store private content. However, what if people want to share their content freely to others, or to monetize their content through the open network?
What can we do to help with that?
Yes, as you probably thought, indexing the contents of the file system helps us get faster results when we're searching it for files and other content. Such helpfulness is routine in library card catalogs and in online periodical search services, neither of which expect the user to know exactly what he or she is looking for. We are exploring the idea of adding an indexing service to the IPFS file system.
So, we want to create a public content marketplace where content owners can share and monetize their content while others can easily discover and access content as needed on a pay-as-you-go (PAYG) basis.
What it does
SAO Network
Our team is dedicated to developing a decentralized storage protocol based on IPFS & Filecoin, named SAO Network, to increase the adoption of Web3 data storage and facilitate its ecosystem applications.
SAO Network is mainly composed by widely distributed SAO nodes that provide data services basically as follows:
- application oriented services for customization and integration;
- content cache for file access acceleration;
- content encryption by distributed data encryption system;
- verifiable attestation; etc.
Storverse
Built on SAO Network, Storverse is our demo application product for this hackathon competition. Our team is creating a storage metaverse including paid content, decentralized identifiers, file social functioning, etc., which are outlined below:
- Filecoin/IPFS storage through MCS storage solution.
- Content Marketplace for free and paid content.
- Combine smart contract and IPFS/Filecoin storage to implement file copyright.
- Content Collection NFT allows others to follow to get update notification.
- File Socializing - owner, collection creator, user and buyer can do social activities like follow, share and comment.
- File Collaboration allows users to work on a file together.
How we built it
Frontend
Frontend is written in Javascript and built with Vue. On the client side, a user can upload his file as an NFT, price his file; others can browse file marketplace and pay-to-use. The website is hosted on IPFS via Fleek.
Backend
Backend is written in golang. The backend has three parts: (1) a hosted web service - handles request from frontend. (2) sao node - simple p2p encryption/decryption node implementation which handles file chunk encrypt/decrypt job. (3) monitor process - monitor on-chain behaviors including payment transaction, etc.
Contract
SAOFile contract is an ERC-721 NFT contract with our own custom logic added to support listing, purchase and claim. The contract is deployed on Ethereum.
Accomplishments that we're proud of
Innovation on paid content encryption solution
Storverse provides a decentralized storage platform and a Web3 content marketplace for any user, the most fascinating part of which is “paid content” using encryption solutions powered by SAO Network. Every SAO node in the network serves for storing, retrieval, caching, encryption, decryption, analysis, etc.
A specific type of SAO nodes is selected via Beacon to handle the request, split the files and dispatch the file fragments to random SAO nodes. The appointed SAO nodes will cache and encrypt the data; keep the processed raw data and share file keys to file owners; and then store content to distributed Filecoin storage provider nodes.
The customers can discover content on Storverse marketplace and purchase for access to the content via smart contract. After the payment, SAO nodes will validate the query-ask request and decrypt the file fragments that are to be assembled into a complete file accessible to the purchaser.
There is an animated video explaining our encryption solution on paid content. Check it out here in our YouTube channel https://www.youtube.com/watch?v=tHKQUcSlIU4
Integration with MCS solution
Storverse chose Filswan MCS to store data on IPFS and Filecoin. We are developing Golang MCS SDK, and will open source and contribute it to the community once it’s completed and ready. (GitHub repo: https://github.com/SaoNetwork/sao-hackathon/tree/main/go-mcs-sdk)
What's Next for Storverse
Content Collection NFT - Users can collect files of the same topic into a collection which can also be minted as a collection NFT. Others who are interested in this collection topic can join and share the ownership of the collection.
Content Collection Collaboration - Users who share the ownership of collection can work collaboratively and remotely manage content of collection and share the benefits.
Content Discovery - Discover and locate the target content via content marketplace
Content Socializing - A social network for content owners, collection creators and owners, content customers to easily manage content; they can both “like” and comment on the content, view comments or share the content, etc.
More pay-to-use scenarios - File owners may price his file in a variety of ways. For instance, he may give an extra discount beyond a regular price during holiday promotions; may also get a monthly package for short-term access; even authorize collection owners to set a new bundle pricing.
We’ll Keep you up to date with our overall Roadmap of SAO Network project on the website.
Built With
mcs ipfs filecoin javascript solidty hardhat fleek golang vuejs ethersGithub Repo Links
- sao node: https://github.com/SaoNetwork/sao-hackathon
- frontend: https://github.com/SaoNetwork/sao-hackathon-interface
Try it out
If you are interested in our projects, feel free to reach us: Discord Twitter Medium
Storverse introduction: https://docsend.com/view/nr2nuj2qbnxfuynt
Youtube Channel: https://www.youtube.com/channel/UCu2vaNpc6-f5h9prLdk9PUA