indyjo (OP)
Member
Offline
Activity: 74
Merit: 10
Developer of BitWrk
|
|
April 18, 2013, 08:44:56 PM Last edit: November 01, 2015, 09:32:36 PM by indyjo |
|
BitWrk - A Bitcoin-friendly, Anonymous Marketplace for Computing Power
Status: BitWrk 0.5.1 "Moon" has been released on November 1, 2015. BitWrk is in BETA Test phase. See http://bitwrk.net
Hi everybody! I'm not entirely new to the world of Bitcoin (bought some in 2011), but I'm new to this forum and I wanted to share an idea I had. Back in 2011, when everybody was mining on their GPUs, I was fascinated by the idea of having my computer work for money. Sadly I realized that the expected returns of mining would be so negligible that I gave up on it. Most of you will probably agree that Bitcoin mining will never be the type of "work" that can feed the masses. Just like in the real world, only a few people are miners. But that doesn't make the idea of donating your computing/networking/whatever resources to some crowdsourcing mechanism in exchange for micro-payment invalid. Here is a couple of services that your computer could provide to others in an automated, peer-to-peer fashion for a couple of 'toshis: - Perform scientific calculations, simulations, SETI@home-like challenges.
- Compile source code.
- Render images for graphics artists.
- Encode videos.
There are more possibilities, some exotic (providing internet proxying/tunneling/anonymity), some illegal (sending spam, DDOSing web sites, brute-force crypto attacks). Some might be more economically valuable than others. Some might suffer from bandwidth constraints, others from not being able to be carried out reliably. Lots of questions that would have to be discussed from case to case. My idea is to create some kind of computing-service-for-Bitcoin exchange where computers can go and offer their resources for some price, and other computers ask for some service at some price. Just like in a stock exchange, but in a fully automated fashion. If you want to earn some money or need an alternative to mining coins, there it is. If you need lots of computing power for a short amount of time, there you can buy it. To give you an idea: If you need the power of the whole bitcoin mining community for about 10 minutes, you might be able to just buy it: for a little more than 25 BTC! My questions are: - Has this been discussed before (and if yes, what are the relevant keywords?)
- Has anyone even started to write some kind of service-for-bitcoin software?
- Is anyone interested in helping me write a proof-of-concept implementation?
FYI: This is the continuation of a thread I started in the Newbies forum: https://bitcointalk.org/index.php?topic=179723.0
|
Developing BitWrk - make your hardware work for BTC.
|
|
|
LaggedOnUser
Newbie
Offline
Activity: 56
Merit: 0
|
|
April 19, 2013, 09:00:49 PM |
|
After reading the Wikipedia article on currency, I had a similar idea for a design for a currency. Bitcoin, they say, is a currency not backed by a commodity. However, there is a fungible, divisible, commodity that is readily available that could be used to back a pure virtual currency: computer time. Not the computer time expenditure used to mine a Bitcoin, because that time has already been spent. Rather, each unit of currency would be exchangeable for the ability to run a program in a sandbox on someone's computer for a fixed amount of execution time. At some point in the future, this could actually work. The currency would be backed by IOUs of computer time. At present, I'm not sure if it would work because there is little demand by individuals to run programs on other people's computers. But their idle computer time does have value, and the value could conceivably be driven by large organizations wishing to purchase mass computer time from individuals, that could provide a basis for a particular microeconomy. Although such a currency would have its roots in a particular commodity, it could of course be used as a medium of exchange for other things. It would also experience a high rate of technological depreciation as the value of one fixed unit of execution of computer time steadily drops (that would be inflation). On the other hand, I think there is still a use for such a currency, since it would help manage the scarcity of available computer time and provide the virtual currency with a defined backing.
|
|
|
|
Nancarrow
|
|
April 19, 2013, 11:51:35 PM |
|
This is what CoinLab were supposed to be working on. Then the Bitcoin Foundation launched, then CL told everyone they were taking over MtGox, and since then we've heard nothing about their HPC cluster developing project.
|
If I've said anything amusing and/or informative and you're feeling generous: 1GNJq39NYtf7cn2QFZZuP5vmC1mTs63rEW
|
|
|
ninjaboon
Legendary
Offline
Activity: 2128
Merit: 1002
|
|
April 21, 2013, 11:03:29 AM |
|
|
|
|
|
szuetam
|
|
April 21, 2013, 06:54:26 PM |
|
But it needs to be automated and easy to install for average user just 5 minutes and start earning.
|
|
|
|
super3
Legendary
Offline
Activity: 1094
Merit: 1006
|
|
April 21, 2013, 07:07:26 PM |
|
Basically the best way to go about this is making a client just like a miner that doesn't mine bitcoin. You have standardized GPU or CPU job system, maybe run by something like BOINC. You would then pay the users for their shares out in Bitcoin just like any mining pool.
|
|
|
|
indyjo (OP)
Member
Offline
Activity: 74
Merit: 10
Developer of BitWrk
|
|
July 23, 2013, 05:35:55 PM |
|
Just to notify everybody that this hasn't been forgotten. I've been busy writing a proof of concept implementation during the last few weeks. It is called BitWrk. If you're curious, you can try it out here: http://bitwrk.appspot.com/bidThis is meant to work like a stock exchange: computation tasks for money. No user registration will be required: Your Bitcoin address is enough. All actions are secured by digital signatures generated using the Bitcoin client itself (or the mechanisms it suggests). Further ideas include a reputation system and a trusted verification service to make fraud schemes unattractive. By posting this at such an early stage, I am risking a lot of negative feedback. I am asking for your comment and I am prepared for criticism. But beware: - There is no pretty user interface. It is meant more as an API for software that is more user-friendly.
- All participants start out with BTC 1.0 as pocket money per address, but this is purely virtual: There is no way to get money into or out of BitWrk yet
- There is no implementation of software to actually dispatch or perform computation tasks yet
- You need to have a lot of imagination to fill in the missing parts in your head.
I assume it is more efficient to answer specific questions than to explain everything in advance. So, please, try out the service. Enter whatever weird data you imagine. Try to make the server explode. DDoS it. And please give feedback when you succeed!
|
Developing BitWrk - make your hardware work for BTC.
|
|
|
Mooshire
|
|
July 24, 2013, 04:09:13 AM |
|
This seems very interesting. Please PM me with updates on this service.
|
|
|
|
indyjo (OP)
Member
Offline
Activity: 74
Merit: 10
Developer of BitWrk
|
|
July 31, 2013, 10:16:28 PM |
|
I decided to make the source code public. Have a look at https://github.com/indyjo/bitwrk
|
Developing BitWrk - make your hardware work for BTC.
|
|
|
Viriatto
Newbie
Offline
Activity: 33
Merit: 0
|
|
August 01, 2013, 02:55:02 PM |
|
The usage of peer-to-peer system is being explored mostly by those people in the dark, away from forums/coffe-time theorists... Has you said you also been in the dark, this gave you the opportunity to step back and have a widder vision about the whole concept of peer to peer hashing, there are still alot of projects to be done, but you gave a great example, congratz for that. Anything you need from Logics to Creativity make contact.
|
|
|
|
indyjo (OP)
Member
Offline
Activity: 74
Merit: 10
Developer of BitWrk
|
|
August 01, 2013, 04:13:36 PM |
|
Viriatto, thanks for the encouragement! What I am currently looking for, and what I would love to see some creative input about is a good first application. It doesn't have to be a "killer application" yet, just a proof of concept. It has to fulfill as many as possible of the following criteria, though: - Legal - no spamming, DDOSing or code breaking
- Someone should be willing to spend money for it
- High amount of computing power needed
- Low or medium amount of bandwidth needed
- Highly parallelizable
- Several seconds of latency tolerable, maybe more
- Results easily verifiable
- Results only depend on input
- Only free or Open Source software involved
- Low entry barrier
- Privacy not a big concern
- Software doing the work must be widely deployed
I was thinking of Bitcoin mining, because it has an immediate value (>BTC 25 per block), but I am curious if there are better applications. As I said, this is a proof of concept only. Later I want to encourage further development by sharing revenue with plugin developers.
|
Developing BitWrk - make your hardware work for BTC.
|
|
|
countryfree
Legendary
Offline
Activity: 3066
Merit: 1047
Your country may be your worst enemy
|
|
August 01, 2013, 05:56:48 PM |
|
The problem here is that computing power has never been cheaper, and it keeps on falling down. Maybe 10 years ago, I remember I once had my computer running all night to reencode a video. Something that today I can do in minutes.
I see an opportunity though, in calculating weather patterns and forecasting climate changes. This is the kind of stuff that requires huge computing power, but the people working on this are underfunded, and I don't really see how you could monetize such a system with them. The CIA and NSA also need large resources, and they have money, but they don't do much business with outsiders. I may have another idea, but I'm afraid it would not work economically. How much do you estimate 24 hours of computing power will bring to the computer owner?
|
I used to be a citizen and a taxpayer. Those days are long gone.
|
|
|
indyjo (OP)
Member
Offline
Activity: 74
Merit: 10
Developer of BitWrk
|
|
August 01, 2013, 06:57:48 PM |
|
@countryfree: I may have another idea, but I'm afraid it would not work economically
Come on, be brave, this whole idea is crazy enough :-) More important than economic success is the fun that comes out of it. How much do you estimate 24 hours of computing power will bring to the computer owner?
That's the million dollar question, and I can't answer it. That's why I'm aiming for an open marketplace. I am aware that the price of an individual transaction will be well below what is economically feasible with Bitcoin. That's why I am implementing a micro-payment system. Prices can't go below the cost of energy, and they should be considerably higher to compensate for the investment in hardware - just like with Bitcoin mining. There is one difference though: The Bitcoin algorithm makes mining more difficult as more people are participating, making the economic success a of mining a question of keeping an edge over the competition. With Bitwrk, the price would be regulated by the rules of supply and demand only. If prices fall too low, sellers can offer different "articles" (computation services). Maybe even switch back to Bitcoin mining. Falling prices would be an incentive to keep searching for more lucrative niches. Giving miners an alternative to earn money sounds like a good idea to me. On the buyer side, consider the immediate usefulness of having almost unlimited power at the tips of your fingers. Dispatching the rendering of an animated 3d video sequence to a couple of hundred nodes, without registration, without having to buy hardware, without needing to buy rendering farm services, for a couple of cents! That's impressive. And for the sellers, it's a lot more money than mining will ever make.
|
Developing BitWrk - make your hardware work for BTC.
|
|
|
Morbid
Legendary
Offline
Activity: 1202
Merit: 1015
|
|
August 01, 2013, 07:38:58 PM |
|
very interesting. though i see this as a client application needs to be created where computer will idle until being told to do a task on behalf of whoever buys the computation power. an economy can be created where amount of slave computers increase making each share to be less as task is split among more workers. though it can pick up as amount of clients increase too. so i assume they'll have to pay per hash of work. i believe this should be anonymous so workers dont know what they hashing as well as clients having privacy (maybe for extra fee). so pretty much any website can be ddosed this way or any research can be done without need of supercomputers. more work required will drive the prices per hash up attracting more workers. i wish i was programmer.
|
|
|
|
spiral_mind
|
|
August 01, 2013, 09:54:32 PM |
|
Hey, I've seen this idea tossed around before and I think it would be a great success if coded properly. One necessary part of the project is being able to verify that the work was actually done rather than being faked.
We've got to be able to convince academics and businesses that Bitwrk simulations are just as good as a local supercomputer. Bitcoin micropayments would make the "miners" have to have very little faith in the buyers so miner confidence is not likely to be an issue. We also want to make sure that malicious code can't be run through the program by limiting the types of operations that the program can do. Also if the results of the simulations could be obscured in a safe way from the person doing them it would give confidence to computing time buyers that their work would not be stolen. Encryption of output data as well as a way of verifying that a simulation was done rather than faked are necessary.
|
|
|
|
indyjo (OP)
Member
Offline
Activity: 74
Merit: 10
Developer of BitWrk
|
|
August 02, 2013, 06:19:49 AM |
|
One necessary part of the project is being able to verify that the work was actually done rather than being faked.
That's a big problem indeed. Some results are easily verifiable, making them easy to accept or reject. Other types of computations must be dispatched to multiple peers so that the results can be compared. But of course, those peers must be really independent. How can we prevent them from being rigged? I would like to introduce a reputation system, making it desirable to have a good statistic, by offering monetary incentives. More fees in the beginning and if you behaved badly, less fees if your reputation is good. This also protects the servers from spamming. Users could put a reputation threshold in their offers so that a certain quality of service is to be expected. Then I would offer a set of trusted peers to resolve disputes in the remaining cases. As any justice, such a system would probably be underfunded and only be able to resolve a certain percentage of (randomly selected) disputed transactions, but that might be enough in combination with the reputation system. Bitcoin micropayments would make the "miners" have to have very little faith in the buyers so miner confidence is not likely to be an issue. We also want to make sure that malicious code can't be run through the program by limiting the types of operations that the program can do.
I would actually only trade a couple of "articles" (computation tasks), each implemented by a plugin running on the client computers. Also if the results of the simulations could be obscured in a safe way from the person doing them it would give confidence to computing time buyers that their work would not be stolen. Encryption of output data as well as a way of verifying that a simulation was done rather than faked are necessary.
End-to-end encryption is no problem (using Bitcoin addresses as participant IDs makes it quite easy to derive a cryptography scheme). Splitting huge workloads into lots of little puzzle pieces might be a good way to conceal the nature of the workload from the eyes of the workers. That is unfortunately not going to be possible with all types of tasks.
|
Developing BitWrk - make your hardware work for BTC.
|
|
|
kuriboh
Sr. Member
Offline
Activity: 419
Merit: 286
Hire Bitcointalk Camp. Manager @ r7promotions.com
|
|
August 02, 2013, 06:59:42 AM |
|
This project seems really great, I'm keeping an eye to be there when this launch officially.
|
|
|
|
countryfree
Legendary
Offline
Activity: 3066
Merit: 1047
Your country may be your worst enemy
|
|
August 02, 2013, 05:39:01 PM |
|
We have to find first a unit of measure. Some people in the project will have very fast new computers, some other guys will want to participate with much older machines. When I looked into bitcoin mining, it took me a while to understand that my computer was not strong enough for it. I could have left it running one whole month and earn only peanuts.
So there should be an easy test for anyone who thinks about joining the program, to give an idea about how much profit this could make. Is this in the works?
|
I used to be a citizen and a taxpayer. Those days are long gone.
|
|
|
indyjo (OP)
Member
Offline
Activity: 74
Merit: 10
Developer of BitWrk
|
|
August 04, 2013, 09:17:14 AM |
|
We have to find first a unit of measure. Some people in the project will have very fast new computers, some other guys will want to participate with much older machines. When I looked into bitcoin mining, it took me a while to understand that my computer was not strong enough for it. I could have left it running one whole month and earn only peanuts.
You're very right in that work loads need to be standardized somehow, so that results are comparable. E.g., one unit of "Blender rendering" may only amount to X raytracing operations. Something like that. There should also be a time limit on operations, and I am still thinking about whether the time limit should be something that is negotiated (part of the bid, like the price) or standardized too. Both has its merits. Those limits shouldn't be too strict. If a seller fails to do the work in time or within the limits, the buyer gets back his money but doesn't get to see the (partial) result. Nobody profits from that. Whether you can make a profit from selling work at market prices is a different question. Contrary to Bitcoin mining, there is no algorithm involved artificially eating up your profits, i.e. the profit margin is potentially higher. You'd still have to decide on when to replace hardware by more efficient one. So there should be an easy test for anyone who thinks about joining the program, to give an idea about how much profit this could make. Is this in the works?
Sounds like a benchmark! It's not in the works but surely someone will provide one should the project succeed. You could also just give it a try - entry barrier is as low as it gets, not even a signup.
|
Developing BitWrk - make your hardware work for BTC.
|
|
|
Moogle
Full Member
Offline
Activity: 238
Merit: 100
KUPO!
|
|
August 07, 2013, 01:35:32 AM |
|
Sounds like a promising project if this gets going! Once the ASIC have taken over there's gonna be a whole Lotta cuda processing power available haha.
|
|
|
|
|