 Okay, so thank you today. I'm going to present to you our solutions for efficient and scalable on off-chain execution for arbitrary application for Ethereum, so we are iExec. I am Gilles Fedac So first let's thanks and give a big kudos to the team because they worked really hard to be ready for deaf country and Having this release ready. Some of us are here. We are at the booth just over there At the outside of this of this conference room So we are now about 13 people in Lyon in France and we are going to be a little more formal joining us By the end of this year. So that's a wonderful team and I'm really proud of them. So what we are doing at iExec We are doing the Ethereum based decentralized cloud computing Which means that we are using the Ethereum blockchain to create a decentralized marketplace For cloud computing resources. So those computing resources that can be what you typically found in a cloud so servers, applications and data sets And so we are using the Ethereum blockchain to advertise and present those computing resources So you can fix it as a sort of Airbnb for servers But without Airbnb and of course in this case This is the blockchain that creates those peer to peer interactions between the users and the providers So having a decentralized cloud. Why does it matter for two main reasons? I would say the first one is that we can see that in this conference There are more and more new decentralized application It is coming a new decentralized economy. And so we now need an actual infrastructure to support those new applications That's the first reason and the second reason is that this this this decentralized cloud The infrastructure is going to be very different. It's going to be distributed and Probably compared to the central as cloud. We're going to have many advantages Because the marketplace certainly going to be much cheaper. It's going to be distributed So it's going to be greener and certainly more efficient because the data are going to be closer To the to their consumer or producer So what are the the applications we are targeting first? We are looking at the blockchain based distributed application the dApps so the application that execute on the blockchain and you know that the Ethereum virtual machine offer very few computing capacities to those applications. The processing is very low It's extremely expensive for storage and computation. And so they need off-chain computation to have an actual I mean to be a really important application The second category is what we call the legacy application Those are the application running now on the cloud that would eventually come to our infrastructure Because we can offer a better price per price performance ratio. So here we are thinking of applications such as simulations machine learning finance 3d rendering and so forth and The next category are those applications the data as close as possible to the to their origin So people talk about that they're calling that fog or hr computing So with the one of the key the fundamental Point in the protocol is the I exact tokens called RLC. So this is a pure utility token This is the way people can enter the network and use the computing resources that are in this decentralized cloud And this is also the way Provider for resources or application are being paid And this is very important or so because it allows to create incentives in the protocol And that's something that is really new Compared that can be eventually an advantage compared with the existing cloud and the way we're doing this So we issued this token on mainnet and last April 2017 So the road map where we are now so we started about six months ago. We are now the first version of Appli of I exact so the way when you create a Distributed infrastructure. It's a kind of a chicken and egg problem Do you first start to have the machines and then in the network and then you try to find some Application to run on this machine or do you first start to with the applications and then once you know the application? You then you can create a relevant architecture. So when we design this road map for I exact we design it by Starting with the application in particular with the dabs and then later that will come In next May or next June will open the network to the servers So it means that at the moment you can push any applications, but they are going to be executed on all machine So you somehow you have to trust us, but later on in next June. It will be any machine that can compute any applications So we are very pleased today because we are not seeing the first version of I exact and it's called the wanderer So the way we are naming the exact version we take characters from the Chinese novel water margin So I don't know if you know this novel. I love it. It's a story of people who rebels Rebellion against the the central authority in middle-aged China And here the wonder is the number 36 in the Among the rebel so this version one. It's basically a Software development kit that allows you to deploy your application on Ethereum and I exact So I'm going to present you how it works So this is a video but really I encourage you to To try the tutorial by yourself by yourself. It's much more fun than watching a video So what you see here is actually a screencast of It's actually a screencast of a web page And so you don't have to install anything to do the tutorial You just visit the web page And the tutorial is about six I mean from a 10 to a half an hour depending on what kind of test net you're using So when you use So dsd So first you install dsdk. That's very similar to truffle. So if you are used to truffle, you will find that it's exactly almost the same Then we are here with this tutorial. We are playing with a toy application. Of course, it's factorial But if you are using if you're steering the sdk on your own machine, you will be able to use any kind of our application So when we start we first get some ETH just to be able to deploy the other contract We're using a function which is called I exact deploy So I exact deploy those two things or the one hand it combines all the solidity Smart contract will deploy it on ethereum. And the second thing that it does is that it It compiles or it pushes your existing application To iexec and what you've just seen here. It's the application what it has been deployed on iexec So now what you will see here is that we're going to to use the application as a user So for doing this we first retrieve some rsc tokens We allow the the contract to spend those tokens and what we're doing now is that we submit a job So once you submit a job, you can see that You can see that so when you submit a job the job here is being computed This is where you see pending and pending So it has been accelerated, but of course it takes a much more it can take more time And when it's done So this is the hash of the transaction that you got from the the smart contract And once it's done, you can see that you you you finish the job and this this is the result of the Of the computation And you can see on the explorer So this is an explorer we provide to see what's going on between hot chain and off chain And you can see the result of the computation in the smart contract or you can retrieve it using our Or a command line tool So what is the the deployment strategy for round error? So what you have seen Now is that it's running now on a rob stand and on other test net So we are going to deploy it In the coming weeks. So first we'll deploy dsdk with all the application the next two weeks We are going to create an app store so that it makes the application For the end user much more user friendly because at the moment they have to interact with the smart contract And later on by the end of the year, we are going to deploy this app store on main net Which means that developers using ixz will actually be Uh able to earn ixz tokens So what happens under the hood? What we do is that those computations are actually executed and distributed infrastructure So we called worker the machines that joined this infrastructure joined this network And that provide their cpu time to execute the application And so we organize those workers in worker pool a little bit like you have miners and minor pool It's exactly the same the same idea But here any worker can execute any arbitrary application and not just mining And what we do is that that we have an oracle that looks at what's happening on the blockchain on the smart In your smart contract and each time the the oracle detects that there's a transaction the smart contract It's execute the corresponding application on the workers So for version two It means that any computing resources can join the network and also of course it causes a lot of of issues It's particular with respect to a security. And so since this september we have launched an ambitious research program That has started very well actually So we're working on two things one is proof of contribution Which is basically a consensus protocol to verify that the execution that were off-chain Everybody agrees that the computation is okay before proceeding to the payments That's one and the second is some some security Research that we are doing to protect both the application and the remote machine So actually proof of contribution is done by a phd student Adrienne croubois who is a student at economy superlion For a more long-term Perspective We think that we are really lacking some good experimental tools to understand the performance of those blockchain based distributed system So we are starting a phd tesis in collaboration with a lab in france, which is called lauria And those people that are really experts in emulation of a very large parallel Very large distributed system, sorry So why do you want to do emulation because it allows you to do experiments, but with an existing software stack So it's much closer to the reality than just doing simulation. So it's not only for us. I think it will be very interesting Also for the ethereum Community to have such such tools. Basically you can test your software very rapidly on tens of thousands virtual notes So some words about proof of contribution. So we started this In september about we now have an early solutions. It's based basically on stacking and reputation So hadrian come up with a very interesting protocol. It's very simple Basically the idea is that for each execution you submit you associate this execution with a confidence threshold And so workers they have both a reputation and reputation is gained according to their past Work so if the the task succeeded or not And they also have to stake some money to stake some token And so what we do is that each time we receive the some results We compare the results and we compute A new confidence threshold and we can pass this threshold then the the result is accepted by the submitter And so task is duplicated or replicated as long as the confidence threshold is not made And so at the end what you have is workers who behave correctly and this case they receive the payment And some who did wrong because maybe they they try to to steal some money in this case We punish them we take their stake and we distribute the stake amongst the workers who did correctly So the good thing with this protocol is that it's actually very simple So it's simple to implement and then to verify also and it would be also simple to optimize So at the moment adrian is doing the performance evaluation and we are quite happy with this this early results The other thing when you compute When you do an execution on a machine you don't trust is the security And so there are two Aspects here. So one is the sandbox sandbox thing It's the technique that protect the workers from the Application so imagine the application is a virus what you want to do is to execute this application in sort of a restrained Environment where you control what the application is actually going to do So this is something that is not new it exists for yours actually There are many ways to do that can be at kernel level or virtualization Uh, basically here the main issues are more with respect to Deployment how is it's going to be deep you know to be installed by the machine joining the network The second thing that is really new Uh, the second thing is how you're going to protect The application from the worker if you don't trust the machine how the machine is good You know that there can be some privacy issue So up to now we had no solution for that But since uh since sometimes there is a new solution that that appears It's called enclave and in particular thanks to uh, Intel sjx So this is a new instruction set that um, that are now deployed on Intel processors We don't have a solution for that. So an enclave. This is basically um A memory space that is for you where you execute your application and even I mean even root on the machine even if you have privileged access on the machine You cannot access to this memory because it's fully encrypted and the way to decrypt the memories and a secure element in the processor So what we are doing now is that we're evaluating two solutions to execute our application within an enclave One is called a scone something that has been published at the osdi This year and this allows you to run an linux container in the enclave There is another solution that we are looking at it's called a graphene sjx It's the same idea, but instead of container it relies on library os or a microkernel. It's almost the same thing if you So a couple of Things that are coming in the very next future Just after dev con we're going to run and ask me anific on reddit Then we're going to participate to the supercomputing conference Even though we are no cryptocurrency We still love those big machines that that you have at supercomputing to be in Denver, Colorado We are going to organize a series of meet-up starting with Lyon so that people can get in the technology and use that and start to develop their own application By being december hopefully The app store for distributed application will go live will go live and so you will be able to publish your application this app store By december we're also going to launch Adapt development challenge the idea is really to To to give bounties to developers so that they can propose us some cool application And we will be really happy to support them And by the next year also we are going to launch another program Which is the iex summer of code. I don't know if you're familiar with google summer of code the same idea So it allows students You know everywhere on earth to work on Any subject related to decentralization? So it's not only for exec. It's for everyone Okay, so as a conclusion, we've been really happy to present you this first step for iexec Hope you will try it meters. Well, we have a booth and Happy defcon happy hiking