The Promise of Trusted Compute for Ethereum Scalability, Decentralization and Privacy (Devcon4)
Devcon·Wed, Oct 9, 2019, 12:00 AM
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/the-promise-of-trusted-compute-for-ethereum-scalability-decentralization-and-privacy The Ethereum community has well known reservations about Trusted Compute and support those concerns. As Ethereum is becoming the dominant chain, scalability, decentralization and privacy will be the most important challenges. With the emergence of technologies such as PoS, Plasma and increasing use of staking and voting as design tenets, we believe Trusted Compute designed and deployed with decentralization as the objective can play a significant supporting role in not only preserving but also extending and democratizing the promise of decentralization. The presentation and related demonstrations are designed to engage with and trigger conversations within the Ethereum community on the relevance of Trusted Compute. Speaker(s): Sanjay Bakshi, Andreas Freund Skill level: Intermediate Track: Scalability Keywords: 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 for Intel and this Andreas works for consensus so today we're gonna we are going to share some of the work that we have been doing in the space of like you know how we can apply trusted compute for the good of aetherium as an option so the talk today is like you know two parts one is generally talking about how we are viewing this trusted compute play in the space and then the RDS will drive complete it with a concrete example of something that we are doing and then tomorrow there's a breakout session that will go into a whole bunch of more applications in this space so with that I'll get started so together there are like lots of definitions of when it comes to trusted compute so so I thought that would start off with you know having a level set of what it means right typically when I talk about trusted compute I say that hey it's a place on your PC or on your server where software can execute without interference and without enter any external interference so to drive the point home so think of the Box in the big box in the middle is your PC or your server it has two parts to it trusted and untrusted the part and the blue is the trusted part or the trusted compute and inside there you can run your code and or you can have your secrets like keys and any sensitive data all of that can be processed in this blue part and it will be secure even though in the white past around it you may have a malware or something else is owning that system so it gives you that isolation on a on and off the shelf platforms and the other side of it is like you know the final point there is that whatever it does it gives you an attestation to what happened so that like anybody can verify the that the result really did happen inside the trusted compute and and these instructions did actually get executed so I worked for Intel and Intel's one of the popular trusted computes out there as Intel SGX and more than happy to talk about it in general but today we will talk in generally in terms of Tharsis computer and then there are these other variants of trusted compute based on Zeki approves and MPC those are also there that can be used to apply to the concepts that we are going to be talking here so so this so the first thing we were saying is like you know hey how do we how can does it compute play in this space and there are lots of questions and you guys probably seen this this picture and what we are asking is like you know hey how can you know if we address it computer this world right now the problem is like you can get two of the three not all three so can we basically do something with trusted compute so that we can you know make it possible to achieve all three so that we have scalability we have decentralization and we have the security so let's talk about each of these things briefly and and then see how that goes so first of all like the security's plainly is like transactions per second or seconds per transaction we believe that you know given the you know the way these trusted computers work in terms of you have the integrity of the execution and things like that you can combine it with constructs like you know plasma chains and side chains and you can achieve a lot of scalability in that space and there has been work in the space have done and some of that will be talked about in the breakout tomorrow the other side of the thing is that the security is there are two ways to look at the security one is security of your consensus and things like that and one is the security of around it you know transaction ordering and things like that so again going to the property that you have you can trust like hey if I asked trusted computer to do 1+1 it did do one plus one so so based on that we are doing some work and that's work that andreas will talk about in a little bit and finally the decentralization right there's lot of this conversation is like if you rely on trusted compute you let go of decentralization and this is something that we would like to have a conversation around because if you take trusted compute the way I view a decentralization the way I have you know read it in various articles like on showering and things like that it's about you know two properties like censorship resistance and permitting and we look at tacit compute it doesn't have either of these properties anybody can you can it my PC has distrusted computing all of your pcs have have it and you are free to run it so there is no that you need to have a special hardware from somewhere to do these kinds of things and then UK and initially yes there were some controls in terms of like you know who all gets to run software in this space and things like that and what at least for Intel we have worked to you know actually remove all of those controls in terms of like we know we are no longer going to be in the middle of like who gets to execute and who gets to a test and things like that so we have you know worked to be in last one year since last DEFCON three to you know ease out all of that stuff but but there is this thing like like anything in this space as we go further as we go and you use it in your spaces there's always that you know hey things can get hacked which is which we view is no different than a particular hashing algorithm getting hacked as long as we there's a commitment to basically fix it and then there is this notion that Hoover is the provider of this trusted compute has done the due diligence or and is willing to do continue due diligence to make sure that it is you know delivering on its promises so in general we believe that you know it should compute if it used in a particular you know ways can be a very helpful tool in addressing and easing this try Lima problem that that we haven't blocked chains can just help it to you know get deployed very easily in some cases so so what I will do is like quickly you know before I jump into like you know some of the ideas we have and then a concrete idea just to level set a common design pattern around us so you have a transit compute it can be in a PC or in a server you have some function that you can basically you know deploy to it and that that typically we call an unclear and that function can be anything it could be matching the fingerprint data against template or finding a particular pattern in something it can be anything the idea is that you can you know you can be sure that particular sets of instructions were executed and that your data that whatever you gave it was handled confidentiality and then there can be any requester who can provide two things one is the data on which they would like to operate that algorithm operate upon and plus you can also provide your own identity that the Enclave or the function will check before even executing your your request and then and result of this all of this processes like you have data you have algorithm all executing inside this container and secure container and you come output is this attested result that anybody can basically validate it can be the requester or it can be somebody else who you are targeting with that and finally if you are running this trusted compute in the context of a PC you do have this human secure what we call protected transaction display and that's basically is that before the transaction is completed you can prompt a user for some kind of a pin or something like that so that you have user has all the control at the end of the day what happened so you can build that in the tomorrow a June breakout Ledger who have built a wallet on top of STX we'll talk about some of this so in general what what we believe is like if you step up from all of this this thing enables this notion that I can prove that something I did or I did not and I can be kind of sure that the data that I gave it to you didn't leak that's what this trusted compute is giving at the end of the day so now let's jump into one one last light from me is how could it now connect with aetherium specifically cerium to dato this picture probably you know most of the people have seen it it's of the medium articles and the main thing really here is that this whole you know today morning like in the morning Vitalik talked about this beacon chain and things like that so there's four tiers of you know abstraction or the layering of this whole etherium to dot o in this there two two things here one is this beacon chain which I in my view is like it's the control plane that's making sure that things are happening the right way and then at the bottom is your execution plane so in the control plane this is where you have the validators and verification and you know all the crypto economics going on in terms of like you know making sure that you know everybody is doing the right thing and if somebody is not doing the right thing penalizing them and all of that you know keeping the equilibrium and keeping the system working so right now the focus really is on hey you know you know you did something wrong okay I will penalize you but what we are saying is with if you run say validator or even a verifier inside a tacit compute and you have all of those a log of your activity you can really prove that you know hey hey I did do this that means I did vote on it something else in the ecosystem down the line is basically censoring my output or or I did not do that because the this key that's used to sign the result is safely inside the thing and cannot be leaked so this is whatever we see is like we can simplify some of these things and this is where you will talk a little bit about it and then lastly at the at the execution layer you know signature validations as an example you know yeah it's a common thing and they take a lot of time you can offload that complex tasks that require lot of arrow gasps you can offload that were you know plasma chain built around this or a sidechain so in general like like what the thing is like what we see is like you know it at the beacon layer it reduces the friction or reduces the fear that I might get slashed and I don't have anything to fall back to so it in a way helps more people to participate and increase hopefully the democratization of this whole decentralization and also helps with the scalability and security at this point I will turn over to better so we talked about secure private and self control and it can be ubiquitous so what are the type of services that could be build with this on top of etherium so you have for example a decentralized device registry which is valuable when you're talking about IOT self-driving vehicles you have secure multi-party transaction signing which is applicable not only for aetherium transaction but for any transaction you don't no longer need your private key on your device because you can have the signing done in a trusted way by multiple parties you have secured decentralized cloud so we're talking with we're talking with OEMs to be able to provide to collect a cloud a fog of devices that run trusted compute services and I'll talk at the end for a few minutes about that you also can do NPC analytics you can also now do secure wallets and real-time Oracle's with this and you can do secure public or private data stores at consensus there there a project called Linea at the decentralized identity foundation we're working together with others on identity hubs where we will actually employ these these technologies then you have which you probably have heard before off chain compute offload a lot of smart contract heavy logic onto trusted compute entities as well as secure data station validation so for example if your bank gives you your kyc and it says you have a you have a user security number you have a valid US u.s. address you don't want to reveal that right but you can prove that your over over 21 that your that you have a valid social security number and you can pass this attestation into trusted compute that applies the logic to it and generates another anonymized at the station that still proves the same thing so after talking about the applications on top let's come back one step and let's talk about what we can do on any theory of no time apparently I shouldn't shouldn't touch this so what Sanjay showed you about in theory M 2.0 let's take that a level deeper and that's do it to a little journey of a theorem transaction so it first comes into the transaction pool well nowadays any node can do anything with your transaction it can it can do front running it can do will put it into any order that it wants or it might just simply a censor it so if you ask at trusted ordering an encryption service to that all of us goes away so you're taking a significant attack vector out if you're following along you go to the EVM that goes into the level DB you can now do a trusted EVM execution service before it goes to proof of work that's for the main net if you're now going plasma plasma chain sidechain beacon chain you talking about Casper FFG and here again you can employ a trusted compute service that actually says hey I voted this way right and you know no human being can can can influence that which means the your assurances that the vote was done honestly go up exponentially so this is for for now let's let's go one level deeper okay so I give you three concrete and example already at layer 1 now let's dive one level deeper this looks really really ugly and it is what I want to focus on on the right hand side the actual trusted compute logic for a transaction ordering service is very very simple and on the left hand side and again don't focus on the on all the text the key thing or the two blue boxes about trusted transaction pool app and the trusted or during registration update service or two updates that are that can that can be done to the to the transaction pool module in a complimentary fashion which means the actual change to to to the to the protocol is actually minimal so you can with minimal protocol changes that have do not require an art for Kerry I think like like that you can increase the security of of the etherium network significantly okay so after going down to the protocol layer let's go one back up and talk about services how can you discover these services right there are you know you can you can run Intel SGX or or MD or trustzone or you know is their knowledge proof service on your on your laptop and that's great but no one can find it so you know that's you the provider you have your trusted compute what do you need you need a utility service market platform so really for trusted compute is best if it has a marketplace with a broker service running on him on a blockchain such that a buyer who uses and needs this trusted compute service can now find it and pay for it on a per transaction or on a subscription basis and now anybody in the world who runs such a trusted compute service can register it can expose it and can offer it to to anyone on this planet and they can actually resell it if they want to however because of the way this this this works you can now exact another rent it's fine if you guys can hear me all right then and that's then then that's good so this way the provider can can also participate on the subsequent monetization of that secure service so through the through the through the marketplace so again we're we're we're discussing with with with various om providers to actually to actually build such a such a marketplace so that's that's very exciting work that's that's going on that we're we we want to push we want to push forward and so when you look at the services the applications and the and the layer and the layer one you see how the trusted computing really add to as Sanjay said to the democratization and decentralization of block chains not only if they're iam but any blockchain that's out there so that's that's why we're really excited about this aspect and therefore it's a really want to finish here with a call to action to the community right we invite you to review improve and to help implement this vision not only for aetherium but for all blockchains such that they can be successful and deliver on their promise and as a first step please join us tomorrow at the other trusted compute and other to compute enthusiasts actually in the ultraviolet Room at 10 a.m.
what we talk about the future of aetherium with trusted compute thank you thank you very much guys we got eight minutes for questions so this get started on that previous slide you had a the buyer reselling data from the provider and the provider collecting rent from the buyer third-party customers how in the world can you do that your your you're actually not reselling the data you were reselling the service which means you are you're you still control who who gets the the service there is still hold there permissioning so if he wants to resell it the other party needs to be added to that that to that to that service contract so that's how you how you an in ensure that you can that you get paid for that for that service if it's resold so what do you say to ease the fears of people that generally notice that trusted compute relies on trusted hardware that's oftentimes closed source and not allow for security reviews resulting in things like the level 1 terminal fault and then a recent breach that exposed system management mode on Intel chipset invalidated SGX completely just how do you how do you reconcile that so the the general thing is like you know being as much as open as we can in terms of like the the breaches happen not because they are intentional which has happened because you know we have starting to use this technology at scale and many people are looking at it and as at Intel right we are committed to you know working continuously and quickly to you know provide patches provide whatever is needed and as you know the the breaches that happened there's a lot of information on the interweb site in terms of where you can get the patches and how we can basically you know put it on the systems and how we can you know figure out whether the system has embarrassed so there's a lot of information here you know if you're if you if you think about side-channel attacks actually I talked with with Marla gray from from from Microsoft yesterday and we'll probably do do a little experiment with with Microsoft research to see whether you can actually do a side channel attack on a laptop in a in a Starbucks if that's if that's if you can do that then you really have a problem alright because typically you will not be able to to get the apparatus you need into a secure data center that's really hard so it's more like on your on your custom custom laptop and we'll we'll we'll do that more hopefully you know in some time could you be able to produce a little low video about that and see how well that works or or doesn't doesn't work so looking looking forward looking forward to that so and in the end the more you get these trusted compute services out into the marketplace and into the hands of people the more secure is going to be and the more decentralized so if people are offering those those services and other people people use it the risk of you know a few controlling the many is really is really low had a question if you could try to correlate for the you know naive observer who you know sees a vision here for something that allows additional scaling better efficiency of compute and so forth but then it's not really on the roadmap when you know the etherium foundation and the group is talking about what's in aetherium 2.0 you know zero knowledge proof SAR as both scaling and privacy but so just you know can you say some words about that yeah I could start that right so you are right and a lot of it is like generally a lot of you know not information about how to suit computers work and all that stuff so we have done a lot of work in the context of enterprise etherium a wire in for example we have we have released a point five version of an API we are which anybody on the chain a smart contract on the chain can talk to a trusted computer and bring the results back and things like that it's point five ocean and the idea is to get that kind of a conversation going and that's where we are here in terms of like you know hey there are these things and that was completely API that we have put out there it's not specific to a particular thing you know we want to comprehend hardware based and software based trust it computes because it's not a one it's not a silver bullet kind of a thing so we see a so so that's what we are doing and that would be a great place to start because they got a lot of their stuff work in there is like right now more Enterprise II in terms of the flows but immediately you know we will work on a star we start work on how to make that apply API apply for enterprise I get here iam where you have the gas constraints and things like that oh yeah so sort of a yeah yeah so sort of a follow up to the question that was just asked you know about how it's you know we don't really see this on the roadmap you know with aetherium 2.0 I think like one thing that would help is if you know these designs were like open that would help you know people actually like trust what's going on and another thing is is I mean have you all approached them even you know even the whole idea of you know feeding you know randomness from you know Randa on the beacon chain into a PDF you know there's all this research and work and we want to create a you know a verifiable delay function ASIC could this help yeah why don't we talk about that so you're right on the mark right because like you know we have some really hard earned you know random generators within within the hardware that feed of the entropy within the system and when I look at Rando and think all that in context of beacon chain it becomes very very interesting so that's where we talked about it like you know there's a role to be played and that's why we are here is like you know let's have that conversation going what's the right way to you know you're approaching just and Drake to ask we have not yet but the idea is first was to get the API out have something to shoot against and yeah but but that's idea yeah that means that just be a really good way to like get an answer really quick about what they you know what reservations they have so that could be move forward you know thank you yeah and it's it's this is the beginning of a dialogue right so and and one thing that want to point out was just really important what we're saying here is we're not replacing any of the current security features right we're not saying replace you know of proof of work with proof of elapsed time using until SGX or any other trusted trusted Enclave but we're saying we're adding additional security features to the ecosystem stack that makes the whole thing more secure allows better decentralization and lowers the barrier to to entry because it is literally the big witness right already right you can you if if you're running an i7 + i9 you can turn on turn on Intel SGX and and and deploy a trusted trusted service in in a few minutes so it's about educating the ecosystem about this novel idea and it really has only come out in the last you know six months really six to nine months really that we've been working on on this to formulate the ideas to tomorrow with people like Virgil to get feedback so and it's a it's a slow process right because Intel came out first and it was Intel he'll help the keys and that's what's stuck in people people's heads and you know you're saying now until there's no all the keys anymore or AMD or arm it really doesn't doesn't matter you
Automatic transcript — names and jargon may be misspelled.