# Applying Trusted Compute to Ethereum (Devcon4)

- Channel: [Devcon](https://streameth.org/devcon)
- Date: 2019-10-09
- Duration: 2:01:24
- Topics: blockchain, smart contracts, distributed ledger, Science & Technology
- Watch: https://streameth.org/watch/yt-91GNXD5yN74
- YouTube: https://www.youtube.com/watch?v=91GNXD5yN74

## Description

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more.
https://archive.devcon.org/archive/watch/4/applying-trusted-compute-to-ethereum

Explore the role of trusted computation in blockchain and decentralized computing for improving scalability, privacy and security. The breakout will begin with a number of short perspectives on how trusted computation can and should integrate with Ethereum, before shifting to a conversation of what is needed from trusted computation going forward from perspective of decentralization. Participants are members of Enterprise Ethereum Alliance that are working on applying trusted computation to Ethereum broadly. A common implementation of trusted computation is a Trusted Execution Environment (TEE) which is a secure area of a main processor. Code and data loaded inside the secure area, commonly known as secure enclave, is protected with respect to integrity and confidentiality. Intel SGX, TrustZone, Keystone etc. are examples of such TEEs. 10 companies are committed to support this breakout session.

Speaker(s): Sanjay Bakshi, Marley Gray, Guy Zyskind, Nicolas Bacca, Lei Zhang, Sebastian Gajek, Andreas Freund, Noah Johnson, John Whelan, Joanna Rutkowska
Skill level: Intermediate
Track: Security
Keywords: computation, trust, scalability, privacy

Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum
Learn more about devcon: https://www.devcon.org/
Learn more about ethereum: https://ethereum.org/ 

Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. 
Devcon 4 was held in Prague, Czech Republic on Oct 30 - Nov 2, 2018.
Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/

## Transcript

I'm Sanjay I work at Intel and another at Intel I constantly think around like you know how we can contribute to etherium and I'm one of the co-chairs at enterprises Hyrum Alliance and as part of that we released the clients back which you know requirements for enterprise clients you know enterprise atheneum clients as well as for scalability and things and privacy which are very important in that space we are exploring various solutions and one of the solutions that we are exploring is around trusted compute and we I believe the e has released an early version of that spec and we just wanna eight today introduce that briefly and then also give a perspective on the work that's happening in the ecosystem by various partners on using trusted compute so that like you know connecting the dots for people you know between what is trusted compute and what kind of things it's being used for so we have a packed session roughly six presentations and a panel and hopefully it'll be fun as we go through this so also as I said I will just talk about the work that we have done briefly and then you know call it a presenter so one by one so like so just a brief you know what is the enterprise aetherium in case people here are not up to it Enterprise aetherium was a year-plus ago several of us got together and we realized that you know there are lot of demand from enterprises using aetherium based in a blockchain for for enterprise applications there were several clients and what we were seeing is like some kind of fragmentation and things like that and not a not a cohesive way to address enterprise requirements so that's where this enterprise Alliance game came about and and so early morning so so the thing is like you know there are four things about this enterprise Alliance really is that the one is defining standards around like you know how enterprise clients you know work interoperate and things like that address specifically some of the requirements of enterprise clients and I will talk about them in the next slide we want to leverage build upon all the work that is happening within public III amount scalability privacy and you know embraced all of that and extend that and we'll talk briefly about that and finally you know great interoperability and certification at all places where it makes sense so so with that quick overview of that when we talk about enterprise etherium there are several call it challenges call it requirements privacy is very important in the sense that you might have you know for as an example participating banks on a on same chain but the transactions between two banks don't need to be disclosed to other two banks so that's a requirement a scalability more much more than you know just the sheer amount of transactions we need higher scalability and 15 transactions doesn't do it for us or 10 transactions but you know we are trying to do our work and build upon whatever the Foundation does and permissioning in the sense that being an enterprise network there is this requirement in the sense like we see hybrid networks in the sense that there are certain actors that will be permissioned and have roles in terms of maybe there are certain substitue can deploy smart contacts there's certain subsets who can you know initiate certain transactions but then there are in case of hybrid networks we do see like you know certain people from the public side of the world interacting with this so we have this to figure out what what the identities are and how how they you know are enrolled into the system the other part of it is like [Music] interacting with the external world in the sense to initiate transactions you have to make sure that your wallet or the keys that are used to generate transactions are very protected from the enterprise perspective because you are basically representing someone when you are initiating a transaction and then other aspect of the connecting to the outside world is you know bringing information from from various Oracle's into the system beat price of the commodity or you know whether in certain place whatever that might be so how do we bring all of that in an atrocity to a straight away into this into the implementation into deployments so scalability right you guys probably have heard all of these things so I'm not going to repeat so the point really here is that we are you know going to use these you know very excited to see this aetherium to rot or serenity as Vitalik talked about it yesterday and so wherever we can use the beacon chain is very exciting we will use these showering plasma very well when they become more you know robust defined very possible and but what we are saying really is that we have defined another one based on a trusted compute that that we are working through and and that's what we are trying to connect here with the rest of the receptor foundation so like so it's a little bit about a trusted computer level set you know what what it is because like at least in my experience many people have different notions of what trusted computers so I will tell you my definition based on which you know at least I have been working it is really a place what we say is where you can execute a piece of software without any external influence interference so what that means is like you can divide a system be it a PC or a server into an trusted part and an untrusted part so in this picture the trusted part is in the blue and and around it the white is the antacid part so what we are saying is that if there is something executing inside that blue it it is integrity protected means meaning like you know if you do one plus one inside that blue you know exactly one plus one happened why because the underlying system is giving you those guarantees the other aspect of it is like if you have any keys in there you can pretty much be sure even if you may have malware running in the white part the antacid part your keys will be protected and cannot be you know stolen and as a result if there is any data that is sent encrypted into this blue box from outside it cannot be you know decrypted outside yes you can do Dass attacks in the sense like you can drop the packets and things like that but you cannot fake the fake it into thinking thinking otherwise and lasting about this container is that you know you get an attestation at the end of it what what has happened what code I executed what inputs I got and what are my outputs so you get that kind of a you know response so there are various types of trusted compute that are comprehended in the spec one is does it computes like Intel SGX and then there are other ones too like software based based on Zeke approves MPC so in the spec that I will share in a little bit these we are comprehending all of these because we do believe that it's not one thing is not a silver bullet to it there will be situations wherein you may even have to have an heterogenous deployment where in a single deployment he use MPC for certain things does it compute for something else and so we are comprehending all those permutation combinations so just quick perspective on like you know how about the ecosystem of the about the ecosystem of the around trusted compute so generally the what I want to say here is like it's been fairly active a lots of people have been working on in this space and several of them you will see talk about in right after I'm done so a slide on trusted compute so it was a very interesting experience within the forum going through this because we got to know several perspectives of the people and the idea of this one was to put it out say that trusted completely is use it in the sense like you know you're off chaining you have the chain and you are going to off chain and take the take computation off the chain be it for scalability because the task is complex or or you have some private data that you can share on the chain and you do all of that processing inside trusted computer so so we have several objectives in terms of private transactions I gave an example of that you know for banks you know in a console on a chain two are doing transaction rather who should not know so that's one example the other one is like you know two banks have data sets that they both want to combine and derive some inference from that but they don't wanna give up the control or early or you know keep the confidentiality of the data that they have so you could you know use trusted computer in that setting the other so these are the two that we have some extent comprehended in the current version the work that we have to do is around the foundation is you know will support this attested Oracle's but we have to do that and that's in the upcoming versions we will address that we are also looked at identities and besides we had a good conversation around should it be identities based on just the etherium addresses or should it be decentralized identities as defined by recently identity foundation so generally we are going to explore that we are supporting what the ID work is being done in the industry so more you know discussions on that will be upcoming and then the other one is this this version if you look at this back you can see that some of the api's are not something that you would use them on publicly theorem because they do consume high gas and that's one of our upcoming objectives in the next version is to actually go through those and clean up and have them aligned with what is expected on the public aetherium side and the other side of the api's is we are making sure that it doesn't design anyone out beatbeat different deployment ations of classic you know te or different implementations of ZK so we're trying to do that's definitely one of our objectives and also to comprehend all the three forms so so this spec was actually you know early version point five version of the spec was announced yesterday and we do you know our hope is that you guys will go check it out from your perspective and provide feedback into the spec our our desire or our object to is the version point by that we announced like this week we will take it to one dot oh by you know at q2 of next year when there when there will be next update of the spec as well as work on some other new features that we have you know not really had time to explore so so that's what I was trying to hopefully give you a little bit insight into what has what we have been doing at EA and now you know we will have like five more presentations to talk from a perspective various EA members like you know how they have been using trusted compute and and things like that or how they plan to use it and then finally we will you know also have a panel and see and hopefully make it more you know bi-directional at that point so at this point I will I think Nicholas so Nick Rebecca comes with you and coughin the Fletcher so I can I will tell you a bit how we have been using trusted computing during the past year so we have a use case which is a bit original or untested compute because lecture has been mostly known as a hardware wallet provider so far but we realized that the main problem the main issue when people wanted to use a hardware is that well they have to buy its inaudible wallet so trusted computer in our computer for us is a way to think about how we can basically change that and if there is a way for people to don't know the hardware wallet on their existing computers so we spent one year thinking about the different security threat that could that we could have entrusted computer and see how we could visualize as much as possible hollow wallet so if we look at water Hardware wallet is doing today I will see that we have four different properties so how do our wallets should be able to protect first it should be able to protect keys so when we do an operation and key an attacker shouldn't be able to access the keys so that's one of the most important properties one difference here is that a hardware wallet should be able to protect against a physical attacker while we cannot really guarantee that with trusted computer so that's something we are okay with I mean if an attacker a physical access to the device we are ok with that now after that so another property is that hardware wallet should be flexible so if we have well at some buried in a trusted computer environment we should be we should be able to update a wallet in all kind of situations so even if the device is compromised or even if we have a new tab we should be able to load that that in the environment and we should be able to well I should be able to update the wallet to work with a new use case that we have so that's very important for IT reom because we have a lot of tabs as they all have a different interaction with the user and we want to make sure that the malware will not be able to make you do something else with your dad so basically sign some things that you didn't want to do and well use your funds to do something else then we want to make sure that on the hardware wallet we get a user confirmation so that was something that was missing from our stack before and I will tell after that a little bit more how another intelli P I helped us to solve that but today if you want to come is user confirmation is paramount when you are spending money because you must click and you must make sure that the user cannot be faked by a man so that this click cannot be faked by a malware and well I add another point so I'm trying to remember it because not the right version of the slides but if I think about it I will tell it later so on the things that we have done we managed to guarantee this possibility between hardware wallets and let compute by using an architecture which makes an abstraction of the stack so today when you write an application for let your products you write your application in C we consider that C is portable enough for people to work in several environments so either you are working in a native environment like a secure element and in this case you are cross compiling to arm if you are working with an enclave like this one we cross compile to a virtual CPU called Moxie which has been well studied in the Bitcoin environment already and the virtual machine is very simple and so you can guarantee that the virtual machine can be can be tested and can be certified even if you have some if you feel the need a bit later so now moving back to where we were in 2017 so we did an initial release which was not very successful because one of the problem of this release is that all code that you developed for your hardware wallet so for your new application running and trusted compute and SGX had to be signed by letter and we want to have something completely decentralized so we want to have something is recruiting securely that you can sign yourself on which you can trust you certificate and that's not something we were able to do because we had no way to gather user improvement to make sure that user input was executed correctly then we heard about a new API from it are called protected transaction display that we used typically for several things so the first thing is that with protected transaction display you can get user you can display things to the users that are hard to fake and you can gather user inputs in a trusted way so today so user input you can gather a pretty simple so you have a PIN pad and the PIN pad is what on screen so you can't really know what the user has selected if you are malware but if you want Enclave you are going to get the right thing that the user types so it's a clean and it's an easy solution to get seeker user input and we are using it for two things so we are using it first to get a user confirmation if the code is not signed by letter so thus we are solving the first problem we can run unsigned code we can run code that we didn't trust that we don't trust and we can limit the features that this code is going to run if it's not signed by us so here we talked about the attestation before we can have an ANSI station saying okay the code is running the code is trusted by later running into a platform if the code is signed by us if it's not signed by us it can still use all properties of a secure environment without the attestation so that's an example about that some things that's very customizable and the end result is that people will be able to design their own code without getting a signature from nature before and the other obvious use case of trusted computer sorry of BT's of protected tradition display is that we can use it to display so the transaction so when you're interacting with a smart contract we can display the transactions that you are sending and then we can use this as well to load new UI is if you are using a new tab so today when you are interacting with it up and meta mask and also wallet you are getting if you send some data you're going to see that you are signing a blob so you don't know what this blob is doing and you need some kind of author another UI to confirm and to make sure that you are doing the right thing and PTD will allow you to solve that along with a platform like ours as I thought you run that you load dynamically your new code for your tabs so you could have one small piece of code one small piece of script for all your new tabs and this way we solve all kind of usability problems and security problems at the same time so that was a short presentation of where we are today I wanted to publish some code but we want to make sure that security wise we feel comfortable with letting people put real money on it and test it so what we will do is that in the coming months we will first do it yet so we will publish some code with some material in it and we will let people try to get there so the good thing is that they shouldn't be able to do it so if people to do it then we will iterate we will publish a very detailed test report of everything we did with the wallet and when we are comfortable with that so that should be during q1 of next year we will release our SDK and that will let people download how do our wallets technically and play with their own applications so that's it for me I have a question so using this PTD API how does the user now that whatever is displayed on the screen this chef outfit PIN pad as I understand how does the user now it really is displayed by either just a tank life so so how does the unit know that that the screen is really I mean that's what is this place we display by the drive you don't really have a way to know that because this can still be food by food by malware so the idea that you will asks the user to confirm back something that is displayed on screen so for example if you display an amount you will ask the user to type the amount again using the rat pin pad so using the scramble pin pad and you will collect that back on the Enclave so if the user is able to type that it means that well what is displayed is correct basically so you will ask the user to confirm back by entering again what was displayed on screen but just to clarify do you also use additional LCD screen on your letter no you don't you just use you just everything cuz in software correct in this picture so host can intercept your keyboard as well as your display yes so I don't see how you can use either way to verify the correctness of the other one so the host and the host can inter in in that case the host can intercept the display so the host cannot the ID that the host can display something on top of on what is displayed but with PTT the host cannot see what is displayed so you can prevent the house from simulating everything you can so you can simulate everything but since the host can't know what is displayed let's say you display the mount for example in that case the host can display another one so the host can say okay you wanted to pay $1 I'm 180 sorry I'm going to tell you are going to pay 1000 theta so the horse can do that but in this case you can ask the user to type it back using those using those converting pad so that host cannot read either because in the host cannot read what's in the display so if you have a stronger PIN pad and you ask the user to type back basically that the amount was one and not 1,000 if the user type one and confirm I mean you know that well you are paying one another question do you use remote at the station at all for your solution we are using remote attestation to guarantee that the on drive is genuine yes okay so what do you think about Intel forcing you to use the centralized service for remote attestation so for the time being we will I we rely on it then we will Ino on attestation which can be very fine on chain I think that Intel is working on more flexibility station schemes that will not be that summarized in the future which would you said is critical for you to have is this decentralized like I would like to see centralized but for the time being relying on IES also puts weapons and relying on our own a decision scheme for our scripts that we execute in the Enclave is good enough thanks Nicholas I think we're done with the time thank you so the next up is Sid from we've seen you can call me sir as well the lead bench architect with we've it's a it's a deep tech company out of Berlin and we are revolving around the technologies of data attestation data validation and data communication using the powerful paradigms of IOT and blockchain unfortunately my CTO professor Sebastian gyq he was supposed to give the talk today he couldn't come in so I'm replacing him today and the the premise of my talk today lies in the foundation of the future I think we all believe in so it's it's it's revolving around the building of a decentralized machine-to-machine economy autonomous machine-to-machine economy and how can we use trusted IOT Oracle's for that so for starters since we are here so for the etherium Network I'll dive right into it ok so we believe that IOT devices can be good data Oracle's for the etherium network but there are there are two fundamental problems in that there's there's lots of compromises right now in how IOT devices are so there's lots of attacks possible man-in-the-middle attacks buffer attacks which which really do not make it possible at this moment to make them good Oracle's for the for the blockchain or for cloud applications and once the data has been produced the second layer that the integrity of the data itself data itself is not so secure it can be easily manipulated it can be faked which again proves a problem to make IOT devices good data Oracle's so imagine a hybrid car charging and charging using an induction loop at a red light crossing and the wallet needs to pay the amount of kilowatt hours of energy which flew in the car and the equivalent amount of money but then the the car wallet doesn't really know how much or doesn't really know but doesn't really have the guarantee that this was the amount of kilowatt of energy which flew into the car and there needs to be a good attestation such that the wallet recognizes this and pays acquiring for that so the problem really is how do we ensure the truthfulness of this of this value chain and the value chain which we do believe is in that we've elevated data from a resource to to a digital asset and we believe that it could be any asset in the physical world we first when we pay for the asset we kind of have the guarantee that this asset which we are paying for has either been verified or the quality has been assured by some agency but that's that's not the case of the current infrastructure setup of how data is being produced and traded and even if in the future we do have sort of regulations and infrastructures in place which makes makes makes makes it easy to pay for the data which you are consuming there's still very still be too many difficulties in post transaction data settlement because just the sheer volume or the velocity of the data which would be flowing it's very difficult to regulate it after that so so the whole problem comes when we have to attest the data from source and this is this is what Sanjay and his team at Intel are also doing so like having good data Oracle's but then to have good data Oracle's we need trusted data flowing in these Oracle's and to have trust data we first need trusted computing and which is why we kind of follow the analogy of data as a as a asset which has been harvested from source harvested in a manner such that it can be trusted then processed then transported then assess and then commercialized so this is in brief the technology stack we had we were building so we built on top of the on top of arms Hardware extension the trust zone a lightweight trusted execution environment and a build operating system which enables the data to be attested at source and then the the OS of course has certain properties which allows the sheer compartmentalization of of the the secure world and the normal world so you can have all your cryptographic keys your cryptographic materials in the secure world and your everyday running operations in the normal world so even if your your wallet or your normal world is hacked your secure world remains secure and your keys are protected basically then then we have the secure communication protocol so traditionally IOT devices have used the mqtt protocol which which which has around seven communication rounds and you put TLS as well on top of it then it just doesn't become usable enough for this this sheer volume of data flowing for IOT devices or IOT data so we've tried integrating some sort of a simple secure messaging protocol on top of em qtd says that it's it's a bit more low latency it just requires three communication rounds then the next step is to have have a testimony the testimony kind of proves that the program was executed in the manner that was supposed to be executed in and then finally you can transport the data to the blockchain layer or the cloud layer and then where it can be finally realized that this this data is now truthful and it can be traded or commercialized or utilizing some intelligent manner so these are just some brief features we think are important that's why we use the zone extension at the moment in the future we plan to be compatible with with Intel SGX although which it's it's it's a bit more compatible for cloud architectures at the moment not so much for embedded systems which is where we use precision X extension at the moment so it allows us to isolate programs shield the cryptographic material and also it has a secure boot process plus something we like to call the snags which basically proves that the program was executed in a certain way that's the brief architecture of the normal operating system the secure operating system there's also a 60 page white paper I can I can have it distributed so you can find all the readings as to what each element does after the talk so yeah finally the vivo s it has some built-in functionalities so crypto API keoki storage secure food communication protocol MQ DDS which is the lightweight protocol I mentioned then the etherium wallet it's an extension to basically allow these wallets to pay once the data has been attested automatically and then of course the testimony so the testimony in in simple terms is basically snapshotting microinstructions at regular intervals and I'm telling telling the user that the the data which came in and which is going out if it's being snapshotted at regular intervals it can be then verified later on when it has to be verified basically so we have the github code there and of course we have their own Gator as well if you want to have a chat with with our team of developers as well from Berlin yeah I guess that's all thank you so much guys could you please explain a little bit more in deep like Audie attestation system works like who are we exactly trusting here because it was quite obvious that we are trusting whoever he's manufacturing the chip and the arm trusts on architecture but where does the attestation come from because this is not something that trusts on the files yeah so the trust own doesn't do that that's why we build this this operating system on top which has the the testimony and the testimony takes continuous snapshots of the data which enters the sensors or the processors and this is where the attestation comes in so so next up so these two presentations were more like you know getting the external data either into the chain through a transaction or through the Oracles the next one is around like it all may be privacy and it's guy here guy from enigma hello everyone I'm guys this Kent co-founder and CEO of enigma and I want to tell you about privacy-preserving smart contracts specifically today there's a much longer conversation tomorrow when I'm gonna go much more deeply into the architecture but today I want to talk to you about some applications especially those that relate to identity and I'm going to give just a basic overview of the platform but again tomorrow is a talk where we're really deep dive into this so this should be obvious to everyone in this room block shares are public Ledger's that means that all data that you put in a smart contract anything that you want to process on the blockchain is completely public for everyone to see that means that if you have an application that needs to process let's say your credit card information that's going to be made available to everyone in the world and that's obviously unacceptable which greatly limit the type of applications that you can actually do on the blockchain and I would even go further and say that there are only I'd say maybe a couple of good applications that I can think of that make sense on the blockchain without solving for privacy so that's really where enigma comes in our goal is really to allow nodes in a distributed network to operate over encrypted data that gives us the privacy we essentially want to upgrade smart contracts into secret contracts secret contracts are just plain smart contracts but they also protect data in transit any news if you want to be a bit more technical about these smart contracts provide correctness that's really what excites us in blockchains the fact that if you put the code on the blockchain and it sends some data into it you're gonna get the correct result and you know no one can tamper with it assuming you trust the the the model so that's great and that's why we're excited about blockchains but these doesn't protect privacy and that's where secret contracts coming so we have a nygma discovery discovery is meant to be the first network that we're releasing we have a version out right now it's public the code is open we have several companies that are very well-known in the space building on us using our technologies and we're actually making some more improvements and we really release I'd say discovery 2.0 in the next couple of months with a lot more features and discovery really means that all nodes in the network have to run Intel HD X intelligence provides us the infrastructure where we can run code securely both for correctness and privacy and I do I'm not going to get into that here but we don't just rely on IntelliJ X we rely on other things like a female for consensus but the main idea for that for privacy right now we get data from a CX other properties that are interesting and this is the first network of its kind is that discovery is completely permissionless anyone can join can become a node and get rewards it's completely economically incentivize it uses some kind of POS model and I think what's mostly interesting for developers in this conference is that it's a hundred percent compatible with the film that means that you know if you want to enjoy the security of aetherium if you want to continue to develop a decentralized applications on aetherium that's fine by all means we're not trying we're not trying to compete or to change your habits but if there are portions of your applications that need to process sensitive data where we provided the means to actually go from aetherium to securely compute on enigma and then back to a theorem and we make that very easy for developers and very seamless for the users so the architecture at a very high level is very similar to how blockers work today you have not shown here you have smart you have developed who basically write secret contracts and deployed that to the Enigma network and then you have users that communicate with those secret contracts from the outside by sending tasks tasks for basically special transactions that include encrypted inputs as payload and that's really and in the middle that's really where all the magic happens in our network so I think this is a statement everyone would agree modern applications require the use of sensitive data that's not something we can debate or change or even want to change and I'm gonna talk to you about one specific example in the identity space that we've been working on together with a company called data wallet so it's pretty common today on the Internet that you know before you subscribe to an application before you can use some kind of application you have a gateway that Gateway needs to make sure that you know you're not trying to game the system and that you're not trying to mount some Sybil attack it needs to verify that you're a person and your one unique person that you're not creating let's say a thousand fake accounts that's prevalent in centralized systems but also decentralized ones so we're working on data wallet to produce that and working on or to produce that in a privacy-preserving way that is provably correct so let's see how this works today and this kind of contract exists today if you want to use some kind of gateway like that or that gate we may ask you to provide some solver personal information like your facebook data right you're gonna send that in the clear to the to that service provider that service provider is going to run some algorithm we call it you know part or not which simply run some statistical algorithm that checks whether you're a real person or not but you have to completely trust that service in both ways first of all they can censor you right if they don't like you if they don't like what they see they can say you know what we're not we're not giving you the stamp of approval and you cannot continue to use whatever other service you want to use and what's even worse and more likely is that you give them your social information in the clear that data then they get it they usually store it and you have no control over what's going on with this so we want to do better and what we suggest and the way this application works here is essentially just put everything on enigma in a in an encrypted form where you know that creates a neutral safe ground the one of these works is that the Gateway that the developer they deploy their algorithm as a secret contract to the Enigma network and on the other hand the user submits their encrypted data into the network and then all of these computations happen in the network over encrypted data the only place where the data is ever decrypted is obviously inside of SGX enclaves where even the host cannot really probe in and see the data so in a bit more detail about how this was actually built we have data wallet who developed the front-end that's basically some kind of mobile app that you have on your phone it allows you to take out your social information from Facebook and you get that locally then using our library they can with a click of a button actually encrypt the data with the key that only exists in enclaves in our network and then that encrypted data is being sent to the network to an enclave or actually to server enclaves and only then only then the information is being decrypted inside the Enclave and the archive itself runs the secret contract in this case it's the bot or not algorithm and then it returns the result so the only thing that really leaves the network and leaks is the result which is just like one bit whether you're above or not but it's a fake account or not now this is just really touching the surface there's a lot of companies in the space building a host of applications that are needed for the space we're talking decentralized governance we talking auctions we're talking protecting States and games this was an example about identity and cyber prevention we have work done on decentralized credit and other machine learning applications it's it's really the sky discard the limit if you can really protect privacy and tomorrow I'm going to go much more deeply into the architecture and these use cases and I'm going to mention some real names and share real code and examples of partners are working with so I do suggest if you're interested in this you attend tomorrow it's going to be here at 12:30 so you're welcome thank you thank you they'll be gather a question how does the application now it actually uploads the data to Ana and 2d and clave that the application wants to trust right so basically what happens is that we have a registration process for every worker in an airport that worker basically creates a new key inside in fav that they sign they that go through the IAS and providers so you rely on IAS and remote at the station how does it not concern you that this introduces centralization to Europe how does it not concern you that this creates a centralized point for you what we do is we do it only in a good stopping place so there's a registration you go to iose once you you know you get they signed the report that goes on the change and this is right now the best we can do we would love to see the central as is but beyond that process if you trust the Transit Center okay thanks guy so at the next up to give its perspective on this one is Noah from Oasis labs everyone so my name is Noah Johnson I am with Oasis labs and I'm going to talk about what we're building at Oasis so of course blockchain is an exciting technology that provides a number of unique properties and capabilities like you know openness decentralization integrity guarantees but as has been well motivated today blockchain by itself doesn't provide privacy right and this is very limiting this severely restricts the sorts of applications that you can run on today's blockchain platforms and so what we're building at Oasis is a platform that protects data protected data and smart contract state and provides privacy at every layer of the stack so at the application layer we have a set of tools and libraries that allow developers to safely analyze and compute on sensitive data with guarantees that the results of those computations actually don't violate privacy at the platform layer we have a system for ensuring that workers can't view the data or steal the data and then we have a scalability architecture that allows the entire system to support much more complex sorts of applications that you could run today so this is really a top-to-bottom approach all of which I think is necessary to provide and and privacy it's not sufficient to just protect the data on the workers if it's trivial to write a smart contract that actually leaks out sensitive data so this is our approach our use of trusted compute and secure hardware's at this layer so this is specifically concerned with the problem of you know given an open network and workers whom you may not trust if those workers are computing on sensitive data how do you make sure that they can't actually leak the data and so what we're aiming for is essentially a model called confidentiality preserving smart contract execution and and the general idea is that all of the inputs and outputs of a smart contract are encrypted so that nobody in the network is actually able to view the contents except the smart contract it's so this means no nodes can view the data the Gateway can't view the data and even the worker that is processing the smart contract can't view the data so how do you actually access this functionality so today if you want to call into smart contract you would usually use existing interfaces like web 3 unfortunately web 3 was designed under the assumption that all data is public so the existing API is actually are insufficient and so for that reason we've developed an extension to web 3 called confidential whip 3 that adds new api's that essentially allow users to construct a secure channel into the smart contract so that they can encrypt the transaction payload in such a way that only the smart contract can actually decrypt it and so web 3 is backwards compatible with standard sorry confidential web 3 is backwards compatible with standard web 3 and so it's a you know it's a drop-in replacement the modifications that are needed to existing applications are very minor we might also look at supporting EE A's trusted compute API as well given that it solves largely similar problem so there are a number of different technologies for enabling secure computing these are generally classified into you know techniques that rely on secure hardware and crypto based techniques that don't rely on secure Hardware they instead rely on cryptographic algorithms so they're different trade-offs all these techniques as Sanjay was was mentioning earlier there's no single approach that is a silver bullet and is that you know the optimal approach it depends on the application and it depends on the performance requirements and and the threat model and so the goal of oasis is to integrate all these different technologies into a single platform and a lot of developer to decide which one they want to use and make it very easy for them to have access to these technologies one of the reasons we're especially excited about secure hardware is that of these techniques it's by far the most performant and the most general purpose so the fact that you can run code you know directly on bare metal means that you can run essentially any application and you pay very little in terms of performance overhead so this is the first technology that will expose in oasis people aren't familiar with secure hardware the the basic properties that provided by secure hardware are essentially the hardware allows code to construct what's called a trusted execution environment in which you can put applications and data and you have a guarantee that nobody else on the machine the applications the operating system even the user is actually able to view or tamper with the contents of this trusted execution environment so this provides both integrity and confidentiality and also allows the hardware to generate a certificate that can be verified by a remote party to prove that the hardware is is genuine and you know the right code is running so this goal of sort of emulating an ideal trusted third-party right to provide certain guarantees even in the face of you know untrusted parts of the system are very similar to the goals of you know a general smart contract platform right and it turns out that smart contracts and T's have very similar and in fact complementary properties for example smart contract platforms provide strong availability given it's a decentralized network if one node goes down you can still access the network state is stored on a permanent ledger so there's persistence but as we mentioned earlier today's smart contract platforms don't provide any confidentiality for data or state on the other hand trusted execution environments provide weak availability given that you know anyone can just shut off a machine that is running a trusted executor environment and you would lose the application state because these don't have direct access to durable storage they don't provide persistence but they do provide confidentiality and so the fact that we have these complementary properties means if you combine the technologies together you can get the best of both worlds and that's exactly what we did in our previous research project called akedan so we showed how to run smart contracts inside a trusted execution environment in order to endow the smart contracts with confidentiality and attach that to consensus and a distributed ledger in order to retain all the benefits of blockchain and decentralisation so all the details are in this paper we're also working with a project called Keystone which is a fully open source design for secure hardware so today the sort of the state of the art secure Enclave technology is Intel SGX and it's it's nice in that you know it runs on commodity hardware has very very high performance we want to provide more options to developers we want to grow the ecosystem and one of the things we want to use Keystone for is to kind of explore new designs and secure enclaves and bring together researchers in an open platform for figuring out you know what are the limitations of today's designs and how do we improve on them so he's don't eventually will publish a specification for a secure Enclave that is royalty-free that can be manufactured by any chip maker and as those chips become available they'll be exposed through the Oasis platform so developers can choose whether they want to use for example SGX or key stones the idea is to grow the entire community by you know accelerating adoption of secure Enclave technologies and allowing developers to choose which one makes sense for their application a few weeks ago we hosted a workshop at Berkeley specifically around how to design open-source enclaves and we brought together industry and academic leaders in the space to talk about you know what are the open problems and how do we work together towards this goal ok so once you can protect data on a smart contract platform this opens the door for a lot of really exciting applications here's a list of some of them many of these are already being developed on the Oasis platform things like credit scoring and decentralized exchanges I want to talk about one application that's especially exciting this is called Cara and Cara is being deployed on Oasis it's designed to solve this problem of data silos around medical data so today you know medical data is extremely valuable for for research purposes but users are reluctant to share their medical data rightly so primarily because of privacy concerns right because they don't know what people will use the data for so Cara tries to solve that problem and the way it does that is by allowing patients and doctors to input their data into a smart contract and researchers that want to train models on that data can submit those models to the smart contract and the smart contract sort of mediates that interaction and the entire thing runs on the Oasis blockchain once the bottle is trained the users are paid tokens you know to compensate them for contributing their data and the researcher receives a trainer model so the nice thing about running this as a smart contract of course is that it means the patient's don't have to trust researchers they know that their data will only be used for the purpose of training this machine learning model and because this runs on a platform that can expose secure enclaves then all of the computation can run in a secure Enclave allowing patients to know that their data won't be leaked or viewed by even the worker that's doing this training and this is exactly why secure enclaves are so exciting for these sorts of applications is because it allows you to run very complex application workloads with very little performance overhead while getting those security guarantees so if you're interested in learning more about this or you want to get involved one of the developers of this project Nick is actually in attendance today and he'd love to chat with you okay so that's the end of my talk if you're interested in building a privacy-preserving application on our test net you can go to this URL you can sign up to our Twitter to get updates and you know if you're interested in the space and you want to help us build the system we're always looking for for passionate people who are really excited about privacy as we are that's it thank you thank thanks Nora a little bit we shift the gear in the sense like you know in the last two section it was the idea was to say how you could use some of these things with some real-world applications that various partners are building and now I will have Marlee from Microsoft talk about like you know if you were to say that okay I want to build something on these enclaves where could I actually get access to this hardware and and oh and what's the environment so Marlee besides that pyramid so Microsoft we're from I work in the Azure team and that's our cloud platform and one of the major issues of adoption for clouds is why would I run my code in a public network when you know it I have to trust you Microsoft to not steal my intellectual property and then you know do all the evil things that used to do in the past Darth Vader ish so we see confidential competing sort of holistically and say this is super important for us to grow our core business we have to be able to have a cloud platform that our customers whether they're large corporation or someone building that decentralized application and what I would like to call the next-generation killer decentralized application needs to have the ability to just in time grab a secure Enclave we'll talk about this in a minute to be able to execute some arbitrary code and confidentially execute that and then you know have it its results published on some network of some sort how do we make that possible what infrastructure is required so that's our main goal is primarily to remove Microsoft out of the trust base so you no longer have to trust Microsoft to run your data in your code in in our cloud which seems kind of weird but that's really quarter growing our business it's quarter not only giving you know our largest financial services customers but also a lot of you folks that are really concerned with you know centralization and and the I've been doing this since 2015 and I always get that first question people walk up to me what's Microsoft doing here you're centralized you know you know it's okay if we get it but we're trying to contribute into the distributed space oh well this is broadly applicable so the thing that we've the previous speakers talked about is how do you apply enclaves the news the good news is you can apply it in a lot of different ways that solves a lot of different problems but it is it's not a hammer right it is your hammer and everything's a nail you try to hit it doesn't solve every problem but when you do find sort of an intractable problem having an enclave available to you lets you explore different ways you can solve those difficult problems particularly on a privacy and confidentiality so let's do this so we're looking at things like machine learning sequel server essentially anything that we're running in the cloud is looking at how they're gonna use te es or trusted compute to enhance their product to remove Microsoft from the chest pain let's go the next slide okay so some basic things we're doing is sort of broadly we want to have of course this we think this is going to apply everywhere we we're really interested in hearing customers and how they're using it and we want to make sure that we encourage them to do that any of you worked with enclaves anybody's written an app that runs in an enclave come on show of hands alright handful of you relatively speaking how easy was it extremely easy no it wasn't your probably easy now but really you probably look it back at you have some scar tissue because it was very difficult what we're trying to do is it's not just getting your code to run in the Enclave but it's also how do you get your data to the Enclave how there's a lot of infrastructure you have to do there so we will make it very easy for you to get your your to introduce this into your environments so we want to solve those difficult problems so the things we're doing we're trying to work with this open Enclave SDK we to share the desire not to to provide choice in enclaves we're a huge customer of Intel they're huge partner but there's our customers wanted other options so we have things like a hypervisor based on clave that's an option working with other hardware providers to make sure that we provide a platform that gives you choice in enclaves but that also introduces a visual problem which then you start to say okay now I have to write my code specific to the type of Enclave that I'm using and that creates a significant problem so we're also investing a lot through Microsoft research in building what we call the open Enclave SDK so this is an open source sdk that we will allow you to to write your apps to that sdk and abstract yourself from the actual implementation so you sort of get the the JVM type experience where you can write your code once and not really be concerned with which actual Enclave that you're using so that's sort of a pragmatic approach to doing that we'll still have scenarios where you're going to want to write to the bare metal there's a lot of scenarios where you don't want to do that or it's not the most cost-effective thing for you to do so these abstractions are very important we talk about SGX and VSM and and others will come across so that's better next slide please thank you two basic things that we're trying to do these are examples of frameworks that were working on to try to to allow customers to build killer applications we think that's gonna be what's really drives blockchain networks we've worked a lot with tons and tons of customers to try to establish networks and to roll these consortiums out and for the EEA it's very difficult to justify rolling out this infrastructure and contributing a lot of the the resources needed to work with your fiercest competitors doing that's that time and money to build on work that will smooth operations across that ecosystem it sounds very noble but at the end of the day people are writing those checks don't really you know the friction in the marketplace as long as they're spreaded they're good so what's gonna actually be the tipping point are killer applications that are consumer facing enterprise facing industry facing crossing industries so what we need to do is be able to address some fundamental problems in architecture and infrastructure to start having tools and platforms available so you can start to build those killer applications one of them release was called as we call the confidential compute blockchain framework this is essentially a node level data to your optimization it is not a blockchain it is essentially an open source project we'll be releasing soon I can't give you exact date but mark shaking his head the back that will be raised soon that essentially provides a framework to use in this case SGX to create a confidential compute consortium write us down for public this is a private consortium network that will give you a governance framework so it controls who you let into your network privacy so you can have essential privacy and then performance because we introduce trusted compute we can use faster consistence algorithms so it's a framework it's available and then you could take that framework and build on top of it to create high performance consortium block chains on this platform to really deliver on some of the enterprise promises that we at the EA are striving to make possible above that is another thing in the middle tier so sort of how do I build applications and wrap and give me that infrastructure to where I can execute code and logic off chain and then persist that on chain so I usually tell people the I have to explain this a lot and I talk about the bottom being the distributed truth so most of you will get this because it's the audience and the demographic I have in the room so if I go and look at the blonde I'll look and I see the answer for my question that's 42 and the question is what's the meaning life and everything so if you haven't read Douglas Adams Hitchhiker's Guide to the galaxy I encourage you to do so but this is one of the big themes that runs throughout as you go and you speak this answer you're looking to get find the answer to what is the meaning of life the universe and everything and you finally own the answer is 42 how many of you are gonna be satisfied with that answer and the answer is no one is gonna be satisfied with the answer even though you know it's the truth that's on the blockchain so what do we have to do to be able to you know accept that as the answer well you're gonna go off on a wild track across the galaxy to you know compute all these things you'll come back and sure enough the answer is 42 the next person comes up and they go well what's the answer they see 42 they're not gonna believe it they're gonna go do the same thing again that's what watching networks do right we just compute the same thing over and over again to satisfy that yes the answer is 42 the next one comes in they don't trust it so they're gonna recompute it and that works great but it's not gonna solve all of our problems we need to be able to pull things off or particularly the contract if you think of what a contract is it's a trust agreement between discreet parties the only people that really care about the answer being 42 and really the question are the counterparties to that contract so if I can pull that off and write that then write the answer 42 down then you as someone that's on this blockchain you didn't necessarily ask the question you see the answer is 42 and you're like I'm good with that move on so middle tier we think solving these types of problems we call that the truth resolution tier so and have an option to pull your contract logic and all sorts of Oracle's and and things like that off so trusted compute in watching involves that as well and we address that in the tea of the trusted computation so our middle tier we're trying to make it easy for you to use enclaves in the middle tier so it's more of a pooling getting scarce resources just in time to do certain things that you want done in private so yesterday I published a blog announcing the release of the enclave ready EVM which is a open source C++ implementation of the EVM it is it has no dependencies outside of so you don't need to even use the Intel SGX SDK it'll run as is back to run outside of Enclave as well some things about it it's not fully functional doesn't count gas right it is compatible with the EVM opcodes for Homestead let's see well do existing bytecode things like this but there's some interesting things about this and we built this not because we're trying to compete with aetherium or come out with a theory on virtual machine that's better than anyone else we had to build this for the confidence of compute blockchain framework we had to be able to test this infrastructure so we had to have smart contracts that would execute in a te to C is actually gonna work so what we did is we said okay let's just release that work out we think it's gonna be valuable and let me give you some four examples this type of code you can take it and modify it and you could add in these features because it has decoupled from the consensus algorithm you could use something like the a BCI interface like boro boro uses to have an enclave this Enclave EVM run off chain and then write results on to the chain sometimes we call that even on the public network record so must be check some node that actually executes decoded and SGX the rest of them don't have to do that as long as you come to agreement on consensus it would be an interesting scenario it is an MIT license so currently it won't go any more restrictive I don't believe so alright next slide oh there the URL is there if you notice that I won't get up so let's go next here's another example this is sort of an eye chart this is more of an example of how what we do in the middle tier one of the things that we do and a lot of customers have difficulty in the enterprise of managing keys and want to have key management building blockchain applications for enterprise organizations creates a huge problem and that your if you need to sign your transactions for each individual person you've got a lot of keys to manage what we do here is we use HSMs and Azure that as a service we call as your key vault we front-end that with some enclaves and we can at run time when you're running an execution of some logic could be any type of code we call that code running and that your logic called a late' you create some sort of result like 42 and you need to sign your proof not actually we're not talking about Enclave proof we're just saying I need to sign this transaction but I don't want to have my keys inside this code I think we use this is what we call crypto delegate we just delegate all cryptographic operations to an enclave out of the pool and in the future we think this will be useful to create some of this multi-party compute scenarios where we can do rapidly create things like ring and threshold artifacts out of this okay so big picture again we're building sort of a broad platform watching agnostic we started with aetherium will we support essentially all blockchains go ahead and give you an example see CBF is that that lower level so this is the tearing so the data tier introducing a framework that allows you to build the next generation and source 'm so this is private right network so that's that's down here middleware platforms there's a range of services that we'll be introducing this is language agnostic but the intention is to be able to support any language any runtime whether it dotnet core Java JVM actually working on those some room actually working on that implementation right now and then we also have an offering called as your work bench watching workbench which allows you to rapidly prototype your solution so any of you that are trying to build an application or to get funding for one or get approval to do it but you don't have anything to show for you can rapidly build an application here and workbench and have it build a solution on a theorem or EEA implementation and go get your funding cuz that's a pretty user interface and it has all the features and bells and whistles that you want to demonstrate so it's an awesome tool to go out and rapidly move forward towards your use cases that's it for me I think the last up for the presentation is lei from my exec and so so in this one it's a short presentation and I think a short demo to you know put put some of these things in context morning everyone my name is lei and I am from Isaak blockchain technology which is based in Lyon in France so today I would like to give you a presentation our exact end-to-end trusted execution with info as G X which is the first stable solution for business purpose here's Q the blockchain based computing using Intel SGX I would like to start with talking about what is its interest to X although I know a lot of you guys understand how it works so interest react stands for in tow software called extensions so basically it's in host clearly technology which is available since 2000s Christine and interest reax is based on the secret kings that are fused inside the cpu during the manufacture so basically it's a hardware based security technologies which means it leaves very very little attacking face for the malicious attackers so basically you can consider as GX as a secured bubble surrounding you application and protective applications from the host machine for example if I have a fan tackle occasions which contain some of my sensitive data I want to run these applications on the decentralized networks say if the application runs on your machine think about it you are the administrator of your machine right you have hundreds ways to easily access to this application and still my sensitive data in which I've been involved in this application so thanks to this intro SGX technology so interest reacts creates a bubble which is strictly isolate the application from the host machine so in this case even you are the administrator of your machine you cannot penetrate this bubble and access to my applications to camera map occasions to steal the secrets involved in this application so based on the s3x technology we propose our solution which provides end-to-end data protection for the applications running on the blockchain base to the centralized networks so firstly what is our definition of end-to-end protection we know that a typical application data consists report the application in poor tailor so mostly probably it from the user side you the import data the application in banded data and application output data memory 2 refers to the application result right so our end-to-end for protection means a protection for all these application datas all these application data stays in the encrypted Staters during the whole procedure of running application so the creation only happens inside a high secure SGX bubble which is also called as reacts Enclave and cannot be accessible from outside world so from outside world everything happens in this s3x Enclave is in the encrypted status the example I have a fun track application right I want to run it only blockchain based decentralized networks and this Vantage application requires some user as user input data so from my side this user input Eric Oracle asked me some about my say bank account information my privacy information so I definitely don't want these my personal informations to be just diffused to the centralized networks so all this user input data has to be encrypted before staining to the decentralized networks to feed the application execution and at the wrong time of the application this application runs in the int o GX Enclave so from again from outside world everything happens in this SGX babo is encrypted status and finally when the application finishes running it we have the result and result is also encrypted inside this s3x Enclave so finally only the corresponding user who treated this application is able to download an applique at unloaded application out port and only this corresponding user is able to decrypt the application output so this is extremely important for the decentralized applications which contains some sensitive data and another great hue a use case very demoralizing say if I am a data provider I would like to make money by renting my data to you to feed your application I definitely don't want you just copy my data and the result of someone else right so the end-to-end photo data protection is really a essential requirement in such contests and use case so we talk about any twinned photo for data protection and why it is so important to our Isaac platform and blockchain based cloud complexion based computing so we know that the core of a proc chain is its decentralization which means the data or the applications running on the decentralized networks right so approaching a questions naturally raised that's decentralized networks being trustless to some extent yes think about the legacy centralized networks see about the cloud provider how it works so this is a centralized entity or the cloud provider cloud administrator who is there to deploy the sophisticated security Magid isms just to protect your applications wrong on their on the earth centralized networks but for the blockchain page to decentralize networks there is no such administrator who is there to protect the applications running on the decentralized networks so without the end-to-end their propulsion or your application better are just exposed to the millions of decentralized node so for our eyes our eyes ik platform so basically how Isaac perform away offers a blockchain based platform to trade computing resources so basically if you are a silver provider you can join our platform to monetize your service service if you are a application provider you can join our platform to monetize your Suri's and it's simile if you are a dataset provider since our platform is blockchain belched so all this data as applications running on the decentralized networks so thanks to this end-to-end protection the application and data service can be monetizable in a secure way via our Isaac decentralized platform so the for data protection and a trusted execution is a must is a must for Isaac platform and blockchain based approach and based computing okay so I just talked about what is interest reacts I also talked about what is entering data protection and why the end-to-end data protection trust execution is so important to Isaac platform and to blockchain based computing so here's our solution our solution which is based on Intel SGX solution as technology which provides end-to-end data protection for Isaac platform and a blockchain based computing so our solution firstly provides a full data protection covering application portator application embedded data of an application output data so protecting these application data running on the decentralized networks secondly our solution allows to make sure the corrected applications are correctly execute executed and the execution are neither tempered nor interrupted by any malicious attackers so basically we assure user imperative you decide we can assure you that the two points the first point well this is actually the expected application the correct application that is actually running the second point these applications are correctly running is neither tempered nor interrupted by any other malicious attackers and our solution is based on Scone framework so we're currently working closely with contain to push for to push for this our extract solution based on us conferring work and our solution is also EA compatible which leverage EA trusted computing specification so which was just released several days ago so and this EA trusted computing specification we believe it's a milestone for the easier own community to support the trusted computing ok so here is a workflow of our Isaac and to Anna trusted exclusion with interest reacts so principle principle it contains three steps the first step focus on the user input data encryption so remember what I talked about the end-to-end data protection so if basically if you don't want to trick at the centralized applications so firstly user import data has to be protected has to be strictly encrypted and protected so the step 1 the user the user input data is strictly encrypted at the you decide with the user generated secret kings and the you the crate encrypted you the import data can then be transferred to the remote filesystem and the secret king can also updated to the secret management service which is also as G X based in first step 2 the user is able to trigger the off chain applications running on the decentralized node so these 3 you that can trigger this obtain computing via our Isaac marketplace which is also based on the blockchain introduction so as soon as the of chain application starts running at the decentralize denude SGX Babel is automatically created to protect the Ronnie application so firstly the application will retrieve the user encrypted data from the remote filesystem and then application we also pull the secret Kings from the s3x management service via high-security channel so which is called s3x provision channel and then the this squad King allows to decrypt the user import data inside this SGX Enclave and as the decrypted data is used to feed the application execution and when application finishes running the output is also encrypted inside these SGX Enclave and a execution attestation is also provided inside this s3x Enclave so the step 3 finally the user can just download the application out port which is encrypted inside these sjx Enclave and I want to underline that only the corresponding user is able to download that port and only the corresponding user is able to decrypt the application or port so I would like to show a demo let's see you ok ok so basically this is a ok so actually this demo is based on the 3d rendering plant applications so this demo can show you show the user how to use our h3x solution to protect protect you the Imperator an output data and provide a full data protections so firstly user only needs to run a simple command the Isaac T in it which allows to initialize s3x project and then the user just a copy heal you the import data to a specific specific folder which is te imports and the user runs a very simple command which is that he Issac te encrypt post so basically this command course represents the step one of our workflow so basically which allows to encrypt users input data and push it to the remote filesystem so basically the the this command returns output which contains some parameters like URL pointing to the remote filesystem storing the userís encrypted data and you there just do some several simple configurations with this URL because this you are we all are used to feed through the second step so basically the second step is that user want to trigger the off chain applications running on the decentralized node so a user can campaign based on Isaac marketplace the user can choose available as GX o Kapoor and when as soon as the user choose available who X work pool he can trigger the option applications via our a simple command so which is Isaac or a few user can also use the option watch to monitor in real time the running status of the application execution and user can also use the option download to download the application out port as some add the application finishes running so you they can also monitor monitor the status of the application execution via our UI interface via the Isaac Explorer or governor so so for the embro here the running status of the application so the blockchain the transaction takes some times so finally as soon as the applications finishes running so the user only needs to run a very simple command so which is the IV te decrypt so this command allows you decrypt the application out port and push the decrypt out port to a specific space folder which is names the PE out ports so here we can see that the DS application automatically created K decrypted outputs and pushed to the airports so the user go to te and route posts and thievery this is the output of the of the application without well so uh I would like to analyze that only the [Music] living a very little time so I think we'll hold off any questions and you can catch layer after the meeting and thanks lis so so we wanted to also like you know how try to hopefully make it a little bit more interactive and we'll have a short panel which commonly I hope is that you know we entertain you perhaps by our disagreements and so I have a set of questions I can ask them but if there's any questions that are really you know burning inside you know you and the audience can also ask them and I think you know we should probably start by introducing ourselves so I'm Tom Willis I'm at Intel I'm I'm a board member of the EEA and I'm also a director in the open source Technology Center Thank You Thomas Bertani I am the CEO of our cries we are the most widely used Oracle service on aetherium right now on the main net and we have approximately 1,000 contracts as much contrast using our Oracle API which uses T to secure the authenticity of data Andreas Freund from consensus my roller is the blockchain Swiss Army knife is C so for golem your neural curves and our aim is to create user controlled clouds actually morally right Microsoft yeah Sanjay okay so my first question for the panel is we just released this trusted compute specification from the EA why is wise how's this help and why is it important anybody want to start that answer that question okay so the thing is like the reason we like one of the things like you know the EA came into the being is to create standardized interfaces interoperability between clients implementing all kinds of various types of say scalability solutions and things like that as part of that we noticed that there are different ways the off chain compute based on you know teas and other kinds of zero knowledge and MPC can be also very relevant in this space so the idea was to create a standardized interface behind which all these implementations can sit seamlessly and for a smart contract developer whether they are talking they should be able to use a common interface - without having to worry about the implementation of this off Jim transferred computer yeah if I can add something I think that this effort is really important because right now whoever like us is already like in looking for something like this has basically to design its own solution which can be hardly compatible with the competitors of course so having someone like the ATM enterprise Alliance pushing for like a common standard interface helps to understand better than the needs of everyone in you know a neutral account and having a standard like this going forward will possibly also try to find a common between the enterprise needs and the you know public chain needs because right now they are very different but we expect in the future that they may converge so yeah we are totally like supporting this and looking forward to keep contributing to the next specifications as well okay next question we've heard a lot about decentralization here at this conference this trusted compute help decentralization or hurt the centralization or does it depend how we implement it so maybe I will focus on SGX especially SGX unfortunately even though it's exciting technology it really is but as this in a current shape with those two centralized creations one of those is remote attestation which let me stress it one more time requires centralized Intel operated Intel attestation service is without I is without contacting I is for every execution of an Clive of a new provision and Clive as GX is meaningless let me stress it's meaningless without AES and is in full control of Intel it's a centralized point which nullifies all the decentralize attempts that it tries to help another centralized point which is often which we often missing this is the interest control on the launching Kevin Clive which Intel has recently made some steps would flexible launch control which is a good step but it's still as far as I know the hardware is available very few details in the spec there are some corner cases that are not clear whether it will actually make practical sense or not so two things centralized is and centralized policing conlon lunch and and grave on launching their enclaves it's very problematic on centralization SGX you know it's like Andy trustzone MPC ck ck proofs decentralization is not gonna be achieved by a single of those technologies only in combination will we achieve that and only once we can reliably push out trusts compute loads to every one of you right that's the that's the the promise of decentralized trust at fall computing because in the end if you look where things are going especially around AI if we don't have trusted compute at the edge everything is still gonna be run by Google right so at that point who cares right so having the interfaces the specs is an important step in the right direction because now everybody can can can build towards that towards that that's spec and make their their services available and I really encourage everyone or someone out there who wants to start a marketplace for trusted compute services using laptops go for it I'll support you otherwise the rest focusing on one technology versus the other it that's that's a that's a sideshow is completely unimportant so I just want to add one thing is like when I started to engage with the helium community close to like you know year and a half and I quickly figured out the two points of that we have centralization are we I would say had as I was talking about this the is thing and as well as the flexible as well as unclear launch control so what what I can hear is that we at Intel look that and and we have worked out the solutions for those things because keeping Intel in the middle of those kinds of things you know generally we believe is we want to go away from that so what I would say is like stay tuned in a very short period of time we will be you will see like you know how Intel is basically making it you know getting getting out of the way so that you control the and claves on the hardware you control that a station and you control the launch hello I'm Simon from Santander we are part of John my colleague should be on the panel he's in London now so let me just give you the motivation an enterprise has huge IT operation of chain like my bank has a hundred to 40 million users and if we want to have also operation on chain whatever however small the critical thing is to bridge them so anything that helps us to bridge unchain an offstring operation is a godsend at this point I think that the reality nobody has said anything about is that T's will never be decentralized because the centralization implies that you have a deterministic process and it implies that you wouldn't need a T in the first place so the using a T using a trusted computing solution and is relating a process assuming it's safe is like cheating is like saying we don't have anything better we don't have mathematical proof or a consensus model which is convincing enough so we need to use the T because the T if if we assume it works correctly we'll do you know whatever we need to do in in a way which we considered trustworthy so what I think we should avoid doing is relying on a single technology because other than the true potential point of videos let's say or transference we have with as Jack which one as mentioned there is a third one which is in common with everyone not just with the interest checks with any tea solution any harder back solution which is that we don't have control of the manufacturing process and we will never be able to verify in-house that that chip is actually matching and open our door spec that we typically don't even have so in any case there is a trans line on the fact that the tea is doing what we assume it's doing and we never be able to verify that so what we are currently doing to try to overcome death is saying okay that's fine this this is something that is impossible to solve so let's just use more than one technology so that we know we are trusting Intel but we with in this way we spread out the trust and as long as we pick some artists eaters which don't have any interest or any conflict of interest if they are competing for example then the proof you get is stronger like if we get the Intel proving something in then we get Microsoft proving something else may be the same plane right and then we have ledger and then we have Google I think said that you understand we have like four players which are competing and have a huge reputation at stake which are claiming the same thing so does the tea help yes it does but it's not enough there is always a transfer in any way so it's not decentralized and we never will be okay great that was entertaining so next next question is um trusted compute are there any new we don't like to make a living right and is there are there any new business opportunities that have merged because trusted compute now can be used with aetherium Marley has the answer to that yeah yeah well we think about you know I think it will enable the ability to create them so you know Microsoft will try to build a platform to make it possible to create the killer application so you know the the thing is is when you start to lay these layers of em structure you start to like we're just finishing you need to in depth security in depth and you're gonna have layers of the stress or have single points of failure in places and the good news is we're progressing in that that direction but while that's going on people do need to make money and you need to be able to build solutions rapidly and get them to market and also do it cost effectively so you know as we go around and start telling customers about what we're trying to do with a platform we're not trying to compete with anyone we're trying to lay the groundwork because we think this is super exciting from an application standpoint we honestly don't know we've heard so many ideas and sometimes I can't share some of them that we have active customers in development building applications that are intended to make lots of money I'm just saying not necessarily cryptocurrency but that will come as well yeah if I can add on this Oracle is has been currently serving approximately 1 million paid requests asking for TE back data so there is like an opportunity to make money here especially because this T is these actual physical devices they are not something he is it fine at the moment list in the cloud other than interest checks if we assume we will want to use more than one some of those are not even designed to be using the cloud yet so yeah I think that at least for the next two or three years there is definitely this opportunity and then other opportunities will arise once this like market will scale up and we actually see where it will be going exactly so I think there's an interesting conundrum on the for the for trusted compute enablers if you look at the AI space right the biggest enabler of AI applications nowadays is Hortonworks cloud cloud era there what three billion in market value the AI application providers what like three trillion in market value so we're looking at like a thousand x right difference so enablers so that what what Marley kind of alluded to is like yeah you need the security down the sack right what's the security down the stack ain't gonna make you money in the traditional way right so the interesting question is can we come up with novel collaborative business models that allow revenue share that combines players across the stack so from the enabler infrastructure all the way to the application and distributor level that you can create novel solutions that solve currently intractable problems that are high value for the end consumer and that they're willing to pay for and therefore everybody gets a gets a cut so rather than having the ones down there be a thousand X lower than the ones up there you spread the wealth a little bit and incentivize therefore right collaboration because there's there's more to to go around okay my next question is what is trusted compute allow aetherium to do that it can't already do if we look on main it actually you know really I mean beyond the D hype if we look at the concrete use cases or smart contrast today you have a big chunk which is decentralized exchanges which typically don't need an Oracle in most cases so they don't need any extra date or any t supported data and then you see caming and gambling those ones typically do need something like that so I think the the biggest use case in production on the public chain today is providing randomness like generating some external randomness which we're - will not be able to collude with that there are others like price fields or like insurance products many others like we have seen a bunch but this is the this is still having a limited traction on test night there is much more variance on private chains I'm sure other people on the panel here will be able to share their experience there are so many different use cases but the reality is that it depends on the context and randomness is something huge on the theorem may net on the public chain while it's probably something really small or negligible on consortium chains I have a comment related but it's about that we keep some good view on how much we can really get from those various key technologies versus how much we should be reserved about them because we use cases how it solves all the problem we treat those as jigs and clubs or other enclaves this magical black box is protecting our powers but in reality we always should know that they can only offer limited protection and for example I quickly looked at the e05 spec this morning and at no point there was explicitly stated that we should always probably give some time limit on the longevity of secret that our enclaves process and because of various things because there are attacks like foreshadow but also because there are and there will always be side channels which means that we cannot be so so excited about using that for just protecting any kind of secrets but more like the only very short-lived secrets which will likely limit the amount of usable applications quite significantly oh no I haven't seen a Faraday cage in a Microsoft data center yet but you know what like you you you you you made a successful side channel attacking at Starbucks yeah oh no no all right now I think Amanda's so you mock my angry argument because saying that there's no hedges in in data centers but they doesn't is running I somehow perhaps willing to trust Microsoft slightly more than just a random person running some et room note it's a note okay running by whoever and which so we should be very cautious about trusting this whatever now to a SGX note because this is not just as it's not like that cage okay it's it can maybe protect us for maybe five minutes maybe five hours our secrets maybe five weeks I don't know that's probably we need some kind of metric to do that so that our applications can be designed in a way in a way taking this into account so that's why you need to try to hack a 80 at Starbucks to see what it takes such that you can actually give those metrics you need to run experiment I just want to say one thing is that like anything in anything in software it is till it's not broken it's not you know at some point in time it everything will be broken and even when we talk about this whole you know crypto economics based solutions they also have their parameters between which they work and beyond which they start to fail you know how much should I have ants take and how much should I get penalized and things like that so the the point I want to make is like there is no one solution that is a silver bullet for everything out depending upon the use case it is a mix of a solution you could think of a key based T combined with some kind of a crypto and economics so there are these kinds of permutation combinations that we have to think and always think about you know you know defense-in-depth and not how one point of failure anyways that's not a good design in general so T's have a role to play in there but knowing over wire you where you should apply them and when you should be basically have an alternative is part of the system design okay one last thing I was a good one on the time limit of the secrets so that's the the thing as we start to do these things no system is riskless risk tolerances you live with it right everybody decided to do this if you had zero risk tolerance you would get a bet anything yeah you wouldn't use a toothbrush especially the electric toothbrush electric razor when use a razor at all because yourself right but it's a continuous thing and you're pointing out a great attack vector that would probably didn't think about was how long should we let these secrets survive I mean we at Microsoft we rotate keys how many Microsoft everybody else left in the room for Microsoft you have to rotate your keys all the time and it is painful I mean it's like when we have to rotate rotate our keys on our systems we have to prepare for two weeks when we get down to a rocket science almost process we can't just hit a button but we add the t's it gets even more complex especially with we talk about watching keys so we really need and the EA and that's the the greatness of the benefit of the open standards is we put some sunlight on these things and we're gonna get great feedback from collaborators that really sort of been there done that and know you know you might not know there might not be an attack vector for it now but who knows there might be a long-lived patient patiently planned attack vector that will if you have too long wife of your secret it will be a ticking time bomb okay last question what should we add to the next release of the trusted execution the trecek compute spec okay that's the question about what I would like to see in the next SGX bag just to clarify so the centralized remote at the station just nothing fast you just do it like like like we had with this eg TPM the all times everybody could look how he verified the quad 40 TPM that's really easy you can know that second thing make claims about what trade-offs a flexible launch control will will imply for example will I still be able to use in toast quoting Conclave while having my custom Lantern alive nowhere in the spec this is explicitly written will it work or not I would like to know that because if by using my custom Lantern Clive what will not force me to have a legal contract with Intel to start my own Clive so if having my custom Lantern Clive who require me not to be will prevent me from using interest coding and craft and so meaningless unfortunately second or third is increased memory for enclave's in Colin where we want to run a lot of tile outs of lots of complex pallets we already run for example we can run blender in in enclaves and trans pretty well however if the scenes goes really large the problem of swapping memory to DRAM really hits the performance so ideally we could have that the operator of an out could have a slider how much of the DRAM should be devoted to EPC tank life memory and finally it would be nice if he also provided some secure perhaps to devices in general not just to Intel integrated graphics which I know you already have as the larger presentation told us unfortunately never found the public spec that would be allow others to use it but we would like just to any device especially to more advanced GPUs that implement CUDA so we could allow people to use or to rent GPU powerful computations that those four things liberate is the centralized remote attestation point specify what are the condition for for custom launch enclaves increase memory and security have two devices just for fixed I'm slightly confused were you was your question around the the API spec or oh okay so I was like what yeah no no I know it's like it's like it's here it's here it's your wish list for insulin I think Sanjay I heard you loud and loud and loud and clear and and it's it's it's his new KPIs for next year right action items and I'll talk to your boss about that one III think for the for the spec I think as far as an API spec goes is we need to add a few more specifics that are directly related to ZK proves and MPC sort of like more that are that are that are more specific around that as we have currently for for a te even though it's just for what for SGX we that's the next iteration that I think we should add I think what we need to do in the working group is a best practice document around how to how to create and deploy trusted compute whether that is is so so if I want to if I want to create a ZK snark compute service right what are the steps that I need to follow what are best practices if I want to do it for a te I would if I want to virtualize that what I need to do right so these are I think that is is beyond the API spec is really starting to talk about what are best practices what do we need to do how can we implement CK CK starks effectively what are the the best practices for the for the for the type of Ahri's to be used etc as I think that's that is the next big workload for us I think there are two main pieces that I would like to see in the spec one is better it was already mentioned by Sanjay I think a better compatibility and cost efficiency we when we apply that API on the public chain because right now it would be super expensive and in practice it doesn't really make it viable for the public chain and so I would like to like have also either some kind of variation which was better for the public chain like a minimal set of features or something or just a new iteration of the spec which is more cost efficient there and the second thing is like trying to understand better if the current spec is as intelligent a stick as it could be because I know that there are already it's really quite agnostic in some part it says it could be something different and IntelliJ X you have to specify it like this and so on however we have already mentioned like open and close SDK for example and also Google is working on a silo so there are those two projects and that are pretty much both trying to abstract out the enclaves specific logic I would like also to understand if the existing API in the spec would work well with either one or the other or both so so yeah I think that was one of the purposes of this whole thing is like you know it's at 0.5 for a reason so we wanted to get out the spake get start put something out there so that people can react to provide input and create something that we as a community feel that it meets our needs and and what I would say is that it would be great you know there are a few of us who were you know pushing the spec till now more of you can join and we can get all of these perspective in into the spec and that that's that's really the object to is it's not to be specific to technology but something that the community can use okay thanks very much the panel and thanks to the audience you
