New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Going Off-Chain: Power Your Application with a Decentralized & Distributed Network

Ethereum DenverFri, Oct 9, 2020, 12:00 AM

This talk is from ETHDenver, the world’s largest Web3 BUIDLathon and Community Gathering. ETHDenver’s content is crypto and blockchain focused. Subscribe to our channel to learn more + connect on Twitter: https://twitter.com/EthereumDenver. Speaker: Gilles Fedak & Hadrien Croubois of iExec Abstract: This talk will appeal to anyone interested in the discussion of overcoming scaling and latency issues of Ethereum, exploring how we support even the most compute-intensive decentralized applications. We’ll introduce how the iExec SDK allows developers to easily set up their application to be powered by a decentralized and distributed computing network. Multiple bounty rewards will be detailed, available to developers that set up their application to benefit from off-chain compute through iExec. iExec is the first decentralized marketplace for cloud computing resources. The iExec network is made up of providers of computing power, applications, and datasets - allowing for on-demand access to cloud computing resources. The project has a particular focus on trusted and confidential computing to strengthen security within distributed networks. Come along and find out how powering your application by a decentralized and distributed network of computing nodes can be as simple as setting up a docker image! This talk was recorded Friday, February 14, 2020. ETHDenver 2020’s content themes included DeFi; DAOs and Token Engineering (TE); Gaming and Usability; Protocols and Interoperability; and Public Good and Social Impact. Industry experts also weighed in on topics like decentralization, privacy, identity, non-fungible tokens, scaling, governance, diversity, and arts and culture in blockchain technology. The 2020 event was February 14-16 in Denver, Colorado and hosted 2000+ blockchain enthusiasts, developers and community members from 50 countries and 50 U.S. states. 🔴 SUBSCRIBE ETHDenver’s YouTube https://www.youtube.com/channel/UCgz9NU06t_FkT0Py1Vadczw 💡 LEARN ETHDenver’s Official Website https://www.ethdenver.com/ 👋 CONNECT ETHDenver Twitter https://twitter.com/EthereumDenver 📖 READ ETHDenver News on Medium https://medium.com/ethdenver 🛍️ SHOP ETHDenver Official Merchandise bufficorn.com 💬 CHAT Telegram https://t.me/Ethdenver Discord https://discord.gg/jteMn5c 📱 FOLLOW LinkedIn https://www.linkedin.com/company/ethdenver Instagram https://www.instagram.com/ethdenver/ Facebook https://www.facebook.com/ETHDenver/

Transcript

so hi my name is JIT Fedak I'm Co Co father of AI exec this talk will be presented also with other via who is a research engineer at IU exec and charged with everything related to block chain development smart contract security under and everything so this talk today is about the things you can develop using AI exec and using confidential computing so maybe you are aware of this new trends in the IT industry which is called it could be called confidential computed or trusted compute or it can have the name of the technologies just trusted execution environment T so if you are aware that what we want to explain and give some examples today is what you can do by combining blockchain decentralization and commercial computing and I hope you will be excited about those new perspectives we are very happy to provide probably one of the first environment that allows you to develop such kind of applications so the outline of the talk is the following I will give you first a short intro to exact I will briefly introduce you trusted compute and computers for computing then Adrian is going to present you hardest things works with AI exact how you can use the SDK to build applications that combine those two things I will give you some use cases hope this real allows you to understand and get you know get an idea of the possibility of those two technology that will briefly conclude and gives you the the bounties that are open for this hackathon this weekend so at exact we are building a decentralized marketplace for computing resources so what does it mean think it as sort of open network that everyone can join where you can monetize your applications your servers are your data sets so this is a decentralized marketplace in the sense that there is no central authority so providers and requesters make deals in a peer-to-peer way and of course I think we are you know we're not a middleman it does in those deals and we build all the technology and the consciousness protocols around that to make sure that once a deal is sealed there is a console series and how the resources the computing resources are being used actually you know related to the to the deal that was done and then of course using the blockchain everything is then automated payments staking everything console protocol extra so to give you a brief overview of the project we started this we started thinking about the exact in 2016 we did our white paper and ICO at early 2017 and since then we have been developing the platform we released four versions of high exec and each version gives additional features also started by allowing people to do of shine computing back in you know 2000 17 then we developed a marketplace we are probably one of the first platform that allows you to rent your data while keeping ownership of the data that something really important we also provided an SDK for doing option computing using trusted execution environment that's probably one of the first of that kind and the last version that was released back in December last year allows you to create what we call backup tasks over a bag of tasks and O's developer to execute parallel applications and and yeah I exactly centralize cloud we support GPU we have a side chain that allows you to that avoids to pay high transaction fees when using the platform so this thing is running it's there you can use it as a developer you can build your applications on top of that so the trust model for I exec is the following so what you first have to consider is that the grain of execution is a task so basically as a requester you will ask exec to execute for your task and i exac actually that's a set of providers so for each task of its task executed you may have providers that gives the application that gives the the server or the data and each time a task is executed those providers are rewarded are paid for executing this task so the way it worked is that will emit orders in a decentralized market place when other's matches requester orders or provider orders match we seal the deal in the blockchain and then there is a console Swiss protocol that we develop which is called proof of contribution that basically verify that the deal has been fulfilled by all the stakeholders and when this actually happens when we can verify this the request to get the result and the providers get the payments so one thing that is super important in connection with this as you can understand is the technology called trusted execution environment so maybe you are aware of that one of the commercial names for instance for this particular technology is an Intel SGX or armored treasurer or AMD has its own version - called AC V which is being released right now so we call that on a hardware and Claes so what's that this is basically a feature on your processors which which allows to have a segment of the memory that is fully encrypted and we call that an increase so every execution that will happen within this Enclave will be fully protected it means that if you run if you run an application within an enclave you can provide I mean all the encrypted data are never decrypted and even the the administrator of the Machine does not have access to what happens within the end clay okay so that's very important because the scope of decentralization this allows you to execute any application using any kind of data on any male remote machine and you are sure that the execution cannot be tampered can will not be modified that the secrets are never revealed so as you understand there's a very there are really huge perspective for that a real breakthrough so we have several activities around the T and and blockchain computing we are participating to the enterprise III Rome aliens and we develop we co-developed with Intel the option trusted computer specification we also part of the confidential computing co socio we are also contributors of hyper Roger but more than that what we actually do is to provide an SDK that really allows you to do option computing using hardware and clay so this means that you can deploy it smart contract and the etherium blockchain and whenever you have computation to do we can go off Shane use an unclaimed wherever on the network and retrieve the result and you are sure that you can you can deploy I mean you can provision the Enclave with secret the secret will never be revealed and you have an on chain attestation that that your execution has been executed within an enclave okay that's very important so to do that actually we rely on several T's one the one that you can actually use now is provided by his cone so scones are sort of a spinner for the University of tu Dresden Germany we also working with photonics and we are we have an ongoing work with graphene a jigsaw graphene is an open-source software for you know doing computation with the Enclave okay so I will now let Adria introduce you the rest of this thank you so know that you had an overview of what exactly is I will go down in the details of how it works more particularly how we can process private data using SJ s and T and in the last days technologies that jay'll introduced previously and the thing is there a lot of solution to deal with data today one of the most interesting one we use is ipfs and ipfs is great when you want to store public data available to everybody but if you want to keep track of desire own give authorization to some people or remove it or zation to use it i PFS don't provide that so we need to build a layer for data privacy on top of public data layers like ipfs or swarm of or anything and so basically these are the different steps we'll have to go through to process data privately and securely on a the first point obviously is to encrypt your data and publish the encrypted data to a public layer like ipfs once the data is encrypted to anyone who don't have the private key to decrypt it it's just like noise so there is no issue if this spreads or if you lose control over that because what you want it is for to be available to everybody so that anyone that has the encryption key can decrypt it and now you have to manage the private key to decrypt the data in a very secure way which is what we do the next step is to register your data on chain so we have a repository which is a smart contract that stores details about the data this includes address to the data a checksum stuff like that but most particularly it controls the ownership of the data and what's interesting in the exec is at any piece of data that is on ipfs is linked to an assyrian address and is easier address will be controlling the data set which means that even if the encrypted data is public to everybody there is a record on chain of who controls it and you can give authorization for the usage of this data and this is important because in the next step we are going to store the encryption key of your data in what we call the secret management service the SMS and so this is a server that will store your encryption key and that will verify that anybody that is asking for a key correspond to a strict criteria and this means that the SMS will be linked to the blockchain and it will verify on chain that transaction has been main signature have been performed to use your data you can trust the SMS because it's running in an enclaves so you can attest what code is running and you can attest that the route that it's implementing are are as the right one and then the next step is once you've put your encryption key in the SMS you will define access policies using psy exact data set order and the data sets order I discussed that previously when you talked about making a deal and an attesting on chain that people agree on on the computation is your component as a data set provider saying what you agreed to to be done with your data and so you can define access policies like who has access to it what application can use it and how much you have to pay for that and so you can have many number of configuration for example you could say oh I want anyone to be able to use it in a specific application that won't click it and they have to pay that much amount or you can say oh this is a research institution I refer them to use my private data for free as long as you are drilling for for research using a specific application so so that's how you define access control to your data and then you put your order in the marketplace so the marketplace is like the front end of exec and this is where you will find orders for your data set but also for the application and the computing resources so this is where everybody is giving authorization to their resources and you just have to find matching authorization to trigger a computation obviously the marketplace is a website we oast so some might say it's centralized but it doesn't mean particularly centralized in any manner way shape or form it's similar to what 0x protocol is doing with their order so next step is doing a dedicated peer-to-peer network for orders and their way the mechanism on a exact where you can send your order to a smart contract and it will emit an event this we cannot send source so if you want to make sure anybody can receive your event and you're not censored in any way shape or form you can always do that it's just a bit of gas but it's completely centralized completely decentralized and so know how does it work so this is a bit complex maybe it's difficult to see on the on the screen I hope we will be able to share this light with you later on but this is an overview of the entire exact infrastructure we've web to tools like the marketplace that I showed you just before and the different actors that are the requester the scheduler or worker pool manager so that has a provider and the application provider and in other case what for interesting it's that said provider but you imagine that if you want to do an app the process is pretty similar and so we have our data that is on ipfs is encrypted and we have the data we printed in the blockchain so this is metadata that we discussed earlier that controls the ownership and so the exact data set owner will not only push this data to ipfs but also put the secret in the SMS which is here which is represented as a small shield because it's running inside an ink lab and it's secure and once you've got your data set order that describe how the dies I can be used it will be matched with application order which basically are provided by the app developer and say oh this application can be used by such person for such price you've got the worker full order which is basically provided providing access to computing resources and your request order which is I want to run this application with this data set on this worker pool and blows those orders so those first order are sent to your exact Clair which is a smart contract on GCM bayonet and this Mart contract with verify the compatibility of this order so pretty similar to the zero eight protocols marking track differences or orders are not symmetrical but you can imagine in the same way so it will verify orders are valid I've been signed by the right persons and this is why we need details of who owns what assets on the blockchain this means that we will verify that a data set order has not been forged and was in fact signed by the owner of the data set and then these triggers a deal that means good error engine tasks and tests there's a unit of execution and this tax would be scheduled on different workers and the workers will run application inside security in clave this means that whenever they're processing data or or pressing the temporary information everything is secured within the water but the worker to do the computation he needs access to the data so he can retrieve the encrypted data from ipfs but it will also need the encryption key and for that it will have to request it from the SMS and this is where the SMS will have to verify that the request is valid because there is a test that has been recorded on the blockchain that payment is valid and that the enclaved that is running inside the worker is the right application this guarantees that your data will not click and we only be executed depending on the authorization scheme you defined new orders so I get this is pretty complex we've got extensive documentation online and we have a booth here so if you get lost don't say that to ask us also we have many tutorial and we would like to present a few use cases that you might want to develop during this I cotton so one of the use case is twisted or occur one and basically this goes far beyond just computation it's using the exact layer as an interoperability layer you will be able to perform computation in a worker that is secure Susie's Jack's and using our consensus protocol and this execution will be able to process secure data or fetch data from the web 2.0 and this is interesting for many things first you could access data from secured API using data set for storing your API keys you could also use that to do some random generation inside an inclined send the result back to the blockchain so what we want to do is build a completely decentralized layer for execution and trusted layer for execution of chain whatever you do we web two should be the only single point of failure what we want to be sure is we can attest web to data and send it back to the blockchain obviously web to data is still centralized so this is potentially an issue but as you can build your application the way you want you could do aggregation inside hgx you can combine multiple sources which is what's interesting seems like things that maker does in the smart contract you can do it of chain in a sexual environment and just bring back the wizard you have less processing to be done on China so we've got an example for that we've got the exact price feed we are wearing a few a few API keys I don't know if we can say that Toria but for you you will have a scoop right now we're working with Keiko provider to to get the a time if you want to learn more about our partnership with them we will announce more at ETH DC in just a few weeks so feel free to come if you if you come back to flames code for that obviously is available so you can use it as an example to be in your old Oracle using the exact solution another use case is Antoinette crypted data with verification so this is more perspective but it's just to give you idea so you can be creative doing the I cotton is we can preserve the secrecy of data from the requesters so proof of concept we are working on and we did presented at RSA Conference is how persons can provide access to their personal medical data to do research or to do to find some illness without leaking too much about about what to do and this could be interesting because you can for example keep your private data for yourself and just have a claim for an insurance using an application that will process your data and give you a score but not leak it it could be interesting for for any kind of application I think we have also a recent article with chaining on how we can exact to do insurance for cars and stuff like that using or processing of chains for private data so conclusion you should definitely try it out build with it today we've got many prizes so first second and third price address for integration of the exec stack in your hack so that's pretty open and we have some bonuses we are working with ipfs for data storage so you if you are creative with your ipfs usage you can win an additional 500 die on top of a prize also we are working with the graph to give access to the exact data because it's not only smart contract it's more than that you want to query what ever happens easily and we use the graph stack for that so the graph is public obviously if you don't know them you should if in check them out and if you're using exact sub graph in your AK you can require you can win an additional 500 die so for the most creative amount you you can target first prize pleasure to bonus prize it would be a very large large jack but anyway even if you're not targeting those prices i exac stack is here for you to use it's very interesting and you can use it beyond the rocket on for for your projects so here are some pointers that could be useful to you most particular documentation it has been first rate pretty recently you should have a lot of details about how to build an inkling forward application and you've got tutorials about how to build an app how to build an app with a data set and obviously we can you can ask us at the booths if you have any questions thank you and we have some time for question I guess so the SMS is completely off chain but SMS is connected to the blockchain so it's able to know details about ownership of different asset I'm not sure I didn't clearly answer the question but as a application developer when our data set developer when you want to put a data set you put encrypted that's it on ipfs and you go to the SMS standing it's a this is an encryption key for this particular data set and what you are going to point to is the on chain representation which is a metadata and this contains ownership of the data set so we will have to ask to inject a secret in the SMS and you will not you will need to sign this request using your private key that way the SMS can verify that you are the rightful owner of the data set and you are legitimate to push a secret in the data in the inter SMS and when you do that basically you are giving away your key to SMS so you are accepting the rules that are included into SMS that the key will only get out of the SMS if it's the current write structure is we turn on chains so and for that you will have to check the smart contract and smart contract will only write the structure if you gave an order for that so the tasks are that we weren't on our workers our docker images so you could use any language you want darker eyes the application and put it on that exact there is a limitation to that so if you can use any language you want if you are using the regular use without sjx if you want to put your application inside an adjacent clave then you will need to correct front time and for now we provide runtime for Python for sure and Java Script should be out if not today pretty soon then we are targeting other languages like Java for example but this depends on us having access to docker images with the right tooling to put in an clave and this is where our partnership twist cone gets involved we are not the one designing the layer images we are just taking layer images from scone and showing how you can build on top of them so for now I would recommend Python but if you don't want the security of trusted execution environment you just want to use attestations for application using the pocos and you can use any language you want as soon as you can as just you just have to dr. eyes very much and this is something that we are in sicily this we want you to be able to take any application that is out there for example blender or Lightroom any any application that exists and is executable as soon as you can docker eyes it then you can port it to an exact we want it to be very easy for you to to inter it's really an interoperability layer between the blockchain on one side and any application that runs on any x86 64 processor on the other end so the first tournament is that it's an open market so as a requester if you want to run an application you will have to pay the price that the application provider requires you to do and you will also have to pay extra for that asset and the computing resources computing resources it's whoever owns them the setup price to that so it's an open market that as Jill orphan said it's like an oil market but instead of oil it's computing power which is oil of the web 2.0 so it depends on whatever resources are available then there is a issue that to state that some application will weren't very fast and some application will be slower so our market is divided in certain categories and categories defined like an envelope of what you could do its smallest is like one minute with just a few megabytes input outputs and the largest one is several hours of computation so this is a model that could get refined but this is a vision it's very complex cuz if you ask if you allow people to select exactly what they want then you will divide the market into very different at your channel chunk and it's very difficult to see competition the fact that we have a certain number of categories help us like regroup provider and order some categories and have a free market so that they fight to give you the best price I think it's done we don't have any more time but feel free to go by the booze and ask us more question if you have [Music] you [Music]

Automatic transcript — names and jargon may be misspelled.