BitWrk - Bitcoin-fueled Distributed Peer-to-Peer Blender Rendering (and more)
Artists use Blender, a powerful yet free 3D software, to create impressive pictures and movies. This a requires a time-consuming, and costly, production step called rendering.
BitWrk integrates with Blender and makes rendering much quicker by dispatching it to a swarm of computers.
By creating a marketplace for computing power, BitWrk introduces a new kind of cloud computing, in which resources are shared in a peer-to-peer fashion. It works like a stock exchange, using crypto currency Bitcoin for payment.
This is interesting for two groups of people:
- The buyers: Users who require lots of computing power at their finger tips.
- The sellers: Hardware owners who have computing power to spare and would like to monetize that resource.
BitWrk provides a service to both groups by connecting them in an easy-to-use way.
On the web
As of version 0.6.4:
- BitWrk concentrates on the use case of providing peer-to-peer rendering for Blender, the free rendering software, into which it integrates by use of an add-on. Local network and swarm rendering can be combined. GPU rendering is supported, too.
- BitWrk is now integrated with a Bitcoin payment processing system, allowing users to pay for compute power, in Bitcoin. For this, the user has to request a deposit address, which will be provided after a couple of seconds by the payment processor. Bitcoin transactions need at least 6 confirmations, i.e. depositing on BitWrk takes one hour on average. Withdrawals aren't enabled yet for security reasons. Users are advised to keep the amount of money stored on BitWrk as small as possible (deposits can be as small as 0.001 BTC!). Of course, a pay-out can be triggered manually by the developer. Ask him!
- There is a central service, written in Go (http://golang.org/) and based on Google AppEngine. It exports an API for entering bids and updating transactions. Every transaction's lifecycle can be traced, and all communication is secured with Elliptic-Curve cryptographic signatures. These are of the same kind than those that can be generated using the original Bitcoin client, so it is very easy to test for correctness.
- A client (also called the "daemon"), written in Go, provides a browser-based user interface to everything related to BitWrk. The daemon enables control of ongoing trades, registered workers and automatic trading mandates. It also provides access to BitWrk's Bitcoin-based payment system.
- The client accepts tasks from BitWrk-enabled programs (such as Blender with the BitWrk add-on installed) and dispatches them to the BitWrk service, where they are processed by other participants. It also manages local worker programs (such as blender_slave.py) and offers their services to the BitWrk exchange for money.