Dev Letter 27: Roadmap to V3

The next major milestone for the iExec team is the launch of iExec V3, planned for release in May 2019. This development update gives a first look at what is to come for iExec V3: Enterprise Edition.

*UPDATE: iExec V3 has been released! and V4 is coming soon!

On May 15th iExec released iExec V3, introducing a new Data Wallet that makes secure data renting possible. V3 upgrades make iExec’s decentralized cloud marketplace faster, more secure and flexible. For the very first time, individuals can connect to iExec and contribute their computing power to earn money. iExec has also launched its Enterprise Edition for corporates wishing to do business with blockchain. ⬇️

See the link below for the 7 main announcements from the iExec V3 release:

*iExec V4, High-performance computing version with full GPU support is coming much sooner than planned, released at the end of 2019!

The team is well on track for delivering iExec V3: Enterprise Edition, as initially outlined in the Whitepaper. This development letter will give an overview of the technical features that are new to the upcoming release.

iExec: Enterprise Edition

What does Enterprise Edition mean? It is iExec, tailored for business. Over the past 2 years, iExec has grown from a research project to now leading industry standards. iExec is a key contributor within the Enterprise Ethereum Alliance (EEA), IEEE and the OpenFog Consortium. Being compliant with the latest technical specifications, iExec V3: Enterprise Edition will leverage these relations. iExec products will be offered to corporates and consortiums involved in AI, Finance, HealthTech, IoT, 3D rendering. High security and legally compliant systems are essential for these organization to do business with blockchain and the iExec V3 solution with TEE delivers exactly this.

Data Monetization on iExec V3

iExec V3 will allow Data Providers to join the iExec network. Data providers can monetize their valuable datasets on the Data Store, making them available for use with iExec applications.

One of the innovations of iExec V3 is the integration of ‘data renting’. This will see iExec expand into a more complex network with the inclusion of additional market players. Numerous actors will be able to operate in a fully open and autonomous market network that permits business relations between buyers and sellers of computing resources (applications, data, and servers).

We could imagine such datasets being monetized on iExec:

AI: Amazon contains around 35 million reviews for products spanning 18 years. Such a dataset could be used in machine- for apps through iExec such as Troubadour Natural Language Processing.

Amazon contains around 35 million reviews for products spanning 18 years. Such a dataset could be used in machine- for apps through iExec such as Troubadour Natural Language Processing. Clinical/Healthcare: See below for example given for iExec V3 TEE

See below for example given for iExec V3 TEE Finance: Lending Club provides data about loans it has issued. The dataset can run through iExec applications.

provides data about loans it has issued. The dataset can run through iExec applications. 3D Rendering: Datasets could contain texture packs for use within the Blendr application, which can be executed on iExec.

Datasets could contain texture packs for use within the Blendr application, which can be executed on iExec. Scientific Data

The iExec Data Store user interface allows browsing of all available datasets, filtering them by app, provider, and price. Requesters can then find the exact dataset to address their needs.

iExec TEE End-to-end Solution

In iExec V3, for such networks to exist, a highly-secure environment is required whereby applications respect data privacy and ownership. For this, iExec uses Intel® SGX enclaves to protect users, applications and data involved. iExec V3 offers a full TEE (Trusted Execution Environment) solution, a first in the blockchain industry.

What new possibilities does the end-to-end TEE solution open up? In today’s information age, companies know the value of their data. They hold it extremely close, rarely willing to share it. For example, hospitals and patients may wish to monetize datasets relating to medical records to be used to train machine learning models. Data protection legislation such as HIPPA and GDPR may also be a hindrance in such a case. This is where the iExec TEE solution steps in. The hospitals could provide the data through iExec, encrypted in an SGX enclave, which is then only decrypted locally to train the machine learning model in the form of an iExec app. We can almost imagine hardware enclaves, such an Intel SGX, to be a magical piece of hardware that no one can see inside.

iExec V3 data-renting can enable a business relationship whereby anyone who wants to make use of data, can do so without ever actually owning or having full access to it. Such a transaction, where privacy and ownership of sensitive data need to be maintained, can only exist in a sharing economy when blockchain and TEE are used — all offered by the iExec solution.

In the above example, the input data is encrypted before being processed within the enclave protected and inaccessible by the untrusted host machine. The results are also encrypted.

Sidechain Implementation

In case you missed it, read this article to learn why iExec is considering a sidechain approach to maximize performance efficiency for the end user.

We are planning an initial implementation as part of the iExec V3. This involves the deployment of bridge and POA chains. This stack will allow us to establish use cases for consortiums that have the need for shared computation. We are continuing our experimentation with emerging technologies such as Substrate and will give our first presentations of our recent work on this topic at the EthCC conference in March.

For more context on our plan for a PoA bridge, you can follow this conversation with Francois, iExec’s lead blockchain developer.

Redesigned middleware: iExec Core

After observations from our recent series of infrastructure tests with public workers on Ethereum main net, there have been major updates to the iExec middleware. Originally based on our XtremWeb-HEP Desktop Grid software, the redesigned version has been renamed iExec Core. This offers major efficiency improvements, being faster, more powerful as and more resilient than its predecessor. The middleware has also been adapted for the updated PoCo smart contracts for V3. The precise changes in the freshly updated middleware will be detailed in an upcoming Dev Letter article.

The iExec Core code repositories have been made public as part of the V3 Alpha release in January. These, as well as several other newly opened repos, can be viewed on GitHub.

Open Decentralized Brokering

The iExec Marketplace is the world’s first decentralized marketplace for trading cloud computing resources. Made up of both on-chain and off-chain entities, the marketplace allows cloud resources to be traded like a commodity in a truly decentralized manner. How is this made possible? The answer: decentralized brokering.

Open Decentralized Brokering was engineered to orchestrate the new market networks of V3, where up to 4 types of order can be involved in a single request. Open Decentralized Brokering is an autonomous mechanism that matches these different orders off-chain. For a deal to be made, the following 4 orders must be signed:

workerpool order : defines what a computing provider (or workerpool) wants to sell, (replaces V2 sell order).

: defines what a computing provider (or workerpool) wants to sell, (replaces V2 sell order). request order : defines what a requester (an individual or enterprise requesting the use of cloud resources through iExec) wants to buy (replaces V2 buy order )

: defines what a requester (an individual or enterprise requesting the use of cloud resources through iExec) wants to buy (replaces V2 buy order app order : defines what a dapp provider wants to sell, this new type of order allows the dapp provider set it pricing as well as other parameters.

: defines what a dapp provider wants to sell, this new type of order allows the dapp provider set it pricing as well as other parameters. dataset order: defines what a dataset provider wants to sell, this new type of order allows the Data Store (if no data set is used, the order will be blank).

The example above illustrates the decentralized brokering that occurs behind the scenes when a Data Provider makes their data set available on iExec:

The data owner encrypts his data and stores it (e.g. in IPFS), before signing the corresponding dataset order outlining the terms of use. The owner publishes it on the Marketplace The broker takes this order and matches it with an application, request and workerpool orders. Once the broker has identified these 4 orders, it is sent to the Clerk (an on-chain smart contract) that verifies and triggers the off-chain execution.

This article, written as an installment of our PoCo Series, goes into further detail on decentralized brokering.

SDK V3 (and Documentation)

The iExec Software Development Kit (SDK) has been given a major update for V3. This accommodates new features such as TEE and data-renting. Upgrades include maximized security, with the integration of an encrypted Ethereum wallet. Changes have been made to developer workflow for improvements to general ease-of-use. The precise changes in the upgraded will be detailed in an upcoming Dev Letter article.

iExec is developer friendly. In addition to the SDK upgrade, we have been working on easy-to-read technical documentation and devs: The Official iExec Documentation has been given a major update. Everything iExec all in one place. ⤵️

The above illustrates the commands involved in the SDK. Here, the end-user (technically known as the ‘requester’) selects an app, dataset and worker pool. The four orders are matched and then pushed back on-chain for compatibility verification. If the deal is ok, the execution is triggered.

Roadmap: Right On Track

As can be found in the original iExec Whitepaper (written July 2016), the team is well on track to deliver iExec V3: Enterprise Edition on time. Watch this space!

Except for the use of BitDew as middleware, there has been a divergence from the original vision. The main difference is the inclusion of TEE technology that wasn’t mainstream in 2016 at the time of writing. The team is proud to have delivered this in addition, as well as the Data Store. However, that is not all! iExec always has up its sleeve!