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

Loading player…

Off-Chain Trusted Compute Overlay testnet for Blockchain Privacy, Scalability and Adaptability

DevconFri, Oct 9, 2020, 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/5/off-chain-trusted-compute-overlay-testnet-for-blockchain-privacy-scalability-and-adaptability During Devcon 4 we introduced potential for Trusted Compute as an option for addressing scalability and privacy challenges faced by blockchains. Since then Enterprise Ethereum Alliance (EEA) has released version 1.0 of Off-chain Trusted Compute specification. As part of the workshop we will introduce an Enterprise Ethereum network connected to EEA compliant Trusted Computing pool; both hosted on Azure cloud. In addition we will demonstrate one sample real-world usage scenario and give examples of more. During the workshop developers will be provided scripts to recreate the setup on their local laptops and guidance on how to create private test setups on Azure cloud. Developers will walk away with background on leveraging Trusted Compute in context of their decentralized applications for addressing privacy, scalability and/or adaptability. Speaker(s): Sanjay Bakshi, Jean-charles Cabelguen, Andreas Freund, Marley Gray, Anand Pashupathy, Yevgeniy Yarmosh, Lei Zhang, Jim Zhang Skill level: Advanced Track: Privacy Keywords: technical 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 5 was held in Osaka, Japan on Oct 8 - 11, 2019. 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

[Applause] [Music] [Music] so again again is like Sunday from inter so as you can see it's quite a cross company effort so so today you know we're going to talk about object Pacific compute this work started off and enterprise expediency so what I will do quickly is likely to give you some little bit of history and then drop into you know the immediate details of it so we were and we were gonna show actually walking to some hands-on demonstrations but internet access here is very interesting so we're gonna spot you fluenta if you have my readers can go and you know try it out at your convenience so so there are going to be two of these boxes that canteen filled introduced and then hopefully we'll have time to have some study how they are using trusted computer so quick on enterprise aetherium it's the focus is how to apply it here iam in the enterprise world and the main challenges when it comes to enterprise we call them 3ds publishing privacy and performance so we looked at you know prior performance and privacy are important months and compute as an option for solving those kinds of things so we have made more progress on that one we introduced it last year point by spectator Pentagon fault and now we have a 1 dot respect out there and level for people to play this and we'll walk you through some of that yeah and as I said some of the businesses and the things the crying of the spec has been we talk about mystical flute a lot of in it but what we have in there is a supporting of other forms of computation like Ezekiel's multi-party computation and things like that a lot of that is in there so with that you know I'll hand off to [Music] to me the best part yeah hello everyone I would like to say first thank you to all the collaborators it was truly an amazing journey it is the first time that the EA has produced shippable code and it is the largest enterprise collaboration in the blockchain space period and there are five companies that have worked together to produce this a just reward token this is the goal of this of this token students and device participation of GME member organizations and their employees why is that important because is very hard to get people to contribute it's always the same usual suspects and the goal is to apply some of the learnings from you know the open ecosystem space around the set of models to see whether they can be leveraged in the enterprise so there is experimentation with total principles and design templates we're eating our own dog food here we want to create synergies with other groups so the Testament group the toking taxonomy initiative that Marley is heading and the new technical token working group as well as aetherium specs so the ERC's mike will talk about that and then web standards w3c we're actually using the three 3c standards for the IES and fair table credentials Mike walls will talk about that and this is really the use case for the trusted computing work spec and the EA compute test methods so that that's that's really really important and we're creating a first simple use case that is actually usable and that is also a first so enterprises can actually start using tokens from in their in their day to day operation because this model is easily transferrable into one enterprise or between multiple enterprises and other consortium and without when I handed over its from Arlington talk a little bit more about the details of the total model alright so what we wanted to do is to figure out the business process of solving the difficult problem how do you get consortiums comprised of mobile corporations some of which might compete with each other to actually lean in and do the work to contribute to the benefit of all which is pretty difficult actually Paula so with one of the create an incentive like development behavioral modification protocols to incent good behavior and punish bad behavior but you also have to because we're trying to scope out work that needs to occur do you need to do this in a way that you say it's the potential to earn these rewards so we'll talk about though the tokens and then we'll talk about how we ought to quickly first thought we we we do these we simply create a grant in this if the potential for an organization that's given to the organization to receive X number of war tokens if they achieve the goal laid out in the grant and and that's the potential and they can have individual contributors so the actual people that are doing the work we want taxi I get the credit for doing that work be able to use it so we can enlist who those people are and they could you know get a percentage of that total award if it's cheap there's also a punishment well the punishment may equal the sum or negative value of their total award and and you can set that in the grant as well and then there's also something called reputation token so we'll talk about that as well those are granted this or one for one with the home or to me essentially what the World War took it does it's a it's a token that organizations can when you are granted them let's say you're the the reward grant vests and you're awarded the organization for one of those tokens they can take those tokens and repeat them for value we'll talk about what we're actually providing here in a minute I go to the next slide it's fine so you can go out and shop at the e scratch store and get some really interesting materials some t-shirts dinner with Ron that doesn't mean Ron is going to pay to dinner everyone come with you and then but and then sunglasses but this is this was more for just the show what you could do really one of they threw one of the put it in the grant as follows to have because it's consortiums we made up organizations we might have systems like Microsoft contribute to have a bounty in there and say hey offices or some X boxes so that contributors actually meet the goal they'll actually get some of they want at the end of that call so really we want to leave the model open to say that you've ever worn so interesting things about this is you get a reward to open the reputation flows to the individual so the individuals will get a percentage there's 100 tokens three or two participants you can divide up those reputation points that it was equal effort by both participants and they will get 15 reputation points the cute little all up to the individual penalty tokens essentially our negative value they all have to be redeemed before you can redeem your reward - means they'll decrease your overall balance for dictating whether or not you have to settle for the autograph sunglasses that I provided or you know even slowing down with the teacher so this is how these dentists will and create this business model for doing that so move on yeah so I think what we'd like the real meat and does not like you know how this pasta token was implemented and by the does it come to the X we effects and everything else [Music] after everyone sees early last year so Isaac has been significantly working with Intel consensus and the idea member is to acknowledge computing framework and move for the related specifications and trustee use case just like ETA token so firstly before talk about technical details I would like to tell ten minutes to talk about a phenomenal question for me why we need accurate of the county exclusion to the object trust excusing the environment so now there is a lot on chair applications that are smoothly running on can afford to support another a great in our interesting use case but for some of these use cases we are just starting realizing that there cannot be limits take that book what about if the execution is becoming these giving up a great frequented so if every since are deployed on content walks into the constant and for some values cases some execution execution logic could be very very complex and sophisticated it is just it is constant costly and it's money on the eastern virtual machine parents not so efficient if the application becomes so softly so we have Nadia why don't we just leave it migrate this execution Brown I'm chained to the option trusted execution of the environment so the application wrong in our training opportunity works so whenever you want upgraded applications it just represent nearly zero cost and of champ our execution holy soft attacked occasions with incremental efficiency what's more in the option it works the only excuse me logic and coded in almost any of the mainstream languages like Java Python JavaScript or girl evencio spells so and what's more the exclusion oi in off channel box it has offers better performance because just executed worms based on totally confined code it allows to very seamlessly talking with external data source based on the course political post and 120 teachers brought by the key is that offers and and privacy preserving at record aesthetically strictly in gravity the decryption can only happens inside this DVD Enclave so the promise is guaranteed by the hardware level story so his dye work that you can see that originally we can deploy our contract on previous marking tracked your own channel work based on a particle here which is used to sign the browser introduction and now we could migrate this mark contract execution are due to an often trusted execution event and unrivaled and we all need to transfer this tribe came to this pompous te enclave we are a high skill channel and after applying the expression logic a block contraction can be transferred directly from the TV Conclave internet though this red block introduction triggered in the name of people being the owner because only the the private key is transferred to ete unplayed and no one else is neighbor to his patent emperor's particle so in this way we can offload the execution from function to of chemicals without sacrifice the user experience without sacrifice Trustin ease and security so as I just imagining that great idea to migrate the execution from the content of gem if for example if execution is to be a great a very frequently so that is Ken's party's total excretion logic so yes diagram the architecture diagram token which is composed by four principal parts so here the UI parts which allows user to find the iaea token request and the ETA token request could be then captured by te listen immoral and te listen tomorrow could then trigger the te s3x applications so it's representative ee a token a squishy logic rose beside the SG x te complex of earth which is deployed in the Microsoft Asia as Linux virtual machine and after politics fishing logic the blockchain traction can be triggered from the rocky uncle directly his name of the TE a Arminius traitor so this has Angela smashing this is a great cooperation work from the different ear members so the original champ takes charge of the implementation of the UI part and I sentence charge of the implementation of the TE listener as well as a tedious px application implement implementation and deploy the trust computers computer framework to Microsoft Azure STX virtual machine I think also takes charge of the implementation of the TCF te contract and consensus takes charge of the implementation of the mediator token as Malcolm X al Qaeda has charge of the deploying the virtual networks actually the proctor networks is based on Cairo Airport based on the highway here - use of previous name and password so I might to talk about the small contract improved by processes [Music] so in the smart contract layer we have three components one tokens second are essentially identifiers with kids and the third one is going to be verifiable claims so how we make this ecosystem work is we've deployed these three contracts as an operator contract on tops management contracts admin functions such as ferment transfer such a right so to be able to do that we need to make sure that they're participants that are receiving the tokens are one employees of organization and to the organization is a member of the ETA and that is where the GRC 780 and the 1056 come come into play the GRC 780 is contract claim dry stream contract originally developed by airport and we've adapted it for this use case and essentially it's a contract where we allow an admin to specify which organizations are members of and then the second contract is going to be variable different shoe or it'll tend to be six let's also contract standard that's but that was developed by q4 and it's going to allow an organization to specify who is an employee of the organization so this is not even function but we don't want that function we want the organisation's myself specified who's working on their behalf or their delegates so the function we're actually really interested is the set delegate function in topic 6 so I never gonna say Scott instead you deploy these I spell again support me on the path so that what we meant tokens the EI and when they selected tokens it's going to check one is the organization through the 780 and then to its going to check if the employee is a participant as an employee or organization under the m56 and then from there we met their tokens based on what the amount [Music] hey so this is gonna get increasingly more complex so let's just bear with us before we step through this chart that's uh let's use an example why are we bothering doing all this stuff that's that's the heart of cute so notice about yours 220 right so I'm talking about tokens none fungible talking so LC 721 okay so 20 with Hawkins and not wonderful talking's I run those in unity everybody knows who's they're going to and I have issuer that has the secret key and sign them and push the request and you get the token what's a problem why do we need all this unitl lets you use this in example let's say wrong is the owner of this cookie that condition affects meet the token to or nation one so they get some reputation tokens right and let's see let's say well actually ramos uncorrupt oh so that's not there's a whole year out with my babies and I know Charles for a long time so I know he loves exotic this right so we're gonna make it thank Charles for every token you issue to collide oh I'm gonna give you a case of whispers so what what this means is as long as I can corrupt the secret key holder I can get all the tokens I want right and there's no safe bar to make sure that reduction is is legit you can only trust as much as you trust the person that was so what we want is some sort of safeguard to make sure one tweenty request is in issue as issued with by meeting a bunch of criterias that's set in place okay now you think about this we do criteria so why don't we just put them in a small contract the stands in common er C 20 and dust about evasion and then cost us 20 right it's easy to solve it can be solved this way it's all your checking can be done on the chain and all the data is have been launched in you can do this pretty easily there's there are a lot of situations where the check he needs to consult exponent in bases look at the logs look at the meeting minutes from illustrators and do the validation from also resources that's not reachable from smart contracts and that's where this kind of solution being said and so let's uh let's step through this and see how this works in this program right so Amy before this can flow and to end we need to do two things we need to make sure the ending secret keys are in place so first of all you have the front end and it has a block chain and then somebody needs to hold has the special power of being too close so that's going to exist at this later we call a trusted compute listener this is basically the API service makes the system work together with from them and then this is going to call some trusted system that you can say when this system is executing some logic I can be somehow guarantees and convinced that is running the right logic and the magic is in the Intel guy's technology called SPS same software connect the cars extension thank you so that you can be convinced that one it executes as a logic you know exactly what the project was being executed in terms of getting a proof or attestation from a component because of that we know that any to make the token we have to have participation records issuing that say the organization participating gift up that they have commits that contribute to the publication of the next back that sort of thing to be checked here and all the logic run that they can call any api's they wanted whether they are on general FG object because this is just record regular component not a does computer so that's beauty of the solution once we've got the keys in the right place the Edmond Charles in this case walks into the UI and then says okay Clyde oh did some good work that's given to some tokens send the request that's going to be accepted by the customer listener and the list of now me still talking secure mode so that this request going to the trust it's going to be secured by public encryption so only economic here at the Depot so now the work flow goes to trust compute it's going to do the logical checking and eventually once it passes the criteria finally the total issuance of Isis made until it's officially and anybody's head so that's the low this is only one pattern of what you can do with trust a compute there's other like Oracle pendant patterns where you can use it to get external data and you can be assured that what one's it's grabbing data from external resources they're not manipulating them right so there are various sensitive data in the world that can be millions and millions of dollars even if you leave it just a tiny bit when you are getting that data from this kind of components you know they're not what you paid so [Music] what we have done with the be a token project is if you go to this link you will see all the components that's involved to make this work from Mike already took you through smart contracts it took about ten different small contracting work together so take your time to understand what each of them do and then the T layer that exact folks did has two components one is that API layer that takes request from the UI and then that launches the worker node actually does the processing through a secure Channel and finally that envisioned folks envision blocking the UI work to make it you know grating to the a member website and finally Marlene this team did male to make sure the stuff that we do is compliant to TTF spec so you can check out this stuff from the pus tree and you if you have any questions people free the open an issue and we can gauge to help folks understand that this is real and this works we did a live employment they even measure non-vital so that all the components outside will option is void of treasure including the the SPX question and then the watching itself is this managed by divider which is also a measure and then if you want to try this yourself right how these different together we also created you created a local environment that's based on Windows so just following that we move and you can try this yourself and run everything and went without relying on the opponent so that's why I'm trying to take you through in the next I don't know of way 15 to 20 minutes of stepping through all the different components so you can see this thing running at the end and let's get to that now any questions so far about a user stuff [Music] what up testes get coins deploy what does get coin oh yeah if somebody anybody aces is welcome to create a bunker project and see how we improve on how about this right what we've done is one pattern against one thing you can do with TCS and there's you know other other patterns you can use on that that's a great idea alright so before I go to the code this is one of the simpler simplified version of the mobile environment compared to the real version that's the points of the cloud we have these components that well so how the the heart of the security component is a secure channel between component that's owned by EA and at some point that needs to call a spitless worker node that's you know conserve anybody so how does that communication have been securely is through a your channel if you want to know any details ask these guys but we obviously we don't need that our local environment so what we do is using a shared file system we have something generated by the keyless minitest it's a file system and this file system this is shared by the worker node so that's how that's secure provisioning is not the community and then the watching itself is I believe the best running all the way through the docker compose right [Music] if Ray does not be any time if you see something that you like to understand more about the size of Oh [Music] okay okay no is that good enough for the folks on the human back bro ignore this step enough what do you think alright let's make it you [Music] there we go bigger bigger okay so on the beam up first all right by the way I mentioned the github so if you go to that github at the link switch to dead calm brunch and then you can see [Music] all right no no we don't need that go to the death of brunch and then go to the logo folder and then there's a weakness that you want so if you want try this at home you can you can do that oh you eat is okay so what I thought is I've got three different talking compose puts this together the first one is the deep back end which is watching itself it runs the latest version for every bit soon known we need to run the continue Mona's which is essentially the wallet because work will easy we don't want to do external sign so we just asked no to do the signing for us and this is giving the best you motivate wallet so that's what the assignor does here and then we have another festive node and another so that's pretty simple it's Martha [Music] it's creating in the to note and to well it's right so it's all working fine so far and you can connect to them [Music] you can attach to that see that it's running for you okay so there you have it we were even come so we can see that it's it's already that block 14 thousand something because I've been running this apartment for a while that's why it's got a bunch of blocks ready so now we have the back end let's burn up the contract so I wear it before the contract so I'm nothing but again but in what it does is yeah that's available and it won't get really so there are these one two three ten different smart contracts that gives you a registry that gives you a registry of the works so when when a request goes to the smart contracts to issue a token to the Lord it's using registry to verify that this works has been registered and then when you want to issue to our employee then the claims reader registry is as well as used to verify that there's a claim about the association's of employees without information so that's how these things work and then the main logic of processing the issue the burn of the tokens is operator so that's the main thing or the logics exist and you have the different token contracts undercover they are all based on GRC 777 advice of GRC 20 that setting proof version of GRC 24:9 performance for fungible opens so that's been deployed let's start the middle tier which is the tea stuff so we have [Music] and so what this does is it gives a P is for the UI to call and then process with license so this only needs minimum component one doctor Easton's because that the actual work Mandela's are spun up by this on-demand when there's a worked up when there's a work request it spins up a new instance of working though than that heaven as I said and then clean it up upwards thought that finally let's put the new why the UI has four different coupons it's about the the HTML layer the Becca layer in node.js and nginx for load balancing and database to save both information so we've got everything running now let's look at the UI and so you need to do a login so that's the default is admin PWD so that's the when you try this yourself a at the PWD with the capitalized P is the password so the [Music] all right this password so this is going to call the D ID registering to register this new member with a in this sucks take a look [Music] so it goes to call oh I know what I'm using the wrong branch [Music] yeah I need a switch to remember to use that on branch this [Music] so we need to we we build the middle tier and UI tier there was the [Music] all right so that's three bills you restart the UI as well [Music] I needed to do this because early I was trying to connect the system to a cloud deployment that's obviously not the right operation right remind us again register [Music] okay looks better so now we've got we've got the member as that's part of this consortium let's say EE itself is a consortium we just added DEFCON 5 as the brand new member so now we're gonna ask the admin of that DEFCON 5 please login by at noon as invalid zero tokens so I need to register some employees that's going to be a sign that you can work with EEA all great stuff right so employee the as you can see the email we don't really use it to verify identities it's just you can give any you know address all right so now we have a Bingley that's part of that multiplied let's go back and say you know in half a year that come five equal you want has been from spending all calls and even chair some calls neither contributor to the next version of the spec right so it's time to give them some tokens so they can have their dinner they've been waiting for waiting okay so it's gonna be for DEFCON five one because tribution so what's happening undercover is [Music] one so mm-hmm this is all do TLS no one which is API server just saw the request from the UI and then it understands that this is a request to issues on tokens so it generated some command and then asked the worker level to process this command so the processing of the command is thawing the trust involved right by the by the trusted component and as a result some reward tokens were meditating so that C is death I've actually got da Venus was you know did I use Gmail right you got 100 tokens because you get that so if you didn't understand what's happening undercover this made me underwhelming but if you actually know that in this system there's no way anybody can and drive Charles to get three tokens then that's a really good thing so thank you [Music] so so that does all of this is actually really just sex game for the demo so that avoids the immigrants in that simulation mower which promised every component from home the same are no commercial so here actually has something wrong in the highway road which of course we'll use case so basically the PE the component and deploy on Microsoft Azure as Jack's prohibition and the project based on the final networks so the heart of the mound he that title custom for the EA token hardware board it's kind of complicated the principal difference compared to the assimilation motive point is focused on these thirty announcements so basically for the dua poverty it's a same so you are here the users have five he a token request and the Year token request could be captured by the TE listener ERG TT cos P channel and the key listener is in the scope of the EA illustrator so the administrator can just inject signing key and five decay between te listener and he listener will transfer the scheme to a secret management management service which is also running inside the USGS Enclave and meanwhile the key listener may also encrypt the token requests and pushed the encryption which requests to a data storage server so all these competence are power studies in the EEA administrator confidence not yet the router Desco so the next step that neither the off chair apart object trusted execution so these are two ways of triggering the key applications the direct model and approximately so for the director model actually te where lori the blockchain and the hey i want to treat for them for Rajesh loved one money when he died he dressed and his configuration equations then he could die along with the resist information to try from the north changing the dialogue with the bridges were configured a lot of change has to come here so this is right it's quite a physical force report and for the proxy model actually diva scenario host find a new government commercial said that I will run this execution logic for the richest Walker he and the world register water it will we always listening the doctrine events and as soon as we capture is for caravans we will retrieve me key applications so as soon as a TV applications it's pretty good as skill channel is established between the security manager Security Management Service and the remote de Enclave so this remote remote screen channel is also called called SGX secret peripheral channel so the Sony came the private key needs to sign the flood contracted by the ER administrator that can be transferred to the TV II complex so I would laugh and lie once again that the team that morning inside the uncles is directed by the hardware interest rates higher level of security so even the owner of the TE the machine is not able to penetrate this Enclave and still or temper that is privately so the equal data equivalent they also both port to the TV applications so the applications is not this able to decrypt the data and apply the exclusive execution logic and finally and file object reduction directly to the blockchain networks based on the there's a question question he said this India first environment right the key to the secret our country the mystery of where the access for this one yeah yeah actually this one as since he he also have is wrong inside interest GX on conflict so even you don't trust this machine because all the kings are wrong inside Enclave so actually when this machine wrong when is unclear start Ronnie do we also do with a broadcast station so totally essentially you have an enemy cluster which were obviously hundred yeah but this was also in that administers co-pastor I hope but essentially you have to be Harry trust and so he said okay said with a consortia that each member yeah good question actually for the token insurance for the all the talking turrents request is horrified by the Australian actually but this for different use case for the obvious a organisation he want to make the reputation for different employees so this could be in the organised economical so that afforded for this case so for this token insurance is only for the year and his greatest country so so the the the travertine approaching from a plane can be triggered to the brow gel directly based on the sunny with based on this side Hakeem so he the name of the arbitrator so in this way that we can see that we can all option or the execution from function to from check option without mine are compromised into the screen trust me and you expands [Music] silly girl so this dislike area worked application that we have you know it's an aspect compliant implementation cost of its kind and now not another other part is liquid also we talked about his application the second part is like Eugene will walk us through some of the you know what does it take to write you know we talked about hey though you can implement this thing him in STF ste so however how hard is it so he's gonna walk through this framework where put together and that will be open source to walk you through you know how we're making it easy to write a hello world yeah just a question that I get this one there's like a single governor how would this model work if you had to share the trusted locket to ensure that multiple parties are running the same exact trust and logic and agreeing this is free event relationship that is possible then how would you distribute them trust and logic in ways we can't repeat the question well it seems like this model works you have a single admin of the system and you have trusted logic that's put but I'm curious when you have multiple parties that have to run the same exact trust in logic yes how do you guarantee in the state your shitty types may have forcibly to answer my view is that the point that you're using this centralized component there is that you can trust it typically you don't trust their sin Phi component because there's operator there's there's some code that you don't know give you away in some machines you can trust a centralized to thumb right but this is a special kind of central component that you can trust because you can ask Intel to give you a gestation that's somebody tell if you found it wrong you consuming tell and that's - right which means you can trust they said there's no reason that you have to want a decent classism so you wouldn't use this for a model if you had like calculations that you want a mobile or Easter fun so maybe we'll have an opportunity to present our use days but basically is a very good question but SGX allows you to attest the code the transient idea so we publish it and everybody ever participant can verify that it runs inside the I believe it what has been agreed upon okay this is like about it so this notation of okay so we note on the years since we have a small contracting [Music] he repeat the answer I think you know sometimes I think because everybody is that single person of control could it be replaced by some sort of a smart contract that actually completes Oracle so the events that would keep token issuance if that is possible which feels like it is in which side does that's my contract ago and I mean on the sense of you know when we are being on that on the on chain or really often it would be combination you will have that kind of like on both sides and the you would execute the part of the court Indian clay for example so they'll keep information that don't only been quite political on the complaints but at the same time you're going to their function information that they're waiting Democratic know for what excited is out there shorted it was a typical the better at actually like using the villager Evelyn so we heard about the EE excited use case but we're going to hear about a couple more eccentric use cases but now I have a privilege to talk about the most famous of the most boring Hughes case hello world so episode that though we cannot know forever so what actually brings together the all use cases you're going to hear today about exactly that under easily have the liberal end of a long residence implementation of the trusted communication so that is how operator of power the he may work together so before we're going to Julie and initially it was intended as a tutorial so we don't have the ability to go to do this hands upon so that is why I'm going to kinda let go through these steps what it takes to go into sort of a to build HelloWorld application but then first we need to stop is a little bit deeper ground and the neutral background they really don't just understand what is needed absolutely beautiful application so he definitely religion alone in three parts it's a trusted computing service that runs the workloads and managers map there is there are smart contracts that run in a stadium that allows you to involve these workloads in the trusted public service and there are always requested for wants to make this execution and colors very different them so now a little bit about the colors the take the dark bull in these cases actually that is the application code and they everything else that is the quote that is the people in the common for the all applications so the applications in order to do application you need to do three parts different UI you need to build the smart contracts you may use these marketers provided by the accelerator alone or you might need to modify them and build your additional smart contracts in the allocate these parts is actually well known how to build but the workloads is actually very new that is why we're going to focus with a only on how to build these workers so we're going to pretty much the field the hello mobile application and the learn how to build your own example so our core application going to be pretty simple is going to take as an input list of names and is going to depend the hello to each name and if notice as a result and we encourage the building the application and anywhere in the two stages first get it plugged in into the framework and then actually build your business coach so in the great follow the same pattern today so there are a couple dependences that we should be aware so the each workout has to contain it from the class process workload and the test implemented one virtual function and it's been closed a couple markers and we'll talk about the details of that I will provide a number of templates that actually make the arm pretty much include the old boiler call so the boiler plate also you don't need really need to write that yourself and finally for this in order to start your development you don't get ready to develop immediately applied you can use the generic client provided with the framework to test your application so at the end I'm going to distribute the use this as I said that we plan to do this happens on experience so they include kind of like a and GT version so it has the all components put installed and it has the even the stage one preview so it's even kind of example the without really going to a full installation and see how it works [Music] so this is actually let's start kind of from the end stage one the what we want to see the if we will have the stage one what would be the result so first of all we'll start the IVA Lisa this is legal or spin and it will start at the client application in most cases just when they're going to try and don't forget to shortly fancy virtual environment otherwise nothing going to work so when we going to submit the command the important parts we said meet the hello world which is the idea of the workload that we built and the data and it's involved so we're going to get the result error under construction and at the end of stage one that has the expected output because at this time all they care they want to make sure that hello world what was the message has come to the hour that we just integrated in the framework but we don't really have our own business logic that yet next time so what this actually it really takes to get to the stage one first of all we need to create a folder like an any application and that fellow work application name we have to keep because we don't need to use this name couple times more in the updates with fans we will need to cut it to play files from the folder where we give them and they need to play update couple files in the email among those templates and couple more build files in the framework itself so the first of all there are three files that actually allows to build the hello world so first one that was actually one of the two played files that is the top one the controls how to do the static library the second one is actually the includes the building or this particular static library into the overall due process and the third one is links that into overall set of workloads to be loaded in the employer so the highlighted items is actually what really has to be changed because everything else provided as templates then we need to update at this stage one source file scatter file so we begin we have to make the industry changes to them first and last really the same we just need to change the name space because if we continue the same template - for multiple workloads they should not come up compete and we should keep the compiler head and finally we need to set the workload ID and by the way I made a mistake check the hello there or not they have all under control next time at the same time [Music] it's like house okay so this is okay so these is actually help so this line is actually just usually the different recover the what is it to show us here not the changes but they just didn't ins that important to understand why are they here so we have to inherit from the word processor class we have to have this macro that actually allows us to clone the class whatever execution we need we need to implement these virtual function and we're going to look at the implementation a little bit later and finally there is a helper function that just makes agent Lee output elements easier that's right so now if we we were done with this stage one so what would happen that when we're going to be at this stage two we're pretty much going to modify two more vials consuming more vials this is going to get the logic the digital file for plugging that CBD that is actually the file that kind of links your logic is the framework and when we do this stuff and when we run the same command we're going to have the proper response for Edison to go walk next time so logic is actually where the developers will spend probably 99% of that time and no case it's very creative it just the function that takes the stream inputs think as a parameter density hello depends if is below and returns the result and the now before we're going to look in what we actually have to change in the file that contains the our business logic please the framework we need to look in the previous implementation this is a start and limitation in digit way so because this my product register or processor that just simply has to be present there is the function process work order that has number of parameters that describe the or call submitted to execution and the most important in work order date in Outworld beta and it has a couple extreme error under construction that is conducted on battery and the phone as a result and as you can see it a particular speed next and that is the function that we are going to implement in order to leave the allergic or the this hello world who is the framework so in this is the for loop is actually it allows you to enumerate from each input date on the first on the second that will be it but then what we're going to do the data comes in the battery so they have to be converted to steam and sent to the front part s hello world and once they process the result comes as thing that has to be converted to by tray and edit to the to the work order itself and those those links to stinks the hello hello all going to be returned to the powerful dimension so the theta in the process going to do a lot of different processes they're going to be encrypted they're going to be unsigned but all this is actually kind of transparent for the developer or the workflow but as long as the you provide this function that is going to be whole they do provide the workload ideal the framework will find your workload and will send the data to the worker for the institution that's it [Music] silica plumbing though the restart you think so now love like we have three histories that the first one is I'm Jimmy and I'm from Banco Santander and we are kind of special car child:yeah because we are not software vendor we were back so we are not the smartest ones but we are ones with interesting your spaces and we actually do have a lot of exciting new spaces that we found to talk about but there are maybe some that we catch her and SGX as a technology that has been operator we thought we could solve us sound problems instead now comes along comes SDK so hopefully we are lazy and we are always looking how to piggyback smart people's work and let us let me walk you through the problem it's on either side is very boring because there is not much money involved on the other hand side it's interesting because it has many aspects that we want to cover and that are relevant in deciding businesses so we have three friends Alice and Eva and I'm friends but they were working for competing backs and next like this and each of them has a portfolio of VIP customers that he or she takes care and of course it's like you know we are friends but stealing a customer is a problematic thing so next slide with each customer set there is customer name now this customer data is precious this customer data is something to be contacted this customer that is something we mustn't share however there are use cases there are situations that our regulatory requirements when we actually need to process identity so one very simple cuz I am L example this one we want to look for people sending money in a site it's not Troy ml but it's like you know you're making an impression of having money where why you not really so this is the very simple logic that we use the templates provided by Zhang Jian and Eugene as we are contributing as an example we have a long hydrologic project so they not only we have been able to do it but but the more so smart developers so this is a question of how the process of suddenly the data without disclosing because we now we can have a gentleman's agreement and we know that maybe it would work with Alice and Bob but we all know something about Eva right so we mustn't trust Eva but now comes the solution and the solution is we do everything in a vault we do everything in a special banker it's a software Bank ERISA is about your made of dreams of Sanjay and Eugene and other people in Enderlin other people from Avalon project so we have this cryptographically secure and plate and we see it with a code that everybody has seen and everybody is Peapod whoever I don't know why this is missing what I find things happening as you move from windows especially this person so that was this question about how to trust and so Vegas if you see the end link with your card you can verify that this is account provided that you trust Angie but this is a minor point conversion of we are bank and people trust us with way more complex things and with way more rational knowledge so agreed-upon algorithm and now everybody takes an envelope from the vault and everybody was there data into the envelop her blouses seals and puts it into the Alembic is a default now without words kicks it it's being processed but nobody sees the assembled Angus assemble data is only consolidated in the protected memory so outcomes on the list of suspects so we have solved our problem and a little vocabulary here so the the bunker is the SG exactly wrapped in the abalone framework for our utility the envelope is a public RSA key so as we start the end plate the keeper is generated but only the public key is revealed so everybody in the world can encrypt of the stuff and only the decrypted inside yesterday or maybe by sake now the seal of course we want commitment we want people to certify this that they not able to commit so there is an elliptic curve in this curve actually sign signature on it and now couple of questions here so one was already asked how can you be sure that there is no trapdoor there is no and the malicious code inside the enclaves so this we can do by efficiently codes and by publishing on chain and this section where blockchain how sensitive us so far you would ask okay this story but white object what for so one thing is where you when I advertise my android to other participants I should offer a number of certificates say do you guarantee that one thing is that the code there is actually this and then if they use attestation service if they have those cryptographic primitives think and verify themselves that this is actually the code there is no traveler or there is no funny thing and the other question that you can ask is how can we guarantee the people that achieve by submitting false data you know we find in La Paz if we've chances my customer and I want to protect you from a well algorithm I may be sending you know come predicta but this actually is a moment when again blockchain comes handy because I can gather commitments I can gather and for essentially a hash of the submitted data and then at any time in the future and all that have come to this body say okay present the data and prepare against the action so this is not perfect but this is as good as can be because if we protect the data is protected so there is no verification of data quality of truthfulness but what we can do is we can gather and memorize and store the commitment for future verification so we've done this and we are contributing this is a use case and we've done this in a way that like we are properly paranoid about photography so there are two components one is the application and we are we were ready to present but you know time constraints Network what component is the client that you talk to the end plate so that you discover the worker that you get all the cryptographic primitives that you need base the runs and the addresses and the other component is a standalone encryption application so we say okay if you're really paranoid about your data you don't want to encrypt in an app at this online connected to something you just take the public key will transfer it somehow hopefully not on the Russian USB stick to an air-gapped computer related to the basement there you do your decryption there you build your JSON message you bring it back to the application you send it and then we stretch a little bit the framework because you can recognize that the word becomes stateful because it way waits for all the data space but this is anyhow on the roadmap of the other project other is to do but you know we've managed to pull it up so thank you very much it's like really exciting these are screenshots you can connect at the moment lots of funny stories like at the moment the abalone uses those pretty names to identify workers so normally you go to block that you would have a list of workers available these are their names something to work about you press details and you get stuff that you actually need like the encryption other key so this is the stuff that you publicize that you take to your basement community and the gather is a screenshot of the standard encryption app so first you need to define how many data's things are there then you need to submit your data as a separated value files in our if you will be able to work with this example because we're committing this to do the project it is already on the branch then you have pursue you create the JSON file in we review the justified before it is encrypted then you encrypt the JSON file with public key that you submit so it's a very simple Python public actually guys use for the steps that you need to create read encrypted signed hot message that service will accept and process and yes amazing thing is it works and I invite you to experiment like this thank you second use case we'll talk about this at the story comes from I do it from changing alright hello everyone thank you very much so you have you an even from France probably notice from my accent so today I would like to talk about how Jenny can connect the TCF to revert beta so when when you started working on training basically we're not super so it was how we breach fabric block chains to real-world data because after all a big block chain result market data Insurance data I would've ended up as in favor of the first cases right and we feel it's the same for it is yet so laticia provides a great framework to scale and compute smart and watts in a private matter however how do we provide this hybrid or even with data right and how can we make sure that this data is as accurate and secure as possible because all right yeah so current visa program is a furniture Avedon doesn't have access or safe access to data inputs so we have this great framework which cannot access real world data right and all of the great use cases necesita require real world of animals basically what you want to do is get access him access to sniper injure other on to payment methods such as paper Swift where basically if you were to compute a smart contract into TCL framework you put trigger X on actions right we also want to be able to allow 12:03 my size are a bit done yet basically to expiry season so we know to allow the TCM to get access to real birth data so market data from Bloomberg from Reuters your so on to be able to trigger external payments with the DCF and finally the third use case is to basically allow ctcf to gain access to other reductions so basically let's say you were to compute a smart contract inside this yet you could trigger a Bitcoin payment or lithium transaction or even integers might not run so those are all great use cases is that you've been working on implementing a city alright so currently were some of guarantee and - and reliability so the only heidi is as we use public auctions in order to be tamper proof transparent rights use the GCS in order to scale and to learn privacy whenever we compute smart contracts and we also want to make sure that the data is as being - the system is as secure as possible after all if we're to have a system which is processing real world data inside an unclaimed but you're not sure about is data is annual run into each issue right why do you insist super secure system which is being triggered by super secure data just a program right so what you be working on a chaining is basically being able to add multiple sources which are fetching data from multiple data providers in order to make sure through redundancy that the data you get into your smart inference is as secure as possible and we believe it's a huge importance for the TCF to in access to it data which offers redundancy and which offers basically incentives where people will be incentivized to provide to the right data points without without being malicious whenever Center giving up system top right so next time so basically was not to apply to this architecture you have a great for the system so currently if you carry on and hybrid of another right and we don't want this for existin to be triggered by one surprise or occur because if you have a super reliable system he doesn't make sense to have been triggered by one single centralized or occurred that's what you to avoid we want to add redundancy also forever there but you variant multiple partners providing data from multiple data providers right so next one and yes that's what we implemented basically it's working and we are going to commit it to the high pressure column it's a waiting for to provide data to the GCF using change nodes and I'm going to run you through the process how it works exactly so when the requester contracts which is unchanged so it can you hear me on hyper nature and young any production with and into into sense the notion request for changing contracts okay this training contract is going to send triggered personal notes mrs. Channing note is basically run by blockchain infrastructure companies Guarani and etherium or any kind of blocks and food production plans and which anecdotes and it's going to retrieve the external data from an API endpoint now is a Cal points would be bloomberg rewriters it could be our G data it could be any kind of data you could think of right so watch my weight with the data we fit into an adapter basically this adapter is going to include the data and sends your order to the GCF is your order is basically the sequence of operation that needs to be processed inside of the tissue and now for the most security-conscious people in this room you're probably noticed that whenever we were to raise the challenge the data and it goes through the chaining tops there is a possibility for the oracle to pair up the data right at this point and set where the beauty of GCF very comes in let's say I want to make sure that I want to prove that the data hasn't been tampered with by search any price you ask so you take that provider to sign this data and then I can verify since is that our sons and I can verify the signature inside of the diskette now very famous signatures is a very very consuming process right it's not something that you have to do one shell it's extremely computing so if you were to do it inside contracts on Shane it wouldn't be a viable option to verify system price however appear with high pressure at all you can just verify the signature on to TCF river and this huge higher odds basically you can verify the data assigned place to take the provider send you changing floaties interpret it and what your first so is running as the same data through multiple channels so really an attestation of the data and you get redundancy threatening magic Pacino's preventing the same thing that pops from expert data providers right so we can always get more secure but that fit existing Authority quite secure rights but we are feeding right into the GCF has written many security assumptions visitor able to provide by combining the TCF and combining chaining looks person explained so westfield cousins is a that basically is a process to consume it is very simple with computer today does so let's say we want to let's say we have a data provider or a Spartan track Creator who has a use case he wants to get the price but he will put transmit this price uncheck right so maybe you do some computation of chain using so TCF and he returns the request or the results right using the same process we go through the adapter because through the chain you know interchange fees to answer to the training contracts which fits into the consumer contracts so a very easy process now I didn't give any clear time to use images because the use cases for this are limitless you can get any kind of API and point to fit data doors my podcast using ctcf and using chinese notes and here it goes from insurance contracts to global trade and trade finance basically any kind of use cases that needs data doesn't want this data to be published unchecked because financial boom financial enterprises are company many don't really want to publish order Troy sunshine right but in order to use the security guarantees that TCF and ethereal and public options offer so this is a beautiful way to do it basically answer possibilities are limitless so I think I probably ran out of time so I'm gonna and I had if you guys are like but I think it's fine yeah this I would have to finish by saying I think that was a beautiful efforts that many companies led through a thriver lecture and yeah I'm really excited to see where it's gonna go these use cases are really limitless into the future but you're creating here we have a huge impact in serve on the industry I think and drive companies to start using a big brush and smart more so thank you very much [Music] hi everyone my name is John King second one of the co-founders I believe my Paisley was back then today it's great that I can plus because you mention an application which packet that we work together to do away from us today the men you securely in the block jeans I'm going to talk about how we've tried to build the block chaining that isn't managed TCF so an enigma our goal is to ensure a document level to your dissent as technologies we focus primarily on public love chains the way we try to do this is by enabling block chains public or private to handle sensitive data and we've built a computation platform that enables block chain functions or smart contracts to run with the inputs and this is done using the TC framework so I guess the problem of privacy is very obvious I'm going to spend time on this this is something that's been they did to us we started our research into t1 vs MIT and at the time we were focusing on multi-party computation we wrote two papers that were most cited in the industry fast forward four years we're at the place where were about to launch our network which again introduced responsible pacific contract a civil contract is a smart contract that can run with individuals and we're seeing that this has a lot of use cases and the public option public poaching ecosystem both in terms of enabling new application that haven't existed before but also creating a much better to expose cases today I'm going to talk about discovery which is the first release the first thing so far network connects about four months this company is interesting because it's an implementation of TCF we actually went our separate ways but we converge on they say expect more or less improve means he said in two ways one is it is a stateful net what would it stays private and the second thing is in this compatibility team which means something that our contract it's an enigma can I call a contractor material to move funds to mint tokens or store records of that sort so I'm going to talk a bit about the network very quickly with their developers have built apps in the deuterium users who interact with these maps and then finally workers who execute these tasks these workers run into this Jack's devices and that's how the network issues his privacy feature on a high level the white network works is the the middle thing I have there is the secret contract concept in this network and the interesting thing is the inputs are encrypted and the state is included at all times so what happens is the users sends the inputs while you sending the input they're using our library which which ensures the encryption are locally and that sensitivity to the network then we have built a p2p network where all the basically state is kept that the communication takes place that also is in people at all times the worker who's chosen to work on this has developed based on proof of state algorithm has the ability to decrypt both the inputs and the state of the contract do computation on it and then update the a mistake one cinema state is updated it's amazing cryptic it is visible to the user who created transaction and as I mentioned we can do computation with precision I was going to focus a bit more on like on supplies Enterprise but I think it's it's it's interesting to show how this can be a use case that can be used on public YouTube so what I want to do is I want to talk a bit more about like what we're building or what people are building is the system we recently built a coin mixer to achieve transaction to privacy material we see potentially that tried to do that we we use our network and see contracts and I'm going to collect encrypted recipient addresses and then shuffle them in order to achieve transactional privacy there are a lot of define use cases that are interested in this there is a lot of use cases that require options in order to create efficient marketplaces this could be things like creating order books or this could be things like having an auction to say like creating a fixed using the interest swaps are on the define ecosystem but there are things that are around this discipline of gaming situations that we see where there's a multiplayer situation a very simple example is about Paper Scissors but I can take it to the next level and build a poker game graphically it's decentralized and cannot be shut down by governments which i think is very interesting governance kind of flows into it because voting things like that were commenced reveals can use the benefit from it and and that's the the interest and interaction we were primarily seen in the in the public YouTube and level I think one thing that's interesting for the enterprise water and ecosystem s and this may be sounded at both but I think it's a point worth making I don't think personally the cure identified merchants significantly improve the databases and the reason for that is primarily about privacy we have a lot of consortium of chains which creates further data silos and have the ability to tap into network effects that's a great value when something like anymore this can be addressed trying to address because now you can have an actual blockchain where you know you can connect to different ball chains and parties who have business interests can attract each other without revealing anything both from their business logic and and you know two contracts so we think this is interesting going forward excite to contribute to expects the e - relational aspects new theory on how to share knowledge and afters stay foolish so I think a little we started I was quite worried that we have so many people present that was basically the session and thanks to everyone you know and the main point is that you know the facts are mature and there is he heard about this hyper later along its basically eeeh cannot hold saw sports so so this work group was set up as a little Foundation and that's why you know all of this code that we're talking about will be a place and there's a community building they're already there like 15 to 16 companies they're actually contributing forth in those cases and to the spec and then the things and the thing is like you know the framework that we talked about we wanted to basically do it here but given the situation we couldn't do it so he has the whole framework on the USB sticks [Music] and you know they can just pass it around that people can just [Music] thank you [Applause]

Automatic transcript — names and jargon may be misspelled.