Golem Network
Golem Network is an open-source, decentralized computing platform that utilizes a peer-to-peer (P2P) network to provide affordable and accessible computing resources. Golem was founded by Piotr Janiuk.[1]
History
Golem Network was created in 2015, to democratize access to censorship-resistant computing power. It was first presented at DEVCON0 in 2014. Piotr Janiuk, Golem's CEO also presented Nanopayment in Ethereum at DEVCON1 in 2015.[3]
Golem was originally to be funded by DAOist, but by November 2016 Golem Network became one of the first projects to crowdfund for building. The Initial Coin Offerings (ICOs) to fund its development raised funds by selling Golem Network Tokens (GNT). The team raised about $8.6 million in ETH by selling more than 80% of the total supply at the time when the project was pitched.[4]
Golem's first implementation Brass Golem became one of the first apps to be launched into the Ethereum mainnet. It was launched in April 2018, with a specific focus on CGI rendering, specifically for the 3D modeling application Blender and the rendering engine LuxRenderer. Three releases followed which are Clay, Stone, and Iron. Golem has also updated its Brass Beta and the highlights of this upgrade are the streamlined task creation GUI, the support for partial task restart in case of subtask timeouts, and the fix that should alleviate the issues with the Docker service on Windows.[11] In October 2018, Golem launched a GPU version of its decentralized computing power marketplace. [1]
Throughout 2020, the Golem team continued to release updates and improvements to the network. In November, Golem began a token migration, in which original GNT tokens migrated to GLM 1:1 ERC-20 tokens. Golem’s utility token was initially called GNT, but as the project’s new transaction framework is built on Ethereum’s Layer 2, ERC-20 tokens were required. [7]
By 2021, Golem's team released the mainnet version of Golem, Beta 1 aka Yagna being a more polished, less buggy, slightly enhanced, and incremental improvement of Alpha IV. [8] They also announced a strategic partnership with Polygon, a layer 2 scaling solution for Ethereum. This integration aimed to enhance the scalability and cost-effectiveness of transactions on the Golem Network. The collaboration came with the release of Beta IV which includes Yagna v0.9.0 which is important for both requestors and providers. [5][6]
Overview
Golem is a blockchain-based software that allows users to buy, sell, and rent computational power for various purposes, including artificial intelligence, cryptocurrency mining, CGI rendering, and other complex computations that demand great computing power. The Golem network enables users to rent out their idle computing power to others who need it, effectively creating a global marketplace for computational resources.
Golem operates through an advanced protocol that enables users to provide and rent idle hardware from providers in a peer-to-peer (P2P) manner. The protocol's settlement layer, powered by the Golem Network Token (GLM), facilitates the establishment of a shared and alternative economy. In this system, users can generate passive income by leasing their hardware resources. The integration of these features empowers developers to construct applications on the platform, and to build on traditional cloud infrastructure while avoiding the challenges commonly associated with centralized platforms. [9]
Golem allows to break down tasks into smaller subtasks and distribute them across multiple providers, enabling parallel processing. This approach boosts efficiency and speeds up the completion of complex computations. Users engage directly on the Golem platform, exchanging GLM tokens for the utilization of their idle computing resources. [10][13]
In September 2023, Golem introduced Ray on Golem. Ray on Golem integrates the Ray distributed computing framework with the Golem Network, providing a convenient option for Python developers to access the network. It also serves as a cost-effective infrastructure choice for Ray users. Ray on Golem involves several phases. In Phase 1, research is conducted to understand challenges faced by Ray users on AWS and assess the feasibility of Ray on Golem. Contact is established with Ray users to evaluate the project idea and gather insights. Phase 2 focuses on building the Minimum Viable Product (MVP) for executing Ray applications on the Golem Network, actively seeking feedback on user experience for refinement. In Phase 3, the team engages with the community, including Ray contributors and Golem providers, to gather feedback, assess viability, and determine the need for further investment. [16]
In July 2023, Golem Network revealed a collaboration with Reality NFT, a platform where users can create, buy, and sell NFTs based on real-world assets. As part of the partnership with Reality NFT, Golem Network introduced two significant updates. These include the Golem Blockchain Gateway and a Blender-based service that utilizes Golem Network computing resources for rendering personalized building animations. [17]
In September 2022, Golem announced a Reward Program with a prize fund of 28,000 GLM for Beta Testers of the Golem New Network Driver. To participate, users installed and tested the New Network Driver for a month. [18]
Golem announced the release of Beta III in October 2021. Beta III featured Yagna v0.8.0 as a central component, bringing improvements to the Yagna Python API, Yapapi, with added support for Virtual Private Networks (VPN) and custom usage counters. The Golem handbook was also updated with new content and expanded developer resources, including examples and information to assist developers in starting their projects on the Golem platform. [19]
Beta II was released in June 2021. In Yagna (Eutukhia) 0.7.0 (Beta II’s longer name), improvements were made to enhance the experience for both providers and requestors. Notable updates included a new ERC20 payment driver addressing previously reported bugs, refined market negotiations allowing the restart of negotiations, and the ability to cancel or reject agreements. Key features encompassed the introduction of the Services API and development documentation for the Service Model, making the creation of service-oriented applications more straightforward for developers. Additionally, a new payment verification mechanism, significant enhancements to the Golem Service Bus (GSB), and substantial improvements to the Golem Test Harness were implemented. [20]
Golem Beta I was released in May 2021. Beta I featured the mainnet Golem's transition to the recently migrated, ERC-20-compliant GLM token. To maintain manageable transaction costs, the implementation involved utilizing zkSync, a Layer 2 payment provider. Despite Yagna lacking P2P support, verification mechanisms, and low-level protocol encryption and signing, it encompassed all other features intended for the Minimum Viable Product (MVP) of the new Golem. Notably, these included the implementation of a decentralized market, support for computational environments such as VM and WASI, and the incorporation of per-task and per-usage pricing schemes. Payments, facilitated with the new GLM token, were supported on both the Ethereum Mainnet's Layer 1 and Layer 2. [21]
Yagna v0.13.2 and Yagna v0.14.0
In December 2023, Golem Network introduced Yagna v0.13.2 and Yagna v0.14.0. [22]
Yagna v0.13.2 introduces technical improvements such as CORS (Cross-Origin Resource Sharing) and WebSocket Message Proxy, enhancing the capabilities of the JS SDK. These features specifically address obstacles related to executing tasks from the browser, namely file transfers and connecting to a remote Yagna daemon. This update represents a step forward in enabling platform usage through web browsers. [22]
Yagna v0.14.0 introduces a new payment driver, which offers benefits such as simplified transaction processing, enhanced Yagna payment status command, reduced RPC spamming, improved transaction fees cost efficiency, and transaction batching and multi-transfer. [22]
Architecture
Application Registry
The Application Registry functions as an Ethereum smart contract, allowing individuals to publish their applications that are prepared to operate on the Golem network. The objectives of the Application Registry include: [15]
- Providing developers with a decentralized platform to publish their integrations and connect with users.
- Offering requestors a centralized location to discover tools that align with their specific requirements.
- Empowering providers with complete control over the code they execute, addressing security concerns.
Transaction Framework
When a developer integrates an application with Golem, they have the flexibility to choose a transaction model that complies with Golem's Transaction Framework. The Transaction Framework consists of specific requirements, including an entry in the Application Registry, use of an open-source and/or deterministic environment like EVM, community approval or rating of the transaction model, and the use of GNT for compensating software and resource providers. The Transaction Framework is built on the Ethereum platform, providing expressive power for the implementation of advanced, trustless schemes. [15]
Reputation System
The Reputation System aims to address trust and reliability challenges in the network, allowing anyone to participate as a provider or requestor without formal identification. Its goal is to establish a framework for secure and reliable interactions among network participants. [23]
The Golem reputation system is structured with distinct yet interconnected levels: Data, Aggregation, Motivational, and Penalty. This layered approach provides a nuanced understanding of reputation and ensures the system's comprehensiveness and adaptability. [24]
Data Layer
The system focuses on collecting and storing raw, factual evidence of actions and outcomes, serving as the foundation of the reputation model. In the Golem Network, this includes data on completed transactions, service quality, timeliness, reliability, breaches or failures, and validated identities and certificates through KYC/KYB processes. The integrity and accuracy of this data are crucial for all subsequent reputation assessments. [24]
Aggregation Layer
This layer involves processing raw data into structured metrics, utilizing algorithms and models to create a coherent reputation score from the data collected in the Data Layer. It combines technical aspects of data science with strategic product planning to determine the relative weight of different types of data and actions. [24]
Motivational Layer
The motivational layer focuses on the present and future implications of past actions, using reputation scores to encourage positive engagement and outlining consequences for negative actions. The layer involves implementing systems of rewards and penalties for participants, guided by principles of fairness and transparency to ensure consistent outcomes. This may include increased visibility for high-reputation nodes, favorable transaction terms, or other incentives promoting constructive behavior. [24]
Segmenting the reputation system into distinct layers allows for independent focus on different aspects: foundational data (Data Layer), context and interpretation (Aggregation Layer), and system governance through incentives and consequences (Motivational Layers). This approach enables a precise and fair assessment of reputation while remaining flexible to various data types and evolving network needs. Through a vertical modular approach, relevant data subsets can be combined with further aggregates and motivation rules. [24]
GLM Token
GLM is an ERC-20 network token that utilizes a proof-of-stake (PoS) consensus mechanism. Requestors pay GLM after receiving computing power from the network and the value exchanged for this purchased power is primarily distributed to all the individual power suppliers involved. GLM runs on the Ethereum blockchain network, enabling it to be traded and swapped on-chain with other Ethereum-based digital assets. [12]
The migration of the Golem Network's previous token, GNT, to GLM, started at the end of 2020. Users had the option to migrate their GNT to GLM at a 1:1 ratio. [14]
GNT Token
The Golem Network Token (GNT) was the utility token of the Golem Network. GNT was generated during the crowdfunding phase, and after the initial major release of Golem, and its purpose was to serve various functions within the Golem network. [15]
Transactions involving payments from requestors to providers for resource usage and compensation for software developers used GNT. Additionally, GNT was necessary for other interactions within Golem, such as submitting deposits by providers and software developers and participating in the software validation and certification process outlined in the Application Registry section. [15]
2016 GNT Crowdfunding
The Golem Network crowdfunding began on November 11, 2016, reaching its target within 29 minutes. A total of 1,000,000,000 Golem Network Tokens (GNT) were created during the crowdfunding period, with funds raised amounting to 820,000 ETH, hitting 100% of the fundraising cap. [14]
Team
- Piotr Janiuk: Acting CEO, Co-founder
- Przemyslaw Rekucki: CTO
- Grzegorz N.: Advisor
- Pawel Burghardt: CPO
- Mikolaj Barwicki: Architect
- Marcin Benke: R&D Advisor
- Pawel Bylica: Ethereum Advisor
- Arkadiusz Cybulski: Project Manager
- Sieciech Czajka: Senior Software Engineer
- Witold Dzięcioł: Software Engineer
- Agnieszka Grzechowiak: Head of HR
- Przemysław Idzkiewicz: Senior Software Engineer
- Phillip Jensen: Software Engineer
- Wojciech Ługowski: Legals
- Elena Steiner: Senior Accounting and Administrative Specialist
- Aleksandra Mohandass: Head of Accounting and Administration
- Mateusz Srebrny: Agile Coach
- Stanisław Piwowarczyk: Tech Support
- Dariusz Rybi: Software Engineer
- Kamila Tarnogórska: PMO Manager