Author

Topic: [ANNOUNCE] BitWrk: Better ways to earn Bitcoins than mining (Read 35182 times)

member
Activity: 74
Merit: 10
Developer of BitWrk
Code:
$ blender --version
Blender 2.71 (sub 0)
Sorry, Blender 2.71 is not yet supported. I was on vacation last month, and it will take me a couple of weeks to get the next release done. I recommend that you try with Blender 2.70a!
hero member
Activity: 854
Merit: 500
Code:
bitwrk-blender-0.3.0>$ python3 blender-slave.py --blender /bin/blender
Blender version could not be detected

Code:
$ uname -a
Linux archaspire 3.15.1-1-ARCH #1 SMP PREEMPT Tue Jun 17 09:34:41 CEST 2014 i686 GNU/Linux

Code:
$ blender --version
Blender 2.71 (sub 0)
        build date: 2014-06-26
        build time: 20:24:22
        build commit date: 2014-06-25
        build commit time: 20:29
        build hash: 772af36
        build platform: Linux
        build type: Release
        build c flags:  -Wall -Wcast-align -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=return-type -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -Wlogical-op -Wundef -Winit-self -Wnonnull -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wuninitialized -Wredundant-decls -Wno-error=unused-but-set-variable -march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4  -fopenmp  -msse2  -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing
        build c++ flags:  -Wredundant-decls -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wuninitialized -Wundef -Wmissing-declarations -march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4  -D__STDC_CONSTANT_MACROS -fopenmp  -msse2  -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing
        build link flags:  -Wl,--version-script=/build/blender/src/blender-2.71/source/creator/blender.map -pthread
        build system: CMake

member
Activity: 74
Merit: 10
Developer of BitWrk
Would love to try it out but you need to put out some easy to run software.

Ok, there are now binaries for Windows and OSX on the release page: https://github.com/indyjo/bitwrk/releases/tag/0.3.0

Can you run them?
legendary
Activity: 1094
Merit: 1006
Interesting project. I had the exact same idea a while back specifically related to Blender. I even started building a front end for it https://github.com/super3/FastF12
Would love to try it out but you need to put out some easy to run software.
member
Activity: 74
Merit: 10
Developer of BitWrk
Update: BitWrk 0.3.0 "Mercury" has been released! Release announcement here.
member
Activity: 74
Merit: 10
Developer of BitWrk
BitWrk is rolling along nicely!  Grin

The Blender module has stirred up some attention in the Blender community (e.g., on blenderartists.org and on blendpolis.de) I could still use some help in development.

So, you can help BitWrk in the following ways:
  • Good: Try out the software, do some Blender rendering, report bugs
  • Better: Provide a BitWrk node or two, on a fast computer, providing Blender rendering to the community
  • Even better: Participate developing the BitWrk software! Contributions will automatically be paid with some mBTC by Tip4Commit
  • Even better: Try to integrate BitWrk into your favorite, compute-intensive application. This is a lot of work but will be rewarded by a share on generated revenue. Please contact me for opportunities!

If you like the project you can also donate to Tip4Commit, which encourages participation by paying tips: 

I would like to stabilize on the client software and Blender integration, before I start feeding BitWrk with Bitcoin transactions.
member
Activity: 74
Merit: 10
Developer of BitWrk
Here is a screenshot of Blender halfway through rendering an image using BitWrk:
member
Activity: 74
Merit: 10
Developer of BitWrk
New release 20140124

This development release adds experimental support for Blender, the Open Source rendering software. Rendering tasks can be dispatched to the BitWrk service, possibly greatly enhancing rendering times.

Having Blender support could make BitWrk, and also Bitcoin, interesting for new target audiences, like artists, architects, students.
member
Activity: 74
Merit: 10
Developer of BitWrk
Linux package available

This is good news for users of Arch Linux. There is now a binary package available for you:

https://aur.archlinux.org/packages/bitwrk/

I hope the Open Source community is going to produce more packages soon, for all those wonderful Linux distributions out there. A great way to support this project, by the way. Big thanks to Bradley Pesicka!
member
Activity: 74
Merit: 10
Developer of BitWrk
BitWrk plugged in podcast:
Stephen Sprinkle from morningbit.com has plugged BitWrk for his podcast.

See https://www.youtube.com/watch?v=UHY_Y20Fl4E
member
Activity: 74
Merit: 10
Developer of BitWrk
I too am not 100% happy with the buy/sell terminology, and I am open for suggestions. Both buyers and sellers place bids, so that term would be ambiguous.

Security is a very important factor and your scenario is quite creepy. BitWrk service operators have to keep a close eye on potential security risks.

The system is designed so that selling needs a little more technical expertise than buying, so we should recommend some basic security guidelines.
newbie
Activity: 10
Merit: 0
It is! It's basically crowdsourcing computing power.

I found the Buy/Sell terminology confusing. Perhaps that could be changed to Jobs/Bids?

Also, are you thinking of system that sends the worker application to client computers?

Have you thought of the possibility of this being used to make a botnet or distribute malicious software? For instance what if worker application  was actually cryptolocker and it simply ran for a few minutes at high speed (to look like a legitimate application) but instead encrypts the users home directory? The attacker would simply pay 330uBTC to deliver their payload.

Perhaps there needs to be an approval process before a worker application is allowed onto the network.
member
Activity: 74
Merit: 10
Developer of BitWrk
Edit: Aha, it is working now. I have no idea why. All I have done is walk away and come back later and restart my computer a time or two. Oh well! I'm thinking of making some applications to sell. This is exciting!

Edit 2: And there you are with your 333 uBTC buy! You're working my poor computer to death LOL
Ahh, that made my day :-)

Please go ahead and embed BitWrk support into your favorite software. It's not very difficult from a programming point of view. The hard part is done by the BitWrk client. I can provide you with all necessary documentation, will just need some time to write it.

Do you know what I really like about BitWrk? If all works out, it could be a whole new business model for open source software.
newbie
Activity: 10
Merit: 0

I'll be running buy orders for uBTC 333 for a couple of hours. The 500 error code is just what the raytracer is seeing. You can see what's really going wrong in the client's console. Yes, I know that's inconvenient!

WRT to port forwarding, looks like there is still something blocking port 8082. What does http://www.yougetsignal.com/tools/open-ports/ say?

Edit: Oh, and I am seeing this error in the server's log:
Quote
Invalid price satoshi 10, must be >= uBTC 10

I just ran the client and did not see your buy orders.

8082 is open according to yougetsignal.com

Yes the satoshi error was me messing around but I fixed that because I got an error on my end as well.

I think the problem is that the master is trying to connect and receive info from the slave. However the slave and the master are on the same ip address and that creates an issue.

Edit: Aha, it is working now. I have no idea why. All I have done is walk away and come back later and restart my computer a time or two. Oh well! I'm thinking of making some applications to sell. This is exciting!

Edit 2: And there you are with your 333 uBTC buy! You're working my poor computer to death LOL
sr. member
Activity: 770
Merit: 250
This sounds great, though this is a very difficult project but at least as important. I hope you all the best with this and I'll keep watching this.
member
Activity: 74
Merit: 10
Developer of BitWrk
Alright so I decided to try this out.

Cool!  Cool

Quote
I got the client compiled and running as well as net.bitwrk/gorays/0. I also made sure to port forward port 8082. I saw that there were no current buy orders on the server so I decided to run the net.bitwrk/gorays/0 as master. But, it keeps saying "Got status code 500 (500 Internal Server Error)". Do you know why?

I'll be running buy orders for uBTC 333 for a couple of hours. The 500 error code is just what the raytracer is seeing. You can see what's really going wrong in the client's console. Yes, I know that's inconvenient!

WRT to port forwarding, looks like there is still something blocking port 8082. What does http://www.yougetsignal.com/tools/open-ports/ say?

Edit: Oh, and I am seeing this error in the server's log:
Quote
Invalid price satoshi 10, must be >= uBTC 10
newbie
Activity: 10
Merit: 0
Alright so I decided to try this out.

I got the client compiled and running as well as net.bitwrk/gorays/0. I also made sure to port forward port 8082. I saw that there were no current buy orders on the server so I decided to run the net.bitwrk/gorays/0 as master. But, it keeps saying "Got status code 500 (500 Internal Server Error)". Do you know why?

Also I tried to run a slave to do the work the my master had created, however the client keeps saying

2013/12/06 09:54:02 Error receiving result from BitWrk network: Error transmitting work and receiving encrypted result: Error fetching request &{POST http://xx.xxx.xxx.xxx::8082/ef9163af HTTP/1.1 1 1 map[User-Agent:[BitWrkGoClient/0.0.1] Content-Type:[multipart/form-data; boundary=7293f83d9824dae8c9a1b9b7fe1fd67558fb9f5
e8c5f6111ffbe2d92b424]] 0xc084108f30 0 [] false xx.xxx.xxx.xxx::8082 map[] map[]
map[]   }: Post http://xx.xxx.xxx.xxx::8082/ef9163af: dial tcp xx.xxx.xxx.xxx:8082: ConnectEx tcp: No connection could be made because the target machine actively refused it.
2013/12/06 09:54:02 Temporary disposed: 243e20170658331cc17bf444afe0ced18d6f0184
22e35d781a2d1290c2ed3a7d

The x's are to hide my ip address.
member
Activity: 74
Merit: 10
Developer of BitWrk
I think a web of trust is viable, but proving arbitrary computational work was done with zero trust is not.
Well, computational work will not be arbitrary, but defined by a rigid specification how to compute the result from a given input. This is what the "article ID" is used for in BitWrk: specifying which kind of computation to perform.

Apart from dummy article IDs like "foobar", currently the only valid one is net.bitwrk/gorays/0:
  • net.bitwrk is the namespace prefix I will use for my articles, i.e. software I integrate into BitWrk.
  • gorays is the name of the sample application (the raytracer I mentioned).
  • 0 is the version of the article specification, in order to remain compatible. Whenever I break backwards compatibility, I will assign a new version number.
  • There might be more suffixes later, e.g. to specify a maximum complexity class.
t3a
full member
Activity: 179
Merit: 100

If I do a certain amount of computational work for another party, how do I prove I did it?
The buyer has posted a hash sum of the work data. You post a hash sum of the result to the publicly visible transaction log. Equal work must (by BitWrk's specification) lead to an equal result. All messages are cryptographically signed.

So the buyer of the computer time would have to know what the result of the work was before-hand?


In case of a dispute, the correctness of the computation can be verified by a third party. The third party could be a computer owned by the BitWrk service operator (who must be trusted in anyway) or by the market itself (this hasn't been decided on yet).
Losing a dispute will be punished by reputation loss. Good reputation will be rewarded with lower fees.
I think a web of trust is viable, but proving arbitrary computational work was done with zero trust is not.
member
Activity: 74
Merit: 10
Developer of BitWrk
If I do a certain amount of computational work for another party, how do I prove I did it?
The buyer has posted a hash sum of the work data. You post a hash sum of the result to the publicly visible transaction log. Equal work must (by BitWrk's specification) lead to an equal result. All messages are cryptographically signed.

In case of a dispute, the correctness of the computation can be verified by a third party. The third party could be a computer owned by the BitWrk service operator (who must be trusted in anyway) or by the market itself (this hasn't been decided on yet).

Losing a dispute will be punished by reputation loss. Good reputation will be rewarded with lower fees.
t3a
full member
Activity: 179
Merit: 100
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.

If I do a certain amount of computational work for another party, how do I prove I did it?
newbie
Activity: 30
Merit: 0
I'm interested in trying this out, it sounds like a great way to earn a bit of extra coin Tongue
[EDIT2] derp, I didn't scroll down at first
member
Activity: 74
Merit: 10
Developer of BitWrk
Inviting everyone to try today's version of the client.

Feedback is very much welcome! It shouldn't take more than 5 minutes to get running.
member
Activity: 74
Merit: 10
Developer of BitWrk
Just an update, live from the center of BitWrk development Wink



The first image shows the dialog that pops up when you permit a trade. The second screenshot shows off the client's new abilities to manage workers and mandates.

If you'd like to try it out: http://bitwrk.net has step-by step instructions.
member
Activity: 74
Merit: 10
Developer of BitWrk
Im interested in participating. What can I do?
Hi Marco, I appreciate your offer!

Please try out the software, that's my main goal for today.

Additionally,
  • Do you have ideas for software with a high demand for distributed computing power?
  • Do you have software development experience? You could help with the main software or adapt existing software (such as Blender) to use BitWr. People who integrate software will get half of the fees BitWrk collects with it.
  • Do you have a couple of CPU cycles to spare while mining? You could run a BitWrk slave for a while.

And, for anyone interested in supporting this project with money: I am planning to perform a test run involving a couple of real (u)BTC as bounty (date will be announced here, but I would like to do it within a month). Donations to 1BiTWrKBPKT2yKdfEw77EAsCHgpjkqgPkv are welcome and will be fully redistributed in the test, as bounties!

Thanks again for your support,
Jonas
legendary
Activity: 2072
Merit: 1049
┴puoʎǝq ʞool┴
Im interested in participating. What can I do?
member
Activity: 74
Merit: 10
Developer of BitWrk
Hi everybody!

Just wanted to let you know that this project is alive and kicking. Currently, there is a simple demo application and the user interface is under heavy development. This is what it looks like, right now:

As you can see, there are three sections, and only the first one, "Activities", is currently implemented. It shows all active and pending activities. Pending activities must be permitted by the user.

The activity you can currently see is a buy, i.e. your client is buying one unit of net.bitwrk/gorays/0 for the price of uBTC 100 (BTC 0.00001). This is actually the very first BitWrk-enabled application: http://github.com/indyjo/rays, a very simple raytracer.

The transaction was made with the BitWrk server currently running on Google AppEngine. You can see all the details here: http://bitwrk.appspot.com/tx/aghzfmJpdHdya3I3CxINQXJ0aWNsZUVudGl0eSIVYV9uZXQuYml0d3JrL2dvcmF5cy8wDAsSAlR4GICAgICQtpYKDA

And this is what came out:


It looks so cheesy and iconic, I had to post it.

If you would like to test BitWrk, follow these steps:
  • Go to https://code.google.com/p/go/downloads/list and download the Go SDK for your platform. I recommend version 1.1.2
  • Go to https://github.com/indyjo/bitwrk/ and click on "Download ZIP". Unpack it somewhere and cd into it.
  • Compile the client: . env-vars.sh && cd bitwrk-client && go build
  • Run the client (if you're behind a router, you need to enable port forwarding for port 8082): ./bitwrk-client -extport 8082
  • navigate to http://localhost:8081/
  • Go to Go to https://github.com/indyjo/rays/ and click on "Download ZIP". Unpack it somewhere and cd into it.
  • cd gorays && go build
  • To buy: ./gorays -a BITWRK -bitwrk-master
  • To sell: ./gorays -bitwrk-slave
Your BitWrk client will ask you for permission on what to do. Although all prices are in BTC, at the moment no integration into Bitcoin has been done. You can neither win nor lose money. Every BitWrk client will have BTC 1.0 available to play with.

I will keep offering to buy gorays renderings for uBTC 42, and to sell them for uBTC 1337  for a couple of hours. Trade with me if you like Cheesy
member
Activity: 74
Merit: 10
Developer of BitWrk
Status update: Today, the client was able for the first time to complete a full transaction. BitWrk is making progress!  Cool
Next thing on the list is the client's user interface. It will be browser based and display at least the following information:
  • Current account balance (available and blocked)
  • List of currently running activities (buys and sells)
  • List of activities needing a permission
  • List of completed and aborted activities
  • List of registered workers
  • List of account movements
See https://github.com/indyjo/bitwrk for more details.
legendary
Activity: 1094
Merit: 1006
Look up FastF12 thats the super old version. Basically you pass FastF12 the render settings, it renders it out, and passes back the rendered image. After that its pretty simple to keep track of them, and do distributed rendering.
Ok, I see what you're doing. With BitWrk it would be important to guarantee predictability of the output. All random number generators would have to be initialized with the same seed, maybe restricted to single-threaded rendering to make everything deterministic. Also, having the user interface integrated with Blender would be a necessity to get more than just a handful of artists (maybe possible with a Python extension?).

So, I think the effort is quite considerable and deserves a monetary compensation.

Quote
Why 1% when I could just do the whole thing and take 100%?
I meant one percent point of the fees I am going to collect (which will be in the order of a couple percent). You can still do whatever you want to with your software, that's not mutually exclusive. If you want to, take my source code and build your own BitWrk service.
Yeah Blender has nice APIs and plugin. Ideally the user would just install the plugin, and push a few buttons. Doing this on fixed or flexible bids would be best. I don't do percentages, if you want to hire me thats a different story.
member
Activity: 74
Merit: 10
Developer of BitWrk
Look up FastF12 thats the super old version. Basically you pass FastF12 the render settings, it renders it out, and passes back the rendered image. After that its pretty simple to keep track of them, and do distributed rendering.
Ok, I see what you're doing. With BitWrk it would be important to guarantee predictability of the output. All random number generators would have to be initialized with the same seed, maybe restricted to single-threaded rendering to make everything deterministic. Also, having the user interface integrated with Blender would be a necessity to get more than just a handful of artists (maybe possible with a Python extension?).

So, I think the effort is quite considerable and deserves a monetary compensation.

Quote
Why 1% when I could just do the whole thing and take 100%?
I meant one percent point of the fees I am going to collect (which will be in the order of a couple percent). You can still do whatever you want to with your software, that's not mutually exclusive. If you want to, take my source code and build your own BitWrk service.
legendary
Activity: 1094
Merit: 1006
Agreed. Blender users will pay a decent amount of money to have their stuff render faster too. With Cycles rendering GPU is the perfect tool, just need to write the software to get it done. I have a quarter of a codebase to do this stuff, but not really sure if I want to devote the time to it.

I see a lot of potential for BitWrk in semi-professional user groups, like design and architecture students.

Would you like to give some more details on what you have?  Would you be interested in writing an integration plugin for Blender? With regard to motivation, how about one percent of revenue? :-)
Look up FastF12 thats the super old version. Basically you pass FastF12 the render settings, it renders it out, and passes back the rendered image. After that its pretty simple to keep track of them, and do distributed rendering. Why 1% when I could just do the whole thing and take 100%?
member
Activity: 74
Merit: 10
Developer of BitWrk
Agreed. Blender users will pay a decent amount of money to have their stuff render faster too. With Cycles rendering GPU is the perfect tool, just need to write the software to get it done. I have a quarter of a codebase to do this stuff, but not really sure if I want to devote the time to it.

I see a lot of potential for BitWrk in semi-professional user groups, like design and architecture students.

Would you like to give some more details on what you have?  Would you be interested in writing an integration plugin for Blender? With regard to motivation, how about one percent of revenue? :-)
legendary
Activity: 1094
Merit: 1006
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.
Agreed. Blender users will pay a decent amount of money to have their stuff render faster too. With Cycles rendering GPU is the perfect tool, just need to write the software to get it done. I have a quarter of a codebase to do this stuff, but not really sure if I want to devote the time to it.
member
Activity: 74
Merit: 10
Developer of BitWrk
For those of you who are interested on the technical side of BitWrk, here is a state chart of the phases of a transaction. In BitWrk, a transaction is what is created if two bids (a buy and a sell) match.

The messages (in the boxes) are the messages the two participants send to the BitWrk server. Behind the scenes, the participants transmit work and result information directly. All communication is done via HTTP.

A message sent to the BitWrk server is realized with a HTTP POST to http://bitwrk.appspot.com/tx/aghzfmJpdHdya3IlCxINQXJ0aWNsZUVudGl0eSIIYV9mb29iYXIMCxICVHgY5bgCDA (as an example).

Data is transferred as form data (application/x-www-form-urlencoded). To make things secure, participants must provide a signature (using the same mechanism the Bitcoin client offers) of the sent data. The signature proves that the message was created by the participants.

Explanation of message arguments
argumenttypedescription
workhashhex-encoded, 32 bytesA SHA-256 sum of the work package
worksecrethashhex-encoded, 32 bytesSHA-256(workhash|buyersecret), both inputs to SHA256 are the binary 32 byte values of workhash and buyersecret
workerurlURLThe address the seller wants to have the work package delivered to. Will be used for all direct communication between buyer and seller.
buyersecrethex-encoded, 32 bytesRandom value generated by the buyer and sent to the seller after transmitting the work package. Its purpose is to prevent sellers from hijacking other seller's workers.
encresulthashhex-encoded, 32 bytesAfter the seller has computed the result, it sends it back to the buyer, but encrypted with a one-time key (encresulthash). This way, the buyer will not immediately be able to take the result (and run with it), but needs to sign of a receipt for the received, encrypted, result data. This is the encrypted result's SHA256 check sum
encresulthashsigbase64-encoded, 65 bytesA Bitcoin-like signature, issued by the buyer, of the encrypted result's hash value. By providing this signature, the seller can prove that the buyer has received the result correctly. There is no denial for the buyer.
encresultkeyhex-encoded, 32 bytesThe secret AES-256 key used for encrypting the result. By publishing the key together with the buyer's signature of the encrypted result, the seller proves that the buyer has received the result, and releases the encryption.
acceptwork, rejectwork, rejectresult"on"Tags to accept work, reject work or reject a result.

Could anyone with some crypto experience have a look at the scheme?

Quote
full member
Activity: 238
Merit: 100
KUPO!
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.
member
Activity: 74
Merit: 10
Developer of BitWrk
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.

Quote
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.
legendary
Activity: 3066
Merit: 1047
Your country may be your worst enemy
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?
sr. member
Activity: 420
Merit: 286
Hire Bitcointalk Camp. Manager @ r7promotions.com
This project seems really great, I'm keeping an eye to be there when this launch officially.
member
Activity: 74
Merit: 10
Developer of BitWrk
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.

Quote
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.

Quote
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.
full member
Activity: 146
Merit: 100
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.
legendary
Activity: 1202
Merit: 1015
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.
member
Activity: 74
Merit: 10
Developer of BitWrk
@countryfree:
Quote
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.

Quote
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.
legendary
Activity: 3066
Merit: 1047
Your country may be your worst enemy
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?
member
Activity: 74
Merit: 10
Developer of BitWrk
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  Wink
  • 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.
newbie
Activity: 33
Merit: 0
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.  Cool
member
Activity: 74
Merit: 10
Developer of BitWrk
I decided to make the source code public.
Have a look at https://github.com/indyjo/bitwrk
sr. member
Activity: 322
Merit: 250
This seems very interesting. Please PM me with updates on this service.
member
Activity: 74
Merit: 10
Developer of BitWrk
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/bid

This 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  Wink
  • There is no implementation of software to actually dispatch or perform computation tasks yet Wink
  • 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!
legendary
Activity: 1094
Merit: 1006
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.
sr. member
Activity: 377
Merit: 253

But it needs to be automated and easy to install for average user just 5 minutes and start earning.


legendary
Activity: 2128
Merit: 1002
hero member
Activity: 492
Merit: 503
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.   Sad
 
newbie
Activity: 56
Merit: 0
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.
member
Activity: 74
Merit: 10
Developer of BitWrk

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 25BTC!

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://bitcointalksearch.org/topic/better-ways-to-earn-bitcoins-than-mining-179723
Jump to: