Golem is an open decentralized computing marketplace.
Cloud computing market is dominated by large companies, such as Amazon, Google, and Microsoft. High entry barriers and the closed market allow these corporations to put high margins. Golem wants to open the market. It also provides a simple way to rent hardware for the general public. In turn, it will increase competition and therefore can decrease prices significantly.
There are three groups of users in Golem: providers, requestors, and developers. Providers offer hardware. Requestors rent the hardware. Developers create applications on top of the platform. All three groups of users are free to set any price, so they form a free market for hardware renting and cloud computing.
To achieve mass adoption of the platform, Golem needs to set incentives for all three groups of users. Providers have the opportunity to easily and efficiently rent their computing resources and generate income. Requestors have the freedom to select from a wide range of hardware and pick the one that perfectly suits their needs while paying at market price. Developers receive an additional source of the distribution channel and have a way to earn money by creating valuable software.
Golem is designed as a general-purpose computing platform, but the team initially focuses on one particular use case: CGI rendering. Rendering is a very resource demanding task. CGI artists have a choice to either render on their own computers or rent a machine from cloud computing providers. The former option may take a lot of time even on modern PCs, while the latter option may be costly and inconvenient. Brass Golem (the name of the first release) allows to render externally cheap and effortlessly.
Eventually, Golem plans to provide solutions for other use cases, e.g. machine learning. As the decentralized technologies evolve, other platforms also move to the stage where they can be safely used in production. The long-term strategy of Golem is to be the backbone of the decentralized internet by integrating with the other decentralized tools and platforms, such as Ethereum and IPFS.
Golem Network Token (GNT) is the native token of Golem. It is used to pay for hardware renting and to reward app developers. Additional use cases for GNT, such as deposits or certification fees, might be introduced with future updates. GNT has a fixed amount, and the whole supply was generated during crowdsale. Golem is working on Ethereum, and GNT is an ERC20 token.
Anyone can publish his application on the Golem platform. While all applications run on the virtual machines and can’t access the host, it is possible to write malicious code which will use various hacks and vulnerabilities to get access to the host machine. It can lead to serious problems for hardware providers. Golem plans to mitigate that risk by introducing Application Registry.
Application Registry is a user-curated list of secure and malicious software. Developers submit their apps to the registry. Then, curators evaluate the security of applications by adding new apps to either whitelist or blacklist. Providers, in turn, can choose which curators they trust by picking their lists. They also can manage their own whitelists and blacklists. The hardware of the providers will be used only to run the whitelisted software or everything except blacklisted apps, depending on their preferences. To ease user onboarding, Golem will create a default whitelist of trusted apps which providers can use as a starting point.
As the Golem builds a general-purpose computing platform, it’s important to also implement a flexible payment system. Transaction Framework serves this purpose. Basically, it is an advanced in-app payment system for developers. Using the framework, application creators can create their own transaction models. Transaction Framework goes with the set of rules which an application should follow. For example, the application should be presented in the application registry. Another possible requirement is that the transaction model should be approved by the community. Possible elements of the framework are pay-per-use, off-chain payments, custom receipts, and more.
For such an open and trustless platform, it is important to provide robustness for all operations. Golem uses Ethereum to settle payments, so it inherits its security. Golem also works on efficient task execution and validation.
- March 17, 2014: Initial commit on Github. github.com
- April 28, 2016: Introduction to Golem on Medium. blog.golemproject.net
- October 19, 2016: Thread on Bitcointalk. bitcointalk.org
- November 11, 2016: Golem crowdfunding. blog.golemproject.net
- March 1, 2017: Release of Golem Alpha 0.4.0, the first alpha release. github.com
- April 10, 2018: Release of Golem on Ethereum mainnet. blog.golemproject.net
- April 10, 2018: Release of Golem Beta 0.15.0, the first beta release. github.com