Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: RentMyCPU – An open-source computational network (github.com/franklbt)
143 points by frank_lbt on April 14, 2021 | hide | past | favorite | 57 comments



Just some observations:

- I don't have any info on how this works from the repo. 99% of people will click on the repo and click back because of the lack of this. I went on google and found a [this](https://sideprojects.net/posts/NB697xnBrWQioywoP/rentmycpu-r...) link, but still no information.

- How are payments processed? Do you need to trust the other party a good amount? As a cpu cycle seller, how do I know I'll get money for time I process? How does a cpu buyer know they aren't getting scammed?

- How are computations done? If I have to re-write my existing software to leverage this, I might as well rent a VPS to save a lot of time.

- Do I need to select user by user at a granular level to run my tasks, or can I just throw a task + $ at a pool and have the system figure it out?

I love the idea though, it's really been a bit of a pipe dream for the past 20 or so years. It's just a very tough problem to execute correctly. Best of luck.


Don’t want to be cynical (and appreciate your more constructive feedback), but i’m surprised by the kind of stuff that makes up to the front page these days.


I tend to agree. I don't expect every project to have a landing page with flat trendy graphics giving you the bullet points like a start up, but just a few paragraphs/link to a white paper would go such a long way.


One or two screenshots of the web interface would have been enough


This reminds me of homomorphic encryption: you can perform computations on data while it remains encrypted, which would solve the trust problems you mention afaict. This seems like it would have enormous potential to change the cloud landscape. https://en.m.wikipedia.org/wiki/Homomorphic_encryption


My understanding (which is admittedly very little) though is that homomorphic encryption requires many times more computations compared to running on unencrypted data, so that could dampen it's usefulness.


Perhaps, but there is a LOT of unused capacity out there.


It's less of a resource problem and more of an allocation/networking problem though.

Most problems worth sourcing out requires a lot of data, and piping that through a home network connection to a "meh" CPU and back isn't that useful.

Even if you spend time divvying it up, I can't imagine it would be easier/cost effecitve than just spinning up an AWS node to get it done.



With the right malware, your CPU rents itself as part of a Botnet.

I remember doing the Seti at Home and Folding at Home projects as a screen saver that used CPU time to solve problems. That was for charity.

How is this different than mining for Bitcoin or any other virtual currency? I want to make sure my CPU is not used for illegal means and then the FBI busted down my door because my CPU was part of a peer to peer network serving kiddie porn?


> How is this different than mining for Bitcoin or any other virtual currency?

Bitcoin mining is finding y < sha256(sha256(x)) - that's it. When you mine coin you don't give anyone the ability to execute Turing complete code. Even their transaction "scripting" language isn't Turing complete.

> I want to make sure my CPU is not used for illegal means and then the FBI busted down my door because my CPU was part of a peer to peer network serving [illegal material]?

You run the same risks every time you click a link in a web browser currently. It can execute WASM code and it has network access.


In 2007 when distributed computing was still a New Kid On The Block, I shared an idea with a colleague for what I considered to be a good idea at the time:

Distributed computing for hire.

Families around the world have reasonable amounts of computing power that sits mostly unused; why not make a few bucks doing things similar to Folding@Home Seti@Home, but for a price? Get paid for your computations.

Of course this was before Bitcoin was a thing, and looking back, it feels naïve to have thought it could be successful. I certainly lacked the expertise to build such a thing. But I wasn't the only one thinking of it. Others tried it and appear to have failed. From 2011:

Ask HN: Is there a paid Distributed Computing service? https://news.ycombinator.com/item?id=2499466

These days I'd be concerned to run somebody else's workload on my own equipment, lest the FBI/CIA/KGB/FSB/Interpol/SecretService/GRU show up at my door.

Still, an interesting thought especially given how powerful so many devices have become.


One company that this reminds me of is Luminati (https://en.wikipedia.org/wiki/Hola_(VPN))

It’s not just your spare compute, but your residential IP address is valuable as an unblockable address for bots and scrapers


They are now Bright Data, I’ve anecdotally heard sketchy shit can happen on their proxies. Scary stuff.


I'd be worried about offering storage to random people, but what kind of compute are you worried about doing? I guess someone could use this as a kind of proxy, right? Like have your system perform some attack or send some communication.


Computing generally implies even temporary storage, doesn't it? If not then you are correct. Even so, I would be wary of allowing my own equipment to be used for purposes that I did not explicitly approve of. Who's to say my equipment could not be used in legal but distasteful (to me) ways, by companies I'd never otherwise do business with? I don't think that it would be reasonable to trust any distributed computing for hire company to honor my wishes when it came to those things. If history has taught us anything, especially when it comes to computers, it is that the almighty dollar rules over all else.


> I'd be worried about offering storage to random people

Isn’t that precisely how IPFS works?


IPFS mostly functions with people choosing specific files to keep available.


Maybe brute-forcing passwords?


This was a real thing before 2007 and is the reason the "seccomp" syscall came into being with CPUShare/CPU coins (2005).

https://web.archive.org/web/20060118044349/http://www.cpusha...


> Distributed computing for hire.

So I've been doing this for a couple decades now: You create an ad tag that does some work, and you buy some impressions. You then get to "hire" thousands or millions of compute-nodes around the world to do some work. Tooling to split up the work into ad tags is just something I've accumulated in the while.

The real trick I think would be allowing users to join the (ad) network as an audience-of-one that we can pay directly, and my thinking is it was always less of a technical problem than a tax/legal problem. If you (or anyone) think this part of the problem is easy you should get in touch.


...what do you use this for?


The same thing anyone else does with a billion CPUs: Hashing things and looking for collisions, or variants on the theme.

Nowhere else could you get CPUs as cheaply as you could buying the cheap banner video vast+vpaid and simply not calling adImpression.


Sounds to me like you're describing GridCoin[0], which operates on top of BOINC[1] which itself was spawned from Seti@Home.

[0] https://gridcoin.us/ [1] https://en.wikipedia.org/wiki/Berkeley_Open_Infrastructure_f...

Edited to add footnote: no affiliation or familiarity with GridCoin! Just that the concept described rang a bell, and I was able to find the link.


> In 2007 when distributed computing was still a New Kid On The Block [..] Distributed computing for hire.

I remember I was excited about that based on CORBA, ages ago. There was a paper where this was outlined (which I can't find).

https://en.wikipedia.org/wiki/Common_Object_Request_Broker_A...


Can't agree more on this :)


Well done OP, Congratulations on the launch!

Several others have pointed out why they wouldn't use such a service, I would definitely use this; Not to make money per se but to distribute my compute load within my network across the computers, smartphones, tablets, TVs i.e. whatever with a browser capable of running web assembly.

Consumer level distributed computing is my pet peeve and I'm obsessively power conscious about my computing needs. I use low power, silent computing systems in my house that means Intel U/ AMD G series CPU, loads of ARM SoCs, Consoles for gaming etc. and for anything demanding I compute using cloud.

Considering I use only low power systems, I could really use distributed computing to improve my productivity and that's been currently limited to some data science loads using Dask, Modin and occasional use of programming languages designed for DC.

Update: I have added your project link to a distributed computing problem thread on my problem validation platform. Hopefully those who are looking for such a solution would be able to find it there.

[1] https://needgap.com/problems/218-distributing-computing-load...


There is under a header written: "Rent your CPU power and win money !" I'm not sure if I understand it right, but "WIN MONEY" is not the same as "EARN MONEY" :D No TOS, Docs, anything. To me this looks like a good Clickbait :/



https://www.golem.network/

Haven’t thought of these guys in a while.


http://elastos.info/ and https://cosmos.network/ give you building blocks to build something similar to https://golem.network/

https://orchid.com/ and https://mysterium.network/ are doing something similar but with network/bandwidth; whilst https://filecoin.com/ and https://sia.tech/ are focused on storage.

Got to say, despite HN's general aversion towards blockchain/crypto, the space is budding with some really interesting decentralized frameworks, platforms, and apps not possible before at this scale.

As evidenced by Coinbase's numbers, they seemed to have absolutely zoomed past Stripe, and so it looks like there's some undeniable momentum and velocity in web3 initiatives.


Just a few weeks ago they finally launched mainnet!


Why can't I leave your website using the back button? This is already untrustworthy.


Rent your CPU out as part of a botnet!


Botnet as a service already exists: https://brightdata.com/

Seems they recently rebranded, they used to be luminati.io


Funny sidebar, I had an idea for something like this as a feature to a larger product. The scope creep of this concept eventually wound up consuming the entire project and it had to be surgically removed to save the original project. I'd like to revisit the idea someday. Maybe this is my chance?

I will be exitedly following this closely.


Last time I met John Maddog, he had a similar idea, already implemented and the whole "ecosystem" used it's own cryptocurrency. Project Cauã or something. Because I can't seem to find new news, I'm guessing that it's perhaps going downhill.


>"RentMyCPU

An app made to compute tasks from other nodes in the network using your CPU and you earn money for that.

[...]

How it works

This app works with webassembly files. These files are executed in a sandboxed environment (because uwp apps are sandboxed by default). You have the ability to execute a webassembly file on many nodes. To differentiate the node on which the webassembly file is executed, a numeric parameter is passed."

What's the story with WebAssembly and sockets/API calls?

I assume that WebAssembly prevents whatever it is running from opening sockets and making API calls...

If it doesn't -- then how will you prevent Black Hats / ill-intentioned people -- from creating Bot and DDoS networks, and other mayhem?


How does security work?


Well, it's WebAssembly, so there can't possibly be any exploits!


If there are exploits, it's definitely going to be all Bitcoin and the like. Impossible for anything to compete against literally stolen, free CPU.

Interesting way to make crypto eco-friendly: acknowledge that even the most exploitative mining rigs can't economically compete against literal cpu-jacking at scale :)


CPUs cannot mine modern bitcoin in any capacity. Were at exahashes now.


Wait, is WebAssembly known to be insecure? This is news to me.


The latest Chrome exploit released in the past day used it.


There have been several PoCs of microarchitectural attacks, such as Rowhammer or Meltdown/ Spectre/ MDS, implemented in webassembly.


See also Popular Power from 2001: https://en.wikipedia.org/wiki/Popular_Power


When integrated with RentMyRAM and RentMyDisk, we have Ethereum back, except the computation don't have to be repeated on every nodes in the network.


I think this would only work if a known company backs this up and control the workload/program/users. Otherwise, it is a heaven for hackers/spammers


Been using Gridcoin to provide idle CPU capacity to BOINC projects. Works well - once you have it all setup - which can take some time.


How is that different from mining ETH, which is basically running others' programs (smart contracts) in exchange for ETH.


Every Ethereum smart contact is validated (run) on every node in the Ethereum network, in order to achieve distributed consensus. It should be possible to be thousands of times more efficient than that (which suggests they could achieve much lower prices for buyers combined with greater rewards for CPU owners).


Imagine writing a contract that could mine more ether :O


I would love to be able to rent people's spare gpu compute. It's be a lot cheaper than aws or any other cloud service



This was a thing until mining ETH is profitable again.


Any detail design doc please


Paging @Samin100

https://vectordash.com/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: