by Joe Ellis
What is Golem?
Golem is an innovative piece of technology working toward the decentralization of computing power. Although Golem is still somewhat in its infancy, if successful, it would be an accessible-to-everyone, distributed, global supercomputer. It is currently under development by a dedicated team of programmers and engineers, all of whom have extensive knowledge in P2P software and blockchain engineering.
Golem’s primary goal is to introduce computing power to the sharing economy, an economic system whereby assets or services are shared by private individuals for a fee. The premise is that you only pay for as much as you use; if you need to drill a hole in the wall, you could either go out and buy a brand new electric drill or simply borrow one from your neighbor. Of course, borrowing one would be far more economically viable and thus the preferred course of action.
A similar principle holds for computing power. The issue faced in the present day is that heavy computing power, albeit essential in a multitude of different fields such as machine learning and medicine, is expensive and scarce. Organizations or individuals with a requirement for heavy computing power often purchase expensive hardware for private use, and although this is appropriate in many contexts, the initial investment for powerful hardware is high, and it is unlikely that the hardware will be used continuously and is thus wasted in some respects.
Alternatively, it is possible to rent out time on a powerful computer over the internet, but it will cost you dearly. Additionally, this computing power is centralized, and centralization of services has inherent complications and the potential for abuse; they introduce a central point of failure which could be subject to attack or catastrophic data loss, and history has proven that the collection and sales of user data is a profitable business model, however unethical.
Golem aims to redistribute computing power. Incentivized by financial reward, contributors donate their ‘spare CPU cycles’ to Golem by carrying out tasks delegated by the users of the network. Computers all over the world can benefit financially by using idle times to carry out computations for the Golem network. Under this framework, a global pool of computing resources (whose computational power will be unparalleled compared to what is available today) can be tapped into inexpensively.
If Golem proves itself to be successful, it could be revolutionary. Golem is currently in alpha, codenamed ‘Brass Golem,’ and is only capable of carrying out Blender CGI rendering; which is, however, a real and illustrative use case for distributed computing power. For small-time animators and designers, Brass Golem offers an alternative to the dichotomy between extortionate cloud-based rendering services and waiting ages for their own machine to carry out the render independently.
The concept behind Golem is straightforward; the task at hand is split up into fragments and sent to participants in the network. Each computer completes their portion of the task and returns the result. This divide and conquer approach to computation is very efficient and means many tasks are carried out in parallel, ensuring high speeds.
To give a more concrete example, Brass Golem currently allows rendering with Blender. The thing to be rendered is split into frames, or perhaps portions of an image, and is sent to the Golem network for processing.
Participants who offer their computing power are paid through transactions which are facilitated by the Ethereum blockchain. Ethereum was chosen because it has small transaction fees, ensuring that you do not pay more for the transaction than for the computing power itself and because it does not suffer with coin fragmentation. Perhaps counterintuitively, participants are not paid based on the speed with which they complete their computations or the amount of computation they undertake. Rather, all of the participants are entered into a lottery, where one lucky winner will be given the entire reward. This is a so-called ‘probabilistic payment scheme,’ where the basic idea is that the payer issues a lottery ticket which has a value and a chance of winning, allowing us to calculate an expected reward for the ticket. For example, given a $100 lottery ticket whose chances of winning is 1/100, its expected value is naturally $1.
The lottery approach was decided by the Golem team to minimize the net cost of transaction fees; paying each and every contributor their dividend would mean that the net transaction fee is proportional to the number of participants. Therefore, as the network grows, its use becomes increasingly expensive due to transaction fees. A lottery approach overcomes this problem, managing to keep these fees constant regardless of the number of contributors, since only a single participant is paid the full reward, thereby only incurring only a single transaction fee.
At a glance, the lottery approach may seem unfair. It doesn’t seem right that the majority of the contributors receive no financial reward for their efforts. However, if you take into account the fact that numerous computing tasks will be undertaken by a contributor during the time they are part of the network, it means that they will be entered into numerous different lotteries. Probabilistically, they are almost guaranteed to win at some point. The mean reward for a participant approximates the value that they would earn each time if the financial reward were to be divided evenly between them.
The Golem infrastructure is established through Ethereum smart contracts. All of the lotteries for the Golem network are handled by a single smart contract. The consumer creates a lottery description and pays the dedicated contract however how much they think the completion of the task is worth. Ethereum, however, does not solve all of Golem’s problems; the generation of random numbers (as required for the lottery) is problematic with Ethereum since its computational model is deterministic. This means that the outcome of a state change has to be the same for everybody who is running a copy of the Ethereum Virtual Machine, which limits the possibilities when it comes to random numbers. A common approach is to use future data in the blockchain, such as the next block’s header, as a seed.
The inner workings of Golem are more complex but are sound and well thought out. More information regarding the Golem protocol can be found in the Golem Nanopayments whitepaper.
Regarding the Golem Network Token (GNT)
Golem’s initial coin offering (ICO) commenced on November 11, 2016. An ICO is an unregulated means of crowdfunding, whereby an organization accepts payment in exchange for digital tokens or assets. In the case of Golem, users who wanted to hold a stake in the project could exchange ether (Ethereum’s digital token) for Golem Network Tokens, or GNT for short. GNT is used as the currency for the Golem network; every task-maker initiates a lottery by funding it with GNT, and the computers which carry out their sub-tasks are paid in GNT.
In the ICO, 1000 GNT could be purchased for one ether, where the minimum and maximum financings were 150,000 and 820,000 ether respectively. The crowdfunding included an 18 percent total endowment, where 12 percent was given to the Golem Factory and 6 percent to the Golem team. Golem token creation has since ceased; it is a limited supply token (1 billion tokens forever), as defined by the GNT smart contract. This has implications for the economics of the token, most notably that its value must appreciate as the network grows; there is a correlation between the price of the GNT and the success of the Golem project as a whole. Limited supply means higher demand as the network gets bigger.
The GNT-BTC pair is relatively young, so the Ichimoku indicator only displays the conversion line (blue) and the lagging line (purple) on the weekly timeframe, shown below. The conversion line indicates a short-term equilibrium just above 0.00018300 for the Poloniex exchange, with the current market price well below this level at 0.00009895 at the time of writing.
Also, we see that the market has tested, but not yet successfully broken, the fractal support at 0.00009704 for three weeks in a row. If GNT-BTC manages to stay above this support level, we should see GNT appreciate over the long term. Finally, notice that a new fractal support looks to be forming at the recent low of 0.00008800, which will also point to renewed upward momentum. In the vent that the support at 0.00009704 is broken, with a weekly candlestick closing below this level, then the next support will be found at 0.00006013.
The flat conversion line (blue) suggests that the market should be attracted to this area in the long term. However, we should also be wary of any change in the slope of the conversion line, as it will give us clues as to where the market is headed next. For instance, if the conversion line starts to trend higher and start flicking upward, then we should anticipate a bullish move and look to buy. On the other hand, if it starts to trend downward, we need to identify where the downturn might end and look for support levels and wait to buy GNT at a better price.
The GNT token can also be found on the Bittrex and Liqui exchanges.
The Market Potential of Golem
Golem’s market is cloud computing. Cloud computing is already a huge market, with forecasts predicting a turnover of $246.8 billion by 2020. Cloud rendering is an even smaller subset of this market. These figures are huge, especially considering that the market cap of all crypto assets as of July 2017 comes in at around $97 billion.
Golem’s core goal is to create a competitive market for computation. Golem Brass is the first step, which supports CGI rendering exclusively. However, cloud rendering in and of itself is a large market; predictions by the Golem team suggest a turnover of at least $200 million per year.
The market for computational resources created by Golem will be competitive, inevitably bringing prices down. Providers of cloud services, such as AWS and Microsoft, charge more than the cost of computation to create a profit margin. Currently, cloud computing is an oligopoly, leading to high prices for the users. In order to change this situation, a paradigm shift is necessary, and Golem suggests that the right way to go is to decentralize and distribute computing power.
Golem is a promising project. If successful, Golem could be an indispensable tool for medicine, machine learning, business, graphics, and cryptography. Granted, the team will have to overcome many challenges looking forward, but significant headway has been made already. It is already possible to use Golem in its current state to render images and video, which attributes to its long-term potential. This Reddit user was able to render the image below using Golem:
Golem introduces a new paradigm for computing resources; inexpensive, distributed, global computing. Golem could be a major competitor in the cloud computing market and one which revolutionizes the way businesses and people perform heavy computations, which makes a strong case for holding some GNT as an investment and/or to be added to a cryptoasset portfolio.