Insights into TEE Research and Deployment Framework for Blockchain Scalability - Filip Rezabek

EthereumZuri.ch 2025 · 31 Jan 2025 · 20:05

Filip Rezabek shares insights from research into trusted execution environments (TEEs) and a deployment framework for using them to scale blockchains. Speaking at EthereumZuri.ch 2025, Rezabek looks at how TEEs, hardware enclaves that run code in isolation, can support blockchain scalability and what it takes to deploy them in practice.

Speakers

Topics

From EthereumZuri.ch 2025, hosted by EthereumZuri.ch.

Transcript

[Music] thank you again very much for the great introduction happy to be here there is also additional item that is not on the intro but I am also currently working together with with spacecoin so uh if for those who had a chance there was a really great talk of of mate an hour ago that where he was introducing what we are trying to build uh but in today's talk I'll be mainly focusing on the aspects of thrusted execution environments a little bit provide a general overview on what they are what the different typ typ of tees do we have and what makes them actually interesting from the research perspective and also try to find a way actually on how to evaluate and use them in the context of uh blockchain where we are especially interesting in the aspect of a

deployment framework that I have been working on together with several of my colleagues you can see on the on the paper and basically try to see how it can nicely fit into the context of blockchain itself so maybe firstly uh a little bit introduce what actually are the interesting use cases we see when it comes to trusted execution environment maybe quickly can you please raise your hands if you have heard about te in the past okay okay I think it's getting better every time and there is a new new W when it comes to introduced to to the space I think te themselves are a bit older but definitely we see more and more discussions about them especially in the recent months so this is great so for some of you already some of the use cases might be actually familiar so some of them them are very relevant for most

of the layer two solutions when it comes to the multiple R setting where sometimes it's also being called 2 FAA like two4 authentication where in general in addition to your snark proof you're actually also getting the te proof itself that can be later on stored on the L1 itself we also start to see aspects of it when it comes to consensus so you can actually promote your crash for tolerance system uh to bft tolerance system when it comes to using of of tees of course a lot of current interactions when it comes to AI engines and we also start to see it in the context of U me in the context for example of PPS and Builder net itself that was introduced rather recently so definitely we start to see more and more discussions when it comes to tees and this talk should Canal bit try to guide you through the

different type of settings when it comes to tees and what are partially some of the trade-offs they might have overall I think in the current state of tees as they are I don't think they are necessarily a silver bullet uh but definitely try to provide additional usable approach that can be used um in the current systems and should be also I think providing as a additional line of defense but should not be as in the current stat is again uh is the main uh feature is providing safety and and liveness but rather focusing maybe on some of the liveness granes itself but definitely I think moving forward we see a lot of interesting discussions uh so there is the initiative called thrust L tees or also something that we try to build when it comes to to space coin where we actually try to provide a very

good physical isolation uh of thees running on a distributed system on cube satellites themselves so providing a bit of context what actually RT is so you can think of it like an isolated region on CPU that is providing additional instructions to the users and the the main premise and idea of using tees is to provide a secure location where you can actually run your code and the data in use they a to offer confidentiality and integrity and also what is very relevant for the blockchain use Cas is they provide attestation capabilities meaning that you can provide a proof or attestation report uh that actually others can verify to get a confidence that you are running your in sensitive information inside of a

te uh the ATT itself is providing a form of uh aspect when it comes to providing the state of the system either it can be the operating system the binary and other relevant information uh that are of course later on being signed so we don't have the time to dive into the detail but have to discuss farther on actually how does the attestation uh route of Trust basically is issued when it comes to collaboration with various manufacturers and there is currently quite a lot of ongoing research from my perspective as well when it comes to the comparison between the cloud-based deployments and the attestation generation but also bare Metals where of course both of these different settings provide different type of thrust assumptions when it comes to the application in blockchain very important I think is very interesting and good

feature is that you can actually provide additional data into the attestation report itself meaning that actually people can later on when they are running a te you can for example uh insert into this custom information certain type about your private key basically it's actually running or your binary is running inside of the te itself and again we don't have to dive into the details but this type of flow differ from manufacturer to manufacturer and it's quite an interesting uh stuff when it comes to actual deployments providing a high level overview there are two mainly discussed Technologies I will be also talking about some other types of uh Technologies out there that one of them is the process based this is the one on the right and the VM based solution for those of you who have heard about tees

most likely you have heard about Intel sgx and all of the hex of Intel sgx uh so this is basically the the solution on the right where you are running your VM and only certain components of your binary are basically running inside of The Enclave uh whereas the VM Bas solution are providing more userfriendly capabilities because you can deploy all your virtual machine including the operating system inside of the trusted compute bounds of the te itself uh which of course makes it much more easier to deploy and run your application while getting additional confidential guaranties and and isolation uh but of course you have to also consider that the additional amount of information basically code that you run within the VM is also assumed to be trusted and it's kind of increasing the TCB

itself some prominent examples of each of the individual Technologies as I was mentioning Intel sgx is a very known solution as the process based solution but we also see successors uh of Intel sgx which is Intel TDX then from the AMD family we have the AMD SCV until the latest version of uh s SMP uh we also have some more exotic approaches on the risk 5 CP architecture namely the Keystone project and of course on arm most of us are using different type of flavors of the process based solution in our phones as a part of the arm Dr Zone itself but they're also start to be actually a shift more towards this VM based solution called confidential Computing architecture from arm that later on different manufacturers and providers can actually Implement in slightly their own way there are also

some other types of families that are not belonging to either the process based or VM based mainly is the hyper vaser based solution uh from the AWS Nitro enclave and also some part that is like Focus on the software plus physical isolation where this was already uh introduced by the coauthors of space de namely by the team from Stanford that is basically some of the aspects that we are currently working on and trying to enhance and for those that are interested in the AI uh and want to run their models locally you can also have a look on the solutions from Nvidia where we start to see tees on gpus itself when it comes to for example h100s and h20s I think f is doing a great work when it comes to these deployments that are already available to people but this basically relies on combination of both

te on the CPU but also on the GPU itself to deploy your particular Solutions themselves there are also some levels so this was actually quite a nice differentiation I have seen uh so credits to Paradigm there was a really great even at Defcon uh last year in November and they kind of try to also split the different type of settings into different levels where I think the overall Target would be to provide a cryptographic computer which of course is something that everyone is aiming for for when it comes to programmable cryptography where you can have heterogeneous open te for example like the trusts te initiative that is happening there together with the combination of some additional cryptographic Solutions like or NPC that basically is providing and running in this type of setting which of course

the idea is to have as least as thrust as possible and try to really mitigate the overall uh attacks also on the supply chain itself so we definitely see that there is still quite some work to be done in the upcoming years when it comes to reaching the the highest level of confidence and trustless uh itself but definitely see a lot of interesting initiative that are being CL by players in the in the space so it's going to be I think very exciting uh to see how this is going to evolve diving back into the more like uh the state of the art when it comes to that uh I was mentioning about intet GX and and TDX and amdv that are the VM based examples and the main I think differentiating Factor we see is that um it's basically the code changes so with

int GX even though there were Frameworks like remind sgx or others you still had to actually modify your code and you as a developer had to really think on how to prevent certain types of attacks uh when it comes to deployment and interaction uh with with this type of enclave and you have to make sure that you are actually able to provide and design the system well to identify what are the sensitive information that should be running in there nevertheless the technology is is known uh it's being still used VC actually most when it comes to for example most of the multi settings and solutions out there that are being used by most of the l2s are actually relying on Intel sgx and even Intel TDX internal is actually also relying on Intel sgx itself uh and then the aspect of amdv it's basically fully

VM based solution that is also being EV developed over the years so now I have introduced that there are actually quite a lot of uh variations when it comes to different tees and how they can actually how they differ slightly when it comes to the manufacturing and so on and now what we are interested in actually how can we use the tees in the context of blockchain and find a way actually on how to assess these capabilities in a structured way and see how they can be used in combinations with various types of the individual stack of the of the blockchain stack itself and of course when it comes to the such type of evolution we are interested in doing it in a reproducible manner meaning that if we actually propose a solution we have a way on how to evaluate it and others can

also verify that our approach is valid we want to have the option and granual control on how to actually compare the different architecture and I didn't understand their implications and lastly uh we want to also have a common ground that currently we are a little bit missing when it comes to the solutions that are out there and how they can be actually developed so for that we are looking for the ways actually how to deploy these complex systems in a local control environment doesn't have to be only local can be also of course maybe in cloud and provide the emulation of just such type of realistic deployments so for that uh I can provide just like a high level overview stack of of our solution so of course for those who are familiar with the with the blockchain space we always do most of the activities on the in individual

layer of the of the St itself when it comes to data layer Network layer uh consensus layer execution layer or the applications of course there is quite a lot of ongoing activity as well as a part of my research focusing on the crypto layer when it comes to teral cryptography and of course we are looking for the synergies when it comes to tees with actually what is the hardware providing itself and how it can be integrated into the applications running above it so in order to be able to deploy and evaluate this different type of architectures uh we are interested in these local deployments uh so either we try to deploy the type of uh systems in a local fashion which is mainly building on our previous work that we have done uh but we also actually support different Cloud deployments the reason

why we support also different cloud deployments is to enhance the capabilities of uh different type of scenarios and also as we see more and more uh applications in the wild actually also rely on the cloud itself uh especially in the distributed computing Community we see that most of the experiments are happening on public infrastructure such as AWS Google cloud or Microsoft Azure and for that of course we need to make sure that when we want to assess the systems uh we should be also having the capabilities of deployments inside of this type of setting and when it comes to designing the experiments uh we are interested in doing it in such a way that is of course reflecting the capabilities of the system so we have to do a lot of theoretical assessments of how such systems can work so this is I would say

the most timec consuming part because you have to know on what you are interested in to identify the right problems and ask the right questions and later on you are trying to deploy these type of solutions uh in practice since the the systems keep changing and evolving all the time you of course can consider blackbox testing meaning you just take it like uh a blackbox solution that you don't necessarily touch but of course you are also having the combination of bybox texting meaning that you're actually inspecting the code itself and see how it can be fully integrated into the respective flow itself when it comes to actually analyzing such systems you are interested in having uh various capabilities when it comes to collection different types of metrics and parameters uh to collect and valuable insights about the whole system

itself an example will be okay we want to understand uh in full form how L2 interacts with L1 for that we have to deploy the particular L2 solution meaning for example example scroll or polygon or address on our own self-hosted layer one solution to understand what are the individual bottleneck and how actually this integration can look like and see how the integration with other components can actually be achieved as well and in order to do so uh we of course have to spend quite some effort importing these type of solutions but eventually it provides us the option to really understand and do a close evaluation of the individual parts of the system itself or possible also extend them to get additional type of insights and improve on the stuff that we identify

relevant in order to deploy it we are usually relying on a management host that is basically providing the orchestration layer that is later on being configured in such a way that we can provide various inputs uh into the experiments we are setting up the network itself uh is later on basically set up the way we want as a system under the test and lastly we also provide an output that basically are the individual insights when it comes to running such type of complex system in our local environment here just like a little bit kind of uh some part of why do we focus on the tees in the initial phase I think the the discussion here that is uh something why people are considering it as of now is because it provides reasonable amount of security while also

suffering from uh uh less of um it suffering from less penalty cost when it comes to usage of such system for that we have just like two type of experiments briefly because we don't have time to dive into too many other details these are CPU evaluations where we are actually evaluating a baseline without te with uh uh it is basically Running P purely on bare metal then we have a doer container solution then we have Kata containers is like a lightweight confidential containers itself and uh then just like qmu uh vmte and when it comes to the evaluation of the impact on the CPU we basically see that the curves are rather comparable meaning tees are also becoming more and more relevant because the overhead they are providing

is negligible in comparison to the security features they offer and of course we can dive into more details when it comes to that but we can see it the same uh rather holds for also aspects of IO uh but also when iio when it comes to networking or also the the parts of storing data on on dis itself the reason why the performance is comparable is because there is a lot of internal uh Hardware of floating basically and support by the manufacturers which of course uh is something very attractive and it's building basically on top of various type of uh software Accel uh sorry Hardware acceleration that was already developed over the years by the respective manufacturers themselves something that I just want to

also mention that basically this type of methodology is currently being used uh in in practice as well and we will be using it for building uh the and evaluating the layer one stack so when it comes to the the granular control of the system we can definitely extend it by various Network consideration when we are interested in the mixture of emulation and simulation uh and for that basically we are willing or we we are having the granular control of introducing different types of latencies and many others we want to also understand when it comes to for example porting evbm to different type of environment for example from x86 machines to your Raspberry Pi what will be a fair cost to calculate on the op code when it comes to the specific overhead and provide a robust pipeline that actually others can later on investigate and look into when

it comes to uh arguing what are the type of guarantees the system can provide both on the security which will be of course mainly theoretical front but also on the performance level itself that others can later on verify so so uh the key takeaways and part of the the future work we definitely Envision that uh tees themselves are providing very interesting capabilities and can be used in a heterogeneous setups as they are uh we definitely see that for that we should find a common ground on how to be able to evaluate them for that we have introduced the framework uh that we can also you can later on also find available online and also we have a open source implementation of it that can be used uh that is aimed to provide evaluations of different elevant

solutions and we believe this is like a good stepping stone for kind of setting up the way on how others can compare and understand the system when it comes to the guarantees and performance it can provide itself so with that I would like to thank you and uh feel free to reach out you can also find the links here to to to me or also to the to our blue paper that we have published uh recently thank you very [Applause] much thank you very much I think we have couple of minutes just for the last one question for a quick question so please feel free why was there a spike on slide 19 on the left you mean yeah so we assume that this is due to the caching

basically because we see that the the cach basically is no longer able to handle the particular uh data set at given point in time so this was something that the data set it's um so this is the particle Triad Benchmark when it comes to that is uh basically you can provide it different large larger or smaller data sets that basically are just crunching through the computation itself and you're just specifying on how large the amount of data should be thank you very much I think we have one more question we have like one two minutes so a quick one please did you want yeah thank you um so my

understanding is that te is tightly Rel reled to a processor itself correct um so how do you imagine if a had a key and wants to transfer it to B so a secret key wants to transfer it to B and you want to make sure that a deleted the key after transferring it how would you imagine doing this using a te mhm so basically the question is if we want to let's say migrate our machine to different type of location I think you would have to implement this type of logic uh as a part of your application to make sure that this is deleting it uh so let's say the te can provide the guarantees that you are running a particular logic and you know this is

running inside of the te and the te can later on if it's supposed to do the job correctly and it's not compromised can execute the logic in such a fion so maybe after you forward your key to the other part and your logic is let's say open source uh people should assume that yeah you running the pcal binary inside of your te that is responsible for this type of task I think this be one kind of naive solution I can think about on top of my head but I can imagine there can be some additional uh Works towards that yeah yeah thank you very much everyone Thanks a Lot in case you have any questions uh reach out to the speaker afterwards yeah thank you very much thank you

[Music] [Music]