P2P Network, Cryptocurrency, and the Scalability Problem in Rendering

    

The sudden burst of public attention to blockchain technology in 2017 caused many industries to evaluate their workflow. Most importantly, questioning the practicality of distributed effort over a peer-to-peer network. In the entertainment industry, media production quality has always been improving. So the demand for computing power is only going to increase. Cloud rendering service providers are beginning to notice their limit due to the fact that each cloud service is maintained by a single entity. A peer-to-peer network that secures transaction of data, which includes rendering jobs and currency exchanges, may be able to harness computing power globally without establishing a service provider that oversees all the activities.

Rendering takes time

Rendering 3D objects is simulating the interaction between light and surfaces. The more light sample an image gathered, the more it is accurate and defined. Therefore, one still image rendering process never truly ends, the creator “pulls the plug” when the resulting image meets the required standard of a project. The biggest challenges for the computing or graphic processors at a rendering job are highly reflective materials, image resolution, and video frame rate.

In real life, huge amount of light tends to bounce off materials that are glossy and reflective. This phenomenon is an exhaustive task for computing or graphic processors. Every time a light ray hits a reflective surface in a simulated scene, the intensity, angle, quality, and hue changes according to the material property. If there are other reflective surfaces near by, the light ray will keep bouncing until the intensity is lose. It is always the creator's decision to limit the simulation to an extend. But creators usually want high quality and sometimes photorealistic images, patience is part of their job too.

On delivery, image size is a simple yet crucial factor. A 360p resolution is 480x360 and Full HD resolution is 1920 x 1080. The total amount of pixels are 172,800 and 2,073,600 respectively. That means, it will take 12 times as long to render a Full HD image as a 360p image.

Onto moving pictures, the minimum “frames per second” standard for videos in media production is 24 frames per second. That means one second of video consist of 24 still images appearing successively to create the illusion of movement. If it takes a decent machine to render one image of a 3D scene in 20 minutes, it will take 480 minutes (8 hours) to make 1 second of video. A one-minute video will take the processors twenty days straight to complete the rendering job.

Every factor that influence a rendered image has significant advantage and drawback to the total time it takes to complete a task. As creators push quality faster than hardware development, rendering time will extend exponentially. Creators will soon be paralyzed if they do not acquire enough power to produce their work.

Ways to render

Owning machines capable of rendering gives creators direct access to computing power (but never enough to meet deadlines). It also requires a huge capital and maintenance. Just like any physical asset, an entity can only own so many of them before concerning over physical and financial risks. A creator's priority is to create visual mediums rather than running a warehouse full of processors. Local rendering hits the scalability problem head-on and can easily diverge creators from their initial goal.

Staying true to visual production, creators look for rendering service providers. Cloud computing services are proven to be useful for all kinds of jobs. They are especially popular for unsupervised machine learning where computing power is maximized and human intervention is minimal. In this sense, rendering jobs are similar to machine learning. By using cloud services, creators have access to computing power on demand without having to invest in equipment and having to maintain them. The scalability problem is solved in the eyes of creators. But in the grand scheme of things, the problem is merely passed onto cloud service providers.

Now that cloud service providers are beginning to realize their limit on computing power. They look to blockchain technology for a possible solution.

Case Study

On October 2016, the Golem Project published a whitepaper proposing a decentralized supercomputer. This idea includes an ecosystem that allows individuals to provide or request computing power through smart contracts using the Golem Token. This encouraged anyone who previously lack proper equipment to experiment with technology such as machine learning and complex image rendering.

Similar idea appeared on Ocotober 2017, Otoy announced their own ERC20 token, Render Token (or RNDR). Already reputable in the realm of content creation, Otoy's Initial Coin Offering (ICO) funding goal was met with enthusiasm from creators, investors, and traders around the world. Claimed to offer "distributed GPU rendering on the blockchain" (GPU stands for Graphics Processing Unit), Otoy aims to create a peer-to-peer network that manages rendering jobs and billing methods through the use of Render Tokens. This seemingly new proposal, however, is at least 9 years old (as of 2018). The model was patented (US9197642B1) by Julian Urbach, the founder of Otoy, in 2009 when the blockchain technology was still in infancy. With the sudden burst of attention to the blockchain technology in 2017, Otoy's project was able to attract enough attention to bring the idea to life.

Peer-to-Peer Network

A peer-to-peer network is a distributed structure where participants (or commonly known as 'nodes') directly share data and workload equally across the network. A centralized administration is absent in this scene because all the nodes on the network are sufficient resource to each other. This architecture was actually in use as early as 1999. Harnessing power from the network for rendering job is the easy part. The challenge is payment. Because modern civilization trusts cash amongst many other important things, the process of paying and receiving money is heavily shielded and dominated by the banking industry. 

Tokens and Smart Contracts

Tokens are the attempt to put a price tag to all job requests on the peer-to-peer network without asking authorization from financial institutions. It is safe to say that encryption algorithms paired with distributed ledger is a method no riskier than any clearing house.  Despite their arbitrary monetary value much like securities (the financial instrument), we are interested in tokens within their specific ecosystem. If you prefer Chuck E' Cheese's tokens as payment, you would be denied any dough from your local pizza den. But you would live like king in a Chuck E' Cheese's arcade. Likewise, a specific token for rendering jobs is only useful within its ecosystem. Contrary to arcades, the peer-to-peer network for distributed GPU rendering is an ecosystem because it is designed for machines to sustain themselves economically. That means a machine can earn a wage on its own.

In a typical transaction where a rendering job is proposed by a creator, a compatible machine is chosen to take on the job. Pricing is then automatically calculated based on its scope. Funds, in the form of tokens, will be deposited from the creator's wallet and kept by a smart contract. Like existing crowdfunding platforms, the payment dedicated to the task is not released until the rendering job is fully completed.

Since machines that take on rendering jobs can earn a wage in the form of tokens. Circulating one type of token for similar job (rendering) within a network is feasible, and it can legitimize the use of it. Wherever there is exchange other than the job payment, fees, bargain, and time can hinders the completion of the actual task. The use of tokens can minimize the ambiguous change in monetary value due to fees and rate conversions. 

From RFP's, to contract, to invoice, to payment, every single event that occurs is recorded forever on the network. These information cannot be altered because they are encrypted and distributed. Furthermore, this network allows participation from any machine with an internet connection. Most importantly, a rendering job and its bill are treated within an automatic transaction, eliminating the need for third party oversight. Such a global system must be met with efficiency and precision. 

End Note

Blockchain technology is based on peer-to-peer network. Similar to torrents, there are hypes and doubts because it generated daring proposals to solve major problems. The general public can certainly benefit from it but it is uncertain how long that will last. Major corporations in the banking industry are already invested in the technology for reasons both good and bad. It is also a matter of time when regulations are pressed upon the use of this technology, resulting in a less (or more?) useful version. Despite political and financial implication far too troublesome to comprehend, blockchain technology is a fascinating way to address and solve an issue.

About The Author

Director of Research and Development