Today, few centralized cloud providers like Amazon, Google, Microsoft, IBM supply most of the world's computing resources. Their servers run on a closed network, on proprietary payment systems and have hard-coded provisioning operations.
Golem network aims to be the first truly decentralized supercomputer, which connects computers in a peer-to-peer network to create a global marketplace for computing power. It enables individuals to rent computation time on other users' machines to run computations. This new ecosystem would make it cheaper and accessible to run CGI rendering, scientific calculations, and machine learning on "a global supercomputer."
Golem as an Ecosystem:
A few corporations dominate the market for computing resources. But due to recent technological advancements, the market can now be organized according to entirely new principles.
In the Golem network, the supply of computing resources comes from individual providers. It can be anyone from a person renting out their CPU cycles or a large datacenter contributing their entire capacity. They receive an incentive to join the network because of the payment provided by the requestors.
The requestors ask resources from the Golem network to run their computation. Golem will be attractive to the requestor because of the highly competitive setup to increase market efficiency. This results in more competitive and advantageous pricing setup compared to existing cloud computing setup.
Golem features and incentives
Components of the Ecosystem:
The Golem network also provides a built-in Transaction Framework for customizing payment mechanism and an Application Registry for interested parties to freely create and deploy software to the Golem network. These tools will provide flexible and efficient to deploy, distribute and monetize software running on the Golem network.
The number of quality of software developed within the Golem network will be one of the critical features in Golem in future. Hence the Application Registry and Transaction Framework are among the important elements in the ecosystem.
Golem as the Building Block of Web 3.0
The Golem team believes that the future will be a truly decentralized network, where users can directly and securely share content cutting out corporations or the middlemen.
Golem will be a useful part of the ecosystem to compute not only specific tasks but also to bulk-rent machines to perform operations within a self-organizing network. It will be a platform for microservices, allowing users to run both small and large applications completely decentralized.
Golem Network Token (GNT):
GNT account is a key component to ensure the future of the Golem Project. These tokens were created during the crowdfunding period and will attribute a variety of functions in the Golem network.
The primary functions of GNT token are:
- Payment from requestors to providers for computing resources.
- Software developers in the Golem network will be exclusively paid in GNT.
- When Application Registry and Transaction Framework are implemented, GNT will be used for other interactions.
Application Registry is like a marketplace where anyone can publish their application to be used in the Golem network. It is a smart contract in the Ethereum blockchain.
The functionalities of the Application Registry are:
- Give developers a medium to publish their integration and reach out to users in a decentralized way.
- Give requestors a place to look for specific tools for their need.
- Give providers full control of the code that runs in their system because of security concerns.
A general rule of software development is that there would always be malicious actors trying to cause harm to the system. Since in the Golem network, the requestor's code will be executing on a provider's computer, the challenge is them at all cost.
The standard approach for requestors to execute their code on a provider's machine is to run them inside a sandbox environment. But this method assumes that there isn't a bug that can be harmful to the provider. Hence, a sandbox is not ideal.
Another way can be to automatically evaluate whether or not the code is safe. But, this also cannot be avoided as well.
Golem solves this problem by dividing the Application Registry into authors, validators, and providers. Authors publish applications. Validators review and certify applications as safe and trustworthy by adding them to their whitelist. Providers put their machines in the network.
Providers can also maintain their own whitelist or blacklist, or choose the applications from a trusted validators' whitelist. Hence, both the validators and providers can manage their own list. This makes the system completely open and decentralized.
Golem doesn't want to design nor impose a one-size-fits-all payment system for the network. It intends to provide the freedom to developers to decide which transaction model works best, as long as it is compliant with Golem's Transaction Model.
The basic requirements for the transaction model are:
- Entry in the Application Registry.
- Use of open source and/or deterministic environment such as EVM.
- Community rating of the transaction model.
- Use of GNT for remunerating software and resource providers.
Golem is a fully decentralized, open-source, peer-to-peer network which is resilient to censorship and free from a single point of failure. Hence it uses the Ethereum network for transaction and replication of shared state and metadata. Golem tasks rely on integrity and consensus mechanisms for deployment, task execution, validation, and transaction.
Golem wants to be the backbone of a decentralized market for computing power. It provides both Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS). It connects computers in a peer-to-peer network, enabling individuals to rent computing resources to other users. It also enables any interested party to create and deploy software to the Golem network freely by publishing to Application Registry. Transaction Framework provides a unique payment mechanism for developers.