 So thanks, everyone. My name is Gilles Fedac. I'm a researcher at INRIA, which is the French National Research Institute for Computer Science. And my research background is in parallel and distributed computing with a focus on how to build distributed computing infrastructure on the using internet resources. The work I'm going to present today is actually a joint work with Haewoo Hei from the Chinese Academy of Science. I don't know if Haewoo you are here. Yes, he is the guy here. And this talk today is about how we can build a blockchain-based fully-distributed cloud. And what I would like to, my goal of today is to give you a perspective from the infrastructure point of view, which I think is very important. So as you know, Ethereum allows you to develop distributed applications and systems that run on the blockchain. The blockchain gives this application some very nice properties. Applications are going to be autonomous. They are going to be resilient, secure, and then there's also this distributed consensus. So that's a great thing. That's great promises, and in particular sometimes we're talking about a supercomputer. But actually what's happening when you try to move your existing application to the blockchain is that you face the fact that in fact you are offered very limited computing capacities. For instance storage is quite expensive. It's fair. You have a slower execution, very high latency. If you need communication through the transaction. And so that's really a limitation. And so the question is, how can we alleviate this? And that's especially an issue if you consider the fact that there is a huge computing power which is given by all the miners. So there's really a gap and the objective of this work is also to try to give all this computing power back to the application that needs it. So the objective of iExec is to provide blockchain by distributed application access to ocean computing resources when they need it. So in terms of computing resources, we're thinking about CPU, we're thinking about data access, application, in particular focusing on compute intensive application, services, and so forth. And to do this of course we can take advantage of the blockchain and try to organize a global market for computing resources. So we'll think it as a kind of Airbnb for servers where everyone will be able to put it on servers and use someone else's servers. And so that's still a cloud in the sense that you access through the blockchain to the computing resources on demand and as a pay-off, as a pay-as-you-go basis. And so this idea of building a distributed cloud, this is actually very timely. At the moment what's happening with the cloud computing is that it's very centralized on data servers and big data centers. And I don't know what's the situation in your respective countries, but in France for instance, if you want to set up a new data center in Paris area, the answer is simply no, not enough room, not enough power, forget it. And so this leads to a situation where you have all those data centers that go in very remote area. You know to have either free energy or free cooling, I mean cheaper energy or free cooling, like Iceland in Europe or Tibet in China for instance. And so distributed cloud computing is also about relocating those data centers closer to the data producer and consumer. And just to give you an idea of you know how we could build some next-gen data center, distributed data center, these are some picture coming from people we are working with. So on the left you have the Rogers University. They set up a data center on the roof top of their building with solar panel and this is fully, you know, low power processor, batteries, and this is fully energy autonomous. On the right, oh, sorry, on my left. So on your right, this is kernel computing. The black box that you see here is both a server, a server and a heater. So this is actually the CPU, you know, it's the CPU energy which is warming when doing 3D rendering which is warming your apartment during winter-winter time. So we can distribute the data centers feasible. I'm always coming with edge for computing. Of course, the goal of IEXEQ is to make those not be able to have those kind of infrastructure to be run on the blockchain. So how to do that? Actually the technology to build a distributed cloud is already there since many times. We used to call that desktop grid computing. It's the idea of using pieces on the internet when they are idle and it's very much a technology. So for instance, during those everything to do the distributed cloud, you have security, virtualization, you can chip VM images, you can even do quite a lot of services, you know, high-level things. So for instance, in Europe, we had the European Union funding the European desktop infrastructure, we had about 11 different sites in Hungary, France, Denmark, etc. totaling 200,000 computing nodes and this was available, you know, to the traditional e-science infrastructure such as the LHC. So we were able to transparently execute many applications coming from finance, biomedical research, mathematics, high-energy physics, etc. So in my research team we used to push this idea in every possible direction. We did parallel computing on the internet, we produced computing on the internet, quality of services for execution when machines are volatil, etc. So for this work, what is interesting for us, these are two pieces of middleware, basically Xtreme Web HEP, which is, if you want the production version of these ideas, it's done by Oleg Ludijanski at the IN2P3. It does task management and the other one is be due to those data management. So the way we are working at the moment, mostly, you know, experiments and proof-of-concept and see what's going on. So we have the regular stack, if you want the applications that are not specially blockchain-based, the resource management middleware and of course the executing the actual machines and what we do is that we put a free home in between and we try to see what's going on, what is difficult, what is challenging or what is easy. And so that's basically the result. So on the left part you have what is super easy, the gauche, you show it in green and on the right part, my right part, it's what is red, what is really challenging. So resource publication, this is basically, you have, you know, resource description, language, very well standardized and you basically translate this into some sort of smart contract and put it on the blockchain. So fairly easy. Resource provisioning, just add a flag that gives the status of the resources and then it gets more tricky. So for instance, matchmaking is you want to be able to say this application that requires this amount of memory can run on those resources. So you have to browse some whole blockchain and then things get really tricky with scheduling. So simple scheduling. So scheduling is you have a list of tasks, you have a list of machines and you want to build the execution plan. So things get really tricky when you need, you know, advanced scheduling, advanced scheduling with multi-criteria. So things like I'm ready to, I want the fastest execution possible and I'm ready to pay for that. It's getting really a comput latency and memory latency. So in our use case, we're also working with an application. It's called an EFAT. This is a framework for doing finance analysis and the interesting thing here is that it does a lot of machine learning. So a lot of machine learning, it's both data intensive and compute intensive. So here, of course, you're not going to make it on the blockchain and you need to go offline, off-chain, sorry. And the good thing is that once EFAT service is ready, their customers will be able to to rent it directly on the blockchain because this application is going to be autonomous. It will fetch itself the resources in need on the blockchain to execute it off-chain. OK, so Autest Bed for doing this, it's the Grid 5000. It's the French infrastructure dedicated for research in distributed systems. So we are very lucky to have this at our disposal. It's actually a distributed cloud. It's nine sites and we have about 1000 nodes, 8000 cores. And so it's really great to do scalability tests and these kind of things. And we have a dedicated 10-gig network. And so the bottom use case, we want to use the steamergy servers to run this. So steamergy, what they are doing, this server is a furnace. So it pre-warm the water before distributed this in the building. And we hope to demo it in November at the supercomputing conference. And that will be for the first time in the history of blockchain, a smart contract with side effect is to warm a swimming pool. Amazing. This is true, this is true. This is La buttoque in Paris. So based on those early experiments, that's a sketch of what the future is going to be for us, most certainly. So from what I think is that we're going to have something like a sidechain because we need some sort of a new consensus for what's going off-chain. We call that proof of contribution. Important thing is that there are many information that you need to make it run. But you know that are not necessarily relevant with respect to the provisioning contract if you want. So for instance, everything that is about task execution, this is meaningful when you want to establish the fact that the computation went right. But it's not really meaningful with respect to the contract that provision those resources and ask for the execution. So I think we need some dedicated sidechain for this. We also have some very specific workload in parallel computing. You often have things that arise really in burst. So we have to be able to optimize for this specific workload. And the last thing is that the consensus can be very different for parallel computing. In some case, in parallel computing, that's totally okay to have a fraction of your application that gives you wrong result. It just depends on the application. So we must be very flexible with respect to this. Okay, so just to conclude, distributing the cloud, I mean, it's also give us some new opportunities. That's very important. So as I said, I'm repeating myself, but if that's what your matter is. And so as we can set up the rules, that's our own game. So we can do whatever we want. So why not, for instance, think of an infrastructure that would be energy-positive, that would produce more energy that it consumes. I mean, that's just up to us to decide this. Okay, so just to thank some dudes. I want to thank the Blockchain Lab, DACA, and the French team who has been very supportive with us. Thank you very much, Jean.