[O2] - Optimum 🏅

A decentralized marketplace for renting compute

Challenges

Use fRPC to connect your dApp to Blockchain

Pool 5,000 ETH

I used Fluence's fRPC as my RPC to combine my Alchemy, Infura, and QuickNode RPCs. I also dockerized the app, and included the deployed address I received from running fluence deal deploy.

#BUIDLathon 2023 DeFi Track

Pool 15,000 MATIC

This project is a decentralized marketplace for renting compute. It has a token that is used for staking and can be traded, and payments are done in crypto.

Project details

Inspiration


These days, it’s very common for people to own multiple computers. It seems very wasteful to see your thousand dollar devices sitting around most of the time, not doing anything. What better way to utilize it than to make money? Most people would think, let’s mine Bitcoin! Until they see that you earn an average of 20 dollars a month with even the most efficient personal computer (M1 Macbook Max) produced to date. And it makes sense: our machines are not the ASIC miners optimized for hashing: our machines are for personal use. There is a huge hole in the market in allowing personal use machines to be monetized. 


Drawing inspiration from centralized cloud providers like AWS and Azure, who charge hundreds of dollars per month for scrappy 2 CPU, 8GB virtual Windows or Macos machines, why can’t everyday users also lend out their desktops for this purpose? To address this gap, we have developed Optimum, a decentralized marketplace for renting virtual desktops, allowing everyday users to earn passive income optimally.


What it does


Optimum enables everyday users to rent out their computers, similarly to how big cloud providers do so. This is done through Optimum’s marketplace, where sellers post their computer specs and listing price per time interval, and potential buyers bid for those resources. When a buyer’s bid and seller's ask match, the funds are transferred to the seller, and the buyer receives an exclusive link to a remote desktop connected to the seller’s computer. There, they can use the machine as their own. 


Now, buyers of dedicated compute have cheaper alternatives to the big centralized cloud companies, and people who have extra computers lying around have a much better place to rent their computing power. Based on current market conditions, a D2 instance of Windows (2 vCPU, 8GB RAM) on Azure costs 20.9 cents/hour, totaling around $152.57 per month. Even if we conservatively estimate that sellers ask for half of what Azure asks for, they would be earning around $75 a month, a close to 300% increase to what they can earn from mining. And this isn’t even considering how much better specs sellers could offer than just a D2 instance.


Security measures


An obvious concern would be: “What’s stopping a seller from taking the funds from the user, and then removing their computer from the remote desktop, thereby scamming buyers of their funds?” To prevent such a scenario, sellers are required to stake in the platform some amount of tokens, so if they are caught acting malicious, their staked tokens will be used to refund the buyer and to slash them for penalization. The token at first will be USD, but as the protocol matures, we will launch our own token on the ethereum blockchain. 


On the flip side what is stopping a consumer from hacking into a provider’s device and wreaking havoc? We suggest that providers only share virtual machines with consumers, to ensure the best security. However, we also will enforce consumers to submit a security deposit to insure providers in the case of consumers acting maliciously. 


Web3 integration


In the spirit of decentralization and peer-to-peer networks, we created our own ERC20 token that users must stake in order to utilize the protocol. This token (akin to tokens like USDC, WETH, WBTC, etc) is also the payment currency of the protocol. We also created our own staking contract that determines if a user has staked assets into our protocol, which will allow them to create posts and sell their compute.


How we built it


We used react.js for the frontend, which connects to a firebase database. It connects to web3 wallets using metamask. The remote desktop is achieved using chrome remote desktop. To launch our own token, we utilized the ERC20 standard on ethereum, and created our own smart contract using solidity. We used the remix IDE to develop and deploy the tokens and contracts. 


Challenges we ran into


A big problem we had to solve was how to allow someone to gain access to another person’s computer easily, so we can make it accessible to everyone. We did a lot of research and ended up using google remote desktop due to its ease of use. Another big issue was how to prevent providers from scamming users. We took inspiration from other web3 projects where trustless validators must secure the protocol, and those applications use proof of stake. We modeled our platform off of that, where providers must stake some equity in order to run.


What's next for Optimum


Optimum plans to launch its own token as market interest becomes more clear. This token will be used for staking and rewards collection. In addition, we will work on our in-house solution for remote connecting to desktops, instead of relying on google chrome remote desktop. Such a solution will involve virtualization of compute resources, similar to AWS.

Deployed contract for Fluence

0x2ed56e62b96fed6DA7455351492435CA56B2E555