Our aim is to use any personal computer to do jobs that are done today by servers, computing farms or supercomputers.
The ultimate Golem Net will be the truly decentralized Web, where the combined power of user's machines will deliver all the hardware resources they would ever need.
The Golem Project is a work in progress.
Golem Net is a P2P network created by the computers (nodes) running Golem App.
Any user may use Golem App to send any computing task to the network.
Any user may use Golem App to lend a machine to others.
An Ethereum based payment system is used to clear the transactions between senders and receivers.
Internet workflow - encoding files to DCP
Stock market simulations
Big data analysis
Natural language processing
Protein folding simulation
Search for extraterrestrial intelligence
Distributed media server
decentralized no single point of failure, no trusted authorities - even for the payment system
scalable will be able to connect millions of workstation, thanks to a P2P architecture
secure all computations will take place in virtual machines and will be fully isolated from the host system
easily integrated with other solutions the Golem standard library and support for programming languages will allow developers to integrate Golem with their applications
universal can be used for any type of task that can be distributed, users will have a set of tools to define and add new tasks to the network
P2P Network A peer-to-peer architecture is an obvious choice for achieving decentralization and scalability. Golem will support peer discovery and communication with a specific node. Every connection will be encrypted and signed to guarantee security and authentication. Kademlia-inspired protocols will be used with a set of network techniques to go through NATs.
Trading system and payments Golem will include a multi-agent trading system for matching users requesting computational power with its providers. It will also provide an efficient probabilistic micropayment scheme, implemented using Ethereum, for remunerating users that share their computational resources. See our nanopayments white paper for more details.
Task definition Users will define computational tasks easily using Golem's Task Definition Framework and libraries for high-level programming languages. Golem will then automatically distribute each task over the network of computing nodes.
Task computation Due to security reasons, task computation in Golem nodes will take place inside virtual machines and will be isolated from the host environment. Owners of the host machines will be able to decide how many CPU cores, and how much RAM and disk space they would like to share with other Golem users.
Reputation system Golem will implement a reputation system to enforce good behavior of nodes in a decentralized environment, without relying on any supervising institution. This will allow nodes to attribute a reputation rank to their peers. A node's rank will be lowered for inappropriate behavior and increased after successful computation and will allow others to decide whether the node can be trusted.