iExec Technical Documentation
iExec is building the future of the Internet infrastructure by decentralizing the cloud computing market. It is the first blockchain-based cloud computing marketplace.
The iExec network connects cloud resource sellers with cloud resource buyers, encouraging an ecosystem of decentralized and autonomous, privacy-preserving applications. This network aims at providing companies with scalable, secure and easy access to the services, datasets and computing resources they need. iExec’s technology relies on Ethereum smart contracts and allows for a virtual cloud infrastructure that provides high-performance computing services on-demand. At iExec, we believe in a future of decentralized infrastructure and market network, where big data and HPC applications, highly valued datasets, and computing resources (storage, CPU, GPU) will be monetized on the blockchain with the highest level of transparency, resiliency, and security.
iExec strengthens applications running on Ethereum smart contracts, allowing for off-chain computation services and datasets on-demand. This is made possible by the iExec Proof-of-Contribution or PoCo consensus protocol that validates off-chain computations.
Comparable to the oil market, the iExec marketplace offers a uniform and standardized access to computing resources, regardless of their provider.
iExec distinguishes between 3 different types of cloud resource providers :
- Application providers
Your algorithms can change the world! Developers and application providers can monetize their apps, dapps, functions or algorithms.
- Computing providers
No more CPU cycle wasted! Computing providers can make the most of their servers, by joining the iExec network and renting them.
- Data providers
Data is the new gold! Data providers can monetize datasets usage and open up new revenue streams for their assets. A single entity can be all types of providers at the same time.
Application providers can monetize their applications and algorithms by setting a fixed-fee for each single usage of their software (pay-per-task model). As a developer of decentralized applications, you may use iExec to overcome blockchain limitations (few kilobytes of storage, very inefficient virtual machines and very high latency protocol) by executing your computations “off-chain” on the iExec decentralized infrastructure. Developers also benefit from being free from adjusting resource allocation. By not having to maintain any servers, developers deploy applications that can rapidly upscale/downscale based on user-demand.
Dataset providers can monetize their datas by setting a fixed-fee for each single usage of their software (pay-per-task model). Dataset can be seen as a wide concept to protect, iExec allows with multiple levels of security to monetize any data: data means dataset or more advanced valuable models as AI trained model,
Within the iExec network, providers of computing power are called ‘Workers’. As a worker, you can connect your machine to the network and provide computing power.
Your machine executes computational tasks in exchange for a reward in RLC tokens. Workers can be individuals or companies. Anyone owning computing resources can make them available by joining a “worker pool” and renting computing power to the network. Any machine, from an individual laptop to a large-scale data center, can join a worker pool.
Worker pools are made up of multiple individual machines. They are led by a Pool manager, a lead entity that organizes the workload and signals how many tasks it is able to process and at which price.
The Pool Manager freely determines the pricing to execute computational task for its workers.
Pool manager, while not doing the actual computation, receives a fee for the management of the worker pool. Pool managers compete to attract workers to their worker pool by providing efficient management and guaranteeing earnings for workers.
You may also check out the list of worker pools currently available on the iExec Marketplace in the Pools Catalog.
Data providers that own valuable datasets can make them available for use by applications through the iExec Data Store.
iExec pay per task model empowers Intel SGX and IBM Datashield to offer new opportunities of creating highly-secure applications that respect data privacy and ownership.