What is Golem?
Golem is a worldwide, decentralized supercomputer that combines the computing power of every machine on its network. In the Golem ecosystem, you can loan out your computer’s spare resources to others who need the additional power to perform complex computations and tasks. Following the same trend that led to Uber and Airbnb, this is a solid way to make some extra money with your unused and/or underused resources.
On the flip side, you can rent computing power from the network to perform or even just speed up tasks that your computer has trouble handling. This is ideal if you routinely perform intensive calculations for activities like natural language processing (NLP), artificial intelligence (AI), or even machine learning for DNA exploration. However, the Golem team is first focusing on CGI rendering – an area riddled with expenses and long wait times.
How does Golem work?
Let’s walk through the entire process of a requestor (party who needs to perform a computing task) using the Golem network.
To keep it simple, let’s assume that the requestor’s task is the same class as one of the task templates that Golem provides. If it wasn’t, the requestor would have to write his/her own code for the task using the task definition framework. However, this option isn’t available in the first two releases – Brass and Clay. Performing tasks in a different class than the task templates will be available in the third release, Stone.
Blender and Luxrender are the only two task templates available in the first Golem version, Brass. Eventually, the set of task templates will turn into the Golem Shop where you can add and use new templates on the network.
Back to our example, though. After the requestor chooses a template, the task is added to the task manager, and the network receives the information about the task.
A provider (party providing the computing power) receives all the broadcasted task offers and selects the best one. In doing so, it also checks the reputation of each node broadcasting the tasks and rejects ones with a poor reputation. When a provider finds a suitable offer, it sends a price and its computing power information to the requestor. In return, the requestor verifies that the provider has a high enough reputation to work with.
If all is kosher, the provider receives the appropriate resources via IPFS and begins the computation on the task computer. Once the task is complete, it sends the results to the requestor back through the IPFS network.
Then, the task manager passes the information to the appropriate node to verify the results. The requester may decide to send it to multiple nodes for redundant verification.
Finally, the payment system is notified through an Ethereum smart contract, and funds move from requestor to provider. If the provider sends accurate results and the requestor pays on time, both parties will see an increase in their reputation.
Outside of the scenario outlined above, Golem contains two other related features.
- Application Registry – An Ethereum smart contract for developers to publish their own Golem applications. This makes it easier for developers to find users and requestors to find the tools they’re looking for.
- Transaction Framework – A set of requirements that a developer must follow when implementing a transaction model for their self-made Golem application.
Golem Network Token (GNT)
GNT is an ERC20 token that you use to pay for the computing power that you rent. As a provider, you’re free to set your GNT rental price at whatever you deem is appropriate. Because Golem is a marketplace, these prices should find an equilibrium over time. You’ll also need GNT to submit deposits as a provider and participate in the Application Registry.
The Golem team minted 1,000,000,000 GNT during the ICO of which 82% was distributed to the crowdsale participants.
Golem team & progress
Golem is led by Julian Zawistowski who’s also an advisor to Hoard, a blockchain platform for the video game industry. The team first released the alpha, Brass, in August 2016. Brass includes Blender and LuxRender, two tools for CGI rendering. Later releases are as follows:
- Clay – Includes the Application Registry and Task API. In this release, developers will be able to integrate with the platform.
- Stone – Includes the Certification Mechanism and Transaction Framework. With this release, Golem can be used in a SaaS model.
- Iron – Has increased security and stability. This version allows developers to create applications that run outside of the sandbox.
- The long-term vision of the Golem team is to build a decentralized platform of microservices acting as the “new Internet of tomorrow.”
There are a few similar projects to Golem that the team addresses on their FAQ page. The most notable project is iExec; however, it’s primarily focusing on requestors who want to run off-chain computations. The Golem team believes that there won’t be any use-case overlaps between the two in the immediate future and they may even be able to work together later on.
SONM and BOINC are also working to solve similar problems. SONM uses third-party frameworks whereas Golem doesn’t, and the Golem team states that BOINC is a more centralized solution.
Golem is a distributed supercomputer and computing power marketplace. Available since the middle of 2016, the coin was previously a top-10 crypto by market cap but has since fallen in the ranks. This doesn’t mean that the team has stopped progressing, though.
They’ve been consistently improving the Brass Alpha and have plans to release the Brass Beta soon. Additionally, they’ve ramped up tech support, community outreach, and are expanding their reach worldwide.
With similar projects chomping on Golem’s heels, this year should determine if slow and steady really does win the race.
Editor’s Note: This article is originally published at Coincentral.com