One of the more futuristic ideas for Bitcoin that has been floated around is that it could become the currency for payments between machines on some new kind of world computer. BitWrk is a project that has turned this concept into a reality — albeit via a bare-bones version without many bells and whistles.
The basic idea with BitWrk in its current form is to allow 3D graphic artists to outsource the rendering of their images, which can be a computationally expensive process, to other internet-connected devices. BitWrk establishes a market for these devices to communicate with each other, and users of the 3D-design software Blender can opt to pay to have their work rendered by devices connected to the BitWrk network rather than their local machines.
While BitWrk is used only for 3D rendering right now, it could be extended to provide a distributed computing layer for many other applications in the future.
Bitcoin Magazine recently reached out to BitWrk developer Jonas Eschenburg to learn more about his vision for the project.
A Simpler Approach to the World Computer
Instead of trying to build BitWrk directly on top of a blockchain and aiming for a completely decentralized system, Eschenburg created a market for users to buy and sell computing power with bitcoin via a central service running on Google App Engine. After the participants are matched on the central service, they then connect to each other in a P2P fashion.
“BitWrk uses bitcoin as currency but otherwise doesn’t try [to] be completely decentralized or blockchain-based,” said Eschenburg. “This makes a lot of things easier and buys time to think about issues such as how to prevent cheating or how to distribute data efficiently.”
The idea of a world computer enabled by bitcoin transactions is something that has been discussed by many advocates of the digital currency, including 21 CEO Balaji Srinivasan. The basic idea is that devices with cheap hardware could autonomously purchase system resources, such as storage or computer processing power, with bitcoin via some online market.
21 already has a marketplace for bitcoin-payable APIs, such as pinging a website or issuing some real-world data, and Ethereum is a more generalized version of this concept as a blockchain for the execution of Turing-complete smart contracts.
Eschenburg explained why he didn’t build BitWrk on top of the platform. “Ethereum was made for trustworthy, not high-performance, computation. It doesn’t provide the bandwidth to manage each and every BitWrk transaction. In order to use Ethereum, you have to use it sparsely. The Golem Project does it that way, and I wish them much success. It is an interesting project and it also tries to achieve distributed Blender rendering, which is a good thing.”
Bitcoin has inspired a countless number of projects focused on the decentralization of everything from Uber to venture capital financing over the past few years, but it’s unclear how many of these projects use decentralization as a tool that actually adds value to their offering.
In the case of Bitcoin, there was a clear issue being solved by enabling a decentralized, digital, censorship-resistant store of value and medium of exchange.
BitWrk’s Proof of Concept
BitWrk is currently in a proof-of-concept stage where it can be used only for rendering 3D graphics. During this stage of development, Eschenburg plans to work out the kinks, figure out exactly how the system should function, and build a user base.
“These days, BitWrk emphasizes the rendering use case a lot,” said Eschenburg. “That is because, in order to build up a user base, the product has to be well-suited for the specific job. It doesn’t help to have a highly generic product that can do everything but makes everything cumbersome. At least for now, BitWrk needs to become a tool for artists.”
In terms of developing specific functions of the network, the prevention of cheating by those who say they will render images for BitWrk users is a concern for Eschenburg. “This is the most difficult question to answer, and the project will hinge on having a good solution,” he said.
“I have thought a lot about this issue and I believe the answer lies in making cheating economically unattractive,” Eschenburg continued. “Every buyer will have the option to rate the seller after each finished transaction, similar to what people do after they buy on eBay. BitWrk will reward positive ratings with lower fees.”
The current version of BitWrk also uses a centralized model when it comes to payments. “As BitWrk needs microtransactions much smaller than what has ever been feasible with Bitcoin, I chose the centralized way, in which participants deposit some bitcoin on their accounts and withdraw later,” Eschenburg explained. “The whole microtransaction business is taken care of within the system.
“Bitcoin transaction fees on the other hand do play a role when depositing or withdrawing money, so transactions shouldn’t get too small, either,” Eschenburg added.
Eschenburg is hopeful that his project can establish bitcoin as a currency within the 3D artist community.
BitWrk’s Grander Vision
Of course, the eventual goal for Eschenburg is to move beyond 3D graphics rendering. “There is a whole bunch of problems called ‘embarrassingly parallel,’ which are suited toward distributed computation,” he said. “Scientific applications play a big role, [as does] brute-force cryptoanalysis. A very well-known problem of this class is Bitcoin itself, namely its mining process.”
According to Eschenburg, the mechanism behind BitWrk can remain the same whether it’s used for rendering 3D animations or cracking crypto keys.
In addition to expanding BitWrk to other use cases, Eschenburg would also like to implement payment channels or the lightning network at some point in the future. “I see payment channels, and especially the lightning network, as a promising path that could enable smaller (and, even more importantly, quicker) deposits and withdrawals,” he said. “Currently, this is not a top priority, though.
“BitWrk wants to be a very cost-effective way of accessing a lot of computer power, so the amounts of money needed aren’t that big,” Eschenburg added.
BitWrk is an open-source project and can be found on GitHub. According to Eschenburg, version 0.6.0 is currently in the works, which will enable better usability and new features such as LAN rendering with Blender.