Maven
An ERC 6551 powered Decentralized Freelancing platform to safeguard job ownership lifecycle
Created on 25th July 2023
•
Maven
An ERC 6551 powered Decentralized Freelancing platform to safeguard job ownership lifecycle
The problem Maven solves
Maven is a decentralized freelancing platform that re-defines the whole freelancing process with ERC6551 and newly designed dispute resolution with anonymous voting that ensures full transparency in the process. Maven addresses the range of risks that traditional freelancing exposes, such as platform censorship, uncertainty in payment, high platform fees, and many more.
Our USP is the creation of Profile NFTs. Maven introduces a new ownership concept called “Profile Ownership” and “Job Ownership” using the ERC-6551 standard. Our platform, thus, provides users with wallet functionality(Account Abstraction-EIP 4337) by generating token bound account (TBA) addresses for each user profile. This allows users to store multiple assets, such as Job NFTs and Milestone NFTs, in their profile TBA. The NFT ownerships are transferred when a bid is selected, a milestone is completed, or when a dispute is raised, etc. This ensures that users retain ownership of their assets throughout the job lifecycle.
Existing platforms have biased dispute resolution as the entire voting process is not anonymous. Maven re-designed the dispute resolution mechanism by selecting voters on-the-fly for voting using Chainlink VRF. The voters' identities are revealed only after voting is completed. This prevents coalition or biased voting and achieves fairness.
Maven ensures transparent payment via an escrow contract. The deposit is released when milestone NFT is received in client TBA.
Data storage on blockchain is expensive. To reduce costs, Maven uses a three-layer data storage system: IPFS (for metadata storage), zk-powered Polybase (for data storage and scripting), and Ethereum (for crucial data storage and validation).
Maven also addresses real-time communication on every step of the freelancing process via Push notifications and also provides real-time multi-recipient Chat support.
Challenges we ran into
Throughout the project, we have faced several challenges. The lack of proper documentation for third-party integrations (specially Polybase) was a significant challenge. This requires us to conduct different PoCs to bring atomicity to the database layer. Finally, we have modularized the database to finally have 13 tables.
We wanted to generate ERC-6551 based NFTs that can hold multiple TBAs. We ran into a challenge to create a Token Bound Address (TBA) under a TBA. After several trials, we successfully created the architecture.
Another problem we faced is while integrating Push Protocol for real-time chat. Push (@pushprotocol/uiweb) only provides support for single recipients, but for our use-case we needed to extend it for multi recipients. We have to create our custom UI for that.
We also tried to make the contracts gas efficient.
Our goal was to provide skill-based job recommendation using AI. However, due to insufficient datasets generated from polybase we couldn’t integrate the AI recommendation system currently. The AI-model is ready and once the platform generates enough dataset we will train our model and integrate it in our platform.
Tracks Applied (2)
