Golem is a distributed computing platform founded by Julian Zawistowski and Piotr Janiuk. Their product is a dapp built on the ethereum network that will allow parties to get paid for renting computing power to users of the network.
Currently, companies looking for computing power to do things like CGI rendering, scientific calculation or machine learning, must either use cloud based services or buy expensive computing hardware to those ends. Both are very costly and centralized. Golem is looking to create a globalized decentralized computing architecture that allows users to get around these current limitations. As a general computing platform, Golem will also allow developers integrate new applications to the platform.
There are three parties in the Golem ecosystem. The requestors, providers and software developers. Requesters are the parties who need the computing power to power their applications or whatever other uses they might find require computing resources. The providers are the parties that provide these computing power by either renting out space on their CPUs or through larger computing infrastructure designed to rent out its resources to the network. Finally, the software developers will be designing applications that can be used by different parties on the Golem network.
The software developers play an important role in the network. They will be creating a wide range of applications that will include their own payment mechanisms (nano-payments, offchain payment channels, custom receipts etc). As always, there are vulnerabilities inherent to allowing developers to generate software for a given network. This is a larger issue when the applications will be run on other people’s computers. Golem is solving this problem through several steps. First, they are creating what’s called an application registry. Developers add their application to the application registry where the software is sandboxed (tested in isolation to make sure it is not malicious). However, sandboxing is not a perfect process. So the second stage of Golem’s validation process requires splitting users of the application registry into three categories. Authors, validators and providers. Authors publish applications, validators review and certify applications as safe and trustworthy by adding them to their own whitelist. Validators may also mark applications as malicious by adding them to their own blacklists. Providers are also given the right to choose whom to trust by selecting validators whose lists are used by the particular instance of Golem running on their nodes. Apart from that, providers may maintain their own whitelists or blacklists.
Distributed computing is one of the immediate value propositions of blockchain technology. The cost savings and efficiency gains from this approach could be significant. However, there remain significant technical hurdles for this dream to be realized. The biggest limitation is that the distributed nature of blockchain architecture could lead to inefficient distribution of computing resources. These are technical problems that some of the best companies in the space are trying to solve. Golem is one of the most promising companies trying to build the architecture to this end. Their team, network and name recognition are all exceptional. It is a project worth monitoring and investing in.