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.
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.
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.
Accomplishments that we're proud of
We are really proud of the idea and market fit of our product. We think it could deliver great value to many people worldwide and potentially launch as a startup. We believe it perfectly addresses the gap between supply and demand for virtual machines. We are also very proud of our website, which we tried to make as user friendly and accessible as possible.
What we learned
We learned how to connect our frontend service to a backend service: a database hosted by firebase. We also learned how to share desktops between users.
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.
Log in or sign up for Devpost to join the conversation.