Marley Gray: Project Bletchley - Microsoft's Blockchain 3.0 Architecture (Episode 161)
13 Dec 2016 · 1:04:53
Marley Gray, Principal Program Manager for Blockchain at Microsoft, joins Epicenter to explain Microsoft's Project Bletchley architecture for enterprise blockchain deployments. He covers why Microsoft pursued blockchain technology more aggressively than peers, the Azure Blockchain-as-a-Service offering, and Cryptlets, secure off-chain middleware components designed to feed trusted data into Ethereum-style smart contracts.
Speakers
Topics
Transcript
[Music] this episode of epicenter is brought to you by Jax Jax is the user-friendly wallet that works across all your devices and handles both Bitcoin and ether go to J ax. and embrace the future of cryptocurrency wallets hi welcome to epicenter the show which talks about the Technologies projects and startups driving decentralization and the global blockchain Revolution my name is Sebastian kuu and my name is Brian faan cran we're here today with Marley gray
Marley is the principal program manager for blockchain at Microsoft Microsoft as I'm sure many of you are aware has been very active in the blockchain space uh they sponsored the ethereum Defcon um last year and maybe this year again did you guys sponsor this year again yes right twice and they were one of the first or you know one of the first big tech companies to really get into the blockchain space and and I think Marley was was a key driver in that so thanks so much for joining us today no problem thanks for having me so can you give us a little bit of background I think you've been at Microsoft for a long time what was what have you been doing there and how did
your career kind of evolve to end up uh where it is today so yeah I'm working on my 17th year at Microsoft uh and I started uh in Charlotte North Carolina so which is a banking Hub in the United States uh and came on in the financial services vertical and I was a trading floor application developer at the time and I quickly moved to uh to our a developer and platform evangelism team which is essentially uh when net first came out we were um uh going around talking to software Architects and
developers and explaining the intricacies of how net worked and why you wanted to use it why it was better uh spend a lot of time doing that and then um came back into financial services and ended up getting relocated and taking a job in New York City uh two a little over two years ago go um to run the Innovation Labs there and uh that's where I picked up blockchain again uh which actually the first time I did it I was really wasn't aware when I was doing Bitcoin nobody really paid too much attention what was going on to the covers um too much other than you know just getting your
cryptocurrency uh working and and unfortunately I lost my my private keys from very early on so I have some orphan Bitcoin out there um but pick picked it back up uh in 2015 and uh and incubated uh blockchain at Microsoft in New York and uh got pulled in to actually build out our uh strategy and and now we have a engineering team here in the product group with an Azure and I'm uh leading up the design and architecture here for that so what was it about blockchain that fancied or you know triggered your interest
well being in financial services there was a there's so much you have to do around uh uh settlement times and the pain around settlement and the pain Enterprise organizations go through uh when an audit is triggered um and just identifying some of the things that uh that blockchain could solve and really was the smart contracts was the hook um to be able to Define uh the data that you're going to share with uh other people but also behavior um and intent um so smart contracts in a large degree really kicked the uh interest in
blockchain into overdrive because people started thinking of it in other ways than just a cryptocurrency um so we started to see that more as a platform for delivering Innovation to businesses and uh and the way we do business uh and really break apart and simplify a lot of business processes that have evolved over decades um so that's that's what you know really interested uh first was in financial services specifically in the derivatives Market uh but now it's you know spawn into just about every industry there is Brian mentioned earlier that Microsoft was one of the first companies to well one of the first
large companies you know of the historical figure and and Tech to really dive in head first into blockchain technology and infrastructure uh can you describe sort of at a high level what the strategy is for Microsoft uh with regards to blockchain and blockchain as a service yeah so we see blockchain as being very almost like creatively destructive uh to a lot of our we have a huge Enterprise business um and um our customers are always coming to us asking for innovation ideas or ways that they can improve uh their Outreach to their customers or their products or their
processes and um you know we saw this as an opportunity a lot of our customers were were um having a lot of um desire to at least try blockchain um which initially was very difficult to do uh and how do they even approach it so you know our initial goal is to say hey let's make it easy for people to to learn what blockchain is um and to just get started and blockchain is a service when I launched it um well it's been over a year now um was it its main goal is just to make it easy for people to stand up a private blockchain Network um and to start tinkering with it and learning it and you know we
started out with ethereum but quickly uh customers wanted to try out ARS which has been renamed um but uh you know multi-chain uh now we have a chain and a whole bunch of different blockchains out there so everybody wanted to try out the different uh the different blockchains and start to test them and uh that's that was the initial goal um now we've greatly expanded that I'm sure we'll talk about that a little bit later uh now but that was that was our primary goal is just to meet customer demand um uh to to allow them to do it we felt like the cloud was a great place to do things we called it the fail fast fail cheap because we knew nobody was going
to build anything right out of the gate that would make it to production uh they would you know Tinker and play and and try something and fail miserably but with at low cost so you just delete it and start all over again um and uh that's that was our initial design goal I agree that that sort of that fail fast model is is really valuable like today I I signed up for uh for Azure I think I had done it a while back but I never really gotten through with it but I signed up for Azure like I had a some credits I spun up an ethereum Network it took about five minutes you just basically set it up and it was really easy to do right so I can see that you know having set up a a GU node before on
my Mac um this was much more pleasurable this was a much more pleasurable experience uh as a whole rather than having to install like npm and node and like all this other stuff uh and that often is really complex and buggy and you know takes a long time just to get you off the ground so I think that for a lot of people getting started I don't know if they're going that route but it definitely looks like something really attractive for someone who wants to play around with like multichain and you know wants to wants to get started really quick yeah so actually we were quite surprised when when researching this to learn that Azure uh the number of data centers that you have all around the world and how um yeah it seems like like
a massive Cloud infrastructure which I really was not aware of um can you talk about sort of uh well perhaps just describe for those who aren't familiar what what is azure and how you know how blockchains fit into the Azure offering right so Azure is um our our Cloud platform um and it is really targeting initially and it's always been targeted at the Enterprise market and so uh we started to uh and also our own internal system so U our own you know being in Xbox Live and things like that um so we initially started to to put data centers out there for initial
you know redundancy speed of light issues you know you want to have things close uh geographically dispersed and started to work with our Enterprise customers and that the a lot of the major concerns were not technical in nature but more government um related so we needed things in certain jurisdictions for data residency laws so what we quickly found is we would build these Footprints and we could put these massive data centers um all over the world but we started to find out oh we need to put data centers in specific countries or specific regions and they also have to have a fault domain within that same region um so it ended up we we uh have a over 100 data centers around the world
uh we're in I think 39 different regions which is actually larger than our two closest competitors combined um and it's really targeted at uh well we have a a jurisdictional issue with enough enough customer demand we're going to put and service our our customers there and the interesting point of is all those data centers are linked with our own dark fiber so we actually I think we have the second largest dark fiber Network outside of a government where we live uh so it's a massive um uh dark Network that you're not that you can go between data centers without touching a public network and then we have this other piece so this is
that massive we call hyperscale Cloud uh to deliver Computing on demand and when we first launched Azure um we actually overshot the market we launched Azure with a platform as a service message message where you didn't concern yourself with spinning up virtual machines you just said hey I need I need a database give me a database uh again I want to stand up this web app here's a web app and you just put your requirements in and behind the scenes it would make sure that you had the right resources from a hardware and storage and networking perspective uh and then uh adws came out with where what the market actually was was they weren't ready for next Generation applications and and uh so
they they came out with uh infrastructures of service so then we quickly followed with that but now the Market's moving back into platform as a service you're starting to see a lot of talk about serverless environments where you have this execution environment in the cloud where you can reach out and access capabilities or functions uh that you need um and without saying I need it to run you know on this type of hardware on this operating system you don't concern yourself with that you basically say this is what I need to do or this is what I need I don't care how you get it to me uh just do it within these uh SLA and I'm good to go uh so the Azure is that sort of worldwide Network where
we're delivering um data uh based on and meeting those restraints around data residency uh compliance security our our security and compliance portfolio is the best in the business so when you start to look at you know putting things in the cloud you have to have all those there's a long list of check boxes you have to go through to get Enterprise customers ready to start putting data in their biggest processing uh workloads out there and um and that the we're starting to see customers moving moving in in Mass uh certain workloads and we'll see more and more go through so net new applications we're starting to see um being built with cloud in mind and lastly Azure is also uh hybrid so
you can run something called Azure um stack which is an on premises private Cloud which looks and feels and behaves just like an Azure uh it'ss up like a standing up your own data center in your own or Azure cloud and your own Data Center and it looks like a region and it can burst out to the cloud for more compute resources or storage and things like that so it's that hybrid on-prem uh and uh public Cloud uh if you will cool very interesting and you mentioned before that part of the reason why you guys got into blockchain was that a lot of
Microsoft's clients you they wanted to try out blockchain and they were sort of looking to you guys to make that easier but is there a larger thesis that Microsoft has about you know where technology enterprise software is going over the next maybe decade two decades that informs how you guys are approaching blockchain and maybe not just right now when it comes to this experimental phase but also Beyond when we're going to go into production and actually you know big applications run on blockchain systems blockchain itself is uh forcing sort of a business process uh
re-engineering effort uh across into industri so because we're dealing with the Enterprises these Enterprises are are moving away from business processes operating within their own four walls which is hard enough as it is getting interoperability in a large organization across applications but now saying I want to be able to have that same interoperability between my most fierce competitor uh and uh throughout an entire supply chain how do I do that and before before you really didn't have that option because you didn't have a a shared truth like the blockchain to be able to um you know share uh that data and have one place to go for
reconciliation to see where the proc a business process is that crosses organizational boundaries which is essentially everything in this global economy um and it touches every uh every industry um so with that we said okay well kind of backed into the cloud being uh and blockchain initial at a first glance people said well why would you do blockchain in the cloud and it's uh at first it does seem seem counterintuitive but if you think of what the cloud is the cloud is essentially a massive distributed system um because we're in these massive data centers all over the place uh but you're uh you have different levels of
distribution right you just you distribute things for different reasons you distribute things for disasters right I don't want to have all my data centers uh in lower Manhattan you know and that happened in 911 and and that was a problem right so you need to have uh redundancy outside of a geographic area um you need to have uh you data residing in different areas so there's you need a lot of that flexibility but once we started looking at that we said okay customers are going to start wanting to move to what we call the collaborative economy where you you work with each other and it's a part of the business business process so Cross organization uh distributed workflows is if we look at supply chain
uh it's a very complex business process lots of uh infrastructure required is's a ton of overhead and friction in the in in any supply chain um whether you're manufacturing a product and getting parts from a thousand different suppliers um which are you actually cascaded down to smaller suppliers ERS uh or you're producing a movie very similar you have a supply chain and how do you you manage that and then how do you audit that and we saw that as a fundamental shift to provide not only that cross organizational um workflow and uh shared data and shared execution and Trust sort
of distributed trust um but then it it sort of changes everything on the back end too because now you have visibility into uh you business processes and where there inefficiencies you can catch fraud a lot easier um you can um optimize a lot better um so you know our customers initial stance is hey we we're rethinking the way we're actually doing this business process that we haven't Revisited in 20 years uh with this technology so we think it's a fundamental shift and we're really ramping our platforms to work in this you know distributed uh not it's not just data
distribution so people think too much about distributed compute distributed data but really it's distributed trust and um and moving looking at your uh your business processes and distributing them but having visibility of of where they are at any given time uh very seamlessly I think that's a great way of of explaining right essentially the underlying thesis that that is in in a a big part of the blockchain space you know that was sort of the thesis or the is thesis at ARS Mona but all kinds of companies in this space right like the whole ethereum for business or even public ethereum is also about exactly that process automation
stuff but if if we agree that this is the big the big Trend that is going to happen I would be really curious about your perspective why are the other big tech companies like Google Apple Amazon maybe Facebook are they doing something but they just don't talk about it or do they have a different thesis that means they they don't see it the same way and they don't feel like they they have to take action and move in this direction what do you think well I think it has more to do with the DNA of the organizations if you look at the two big Technic companies are doing a lot in blockchain it's it's Microsoft and IBM and we're
firmly rooted in the Enterprise um even though blockchain evolved out of a cryptocurrency so you have this sort of why does it quickly jump over to to Enterprise it's because it solved a a problem in a very unique way and stood the test of time even though people shot holes in it and then the Enterprises quickly said wow this is going to change this could change how we do business completely some of them when they fully stood it you depending on the business they either had a near-death experience meaning that that they're a middleman and they don't provide much value other than friction into existing business process that could be completely disim reated or they saw opportunity uh and usually companies see
both opportunity to reinvent themselves so a lot of companies we talked to in the Enterprise they see this as a catalyst it's not pure technology it's doesn't solve every problem but it provides that Catalyst opportunity to revisit because Microsoft and IBM are so focused on delivering value in the Enterprise and working with businesses on different ways right so IBM really has a massive Human Services uh business where we're really focused on the software uh we're not trying to sell Consulting Services we We R on our partners to do that but that's that's why you saw us doing that I think the reason you're not seeing uh AWS and Google is they don't have that
Enterprise Focus um Amazon will probably I mean I can't really speak for where they are and what they're doing um but I think that's why you see sort of this uh while we got out front uh will they catch up you know I'm sure they will once um you get into there uh get into that but the actual customer demand um we're getting it from these Enterprise customers and that's why we went first I'd like to say it was we're so Visionary but it's really a little bit more simple than that and do you think that's going to remain like that in the near medium-term future that the most activity and interest is uh on the Enterprise side as
opposed to the consumer facing side I think it will I think the evolution of the two will come uh I think what we're going to go through is that enterprises will spend up distributed ledgers and there'll probably be a bunch of them the the public ledgers will provide an interesting backbone and that we'll start to see interoperability uh happening using the public network as a bridging mechanism for assets you know transversing between blockchains for example or even smart contracts to uh bind themselves together even though they have no awareness of the other network um so the the public networks become very interesting sort of utility common infrastructure and then
these Consortium Enterprise blockchains you tapping into those I think is a very interesting way to see this evolve and eventually get to the point where we flatten these things out and we have this Ledger that even though it's not one Ledger uh we don't have this one massive worldwide database that has an identity for everything and tracks every business process but we have a way to navigate a hierarchy or a um or you know u a mesh of these these blockchains um or distributed ledgers as they evolve so I think we will see for the next couple of years just from a effort and where people will be making a
lot of bets and and and being employed and and looking at solving hard problems I think it's going to be an Enterprise first I think you know everybody's still sort of waiting on that consumer facing you know Uber or uh Airbnb scenario but you know if you look at those things uh I think it might be those things will pop up once you get industry specific blockchains and then those will be ones that cross those industry blockchains to solve a unique problem that involves Financial Services health care and iot for example um that would be a killer app it's really the
composite of this so we're just building basic Plumbing now and within single Industries once we start going cross industry that's where you see um uh we'll start to see these really killer apps that that come out I think now before we go into Bletchley in a little bit more detail what Microsoft's you know blockchain effort is going to look like I wanted to bring up a concern that I think a lot of people have uh and and I I saw that mentioned somewhere maybe it was a comment in one of your talks as well well so it one of the central Prem of blockchain is this idea of of
decentralization decentralized control decentralized processing how do you how does that play with um something like Azure which is a you know a centralized infrastructure provider that really also uh lives on economies of scale do you think you know what's the role here in terms of in while the technolog is being developed and how do you think that's going to change when some of this technology and and these blockchains are going to go into production so when we talk about blockchains and Azure we we say you don't most customers aren't going to run their entire blockchain in Azure unless you're just doing Devon test right when you're going into production very few
Enterprises even though they love us and they they want to use Azure from a risk standpoint they want to spread their risk so they'll say well we need to have multiple uh multiple providers of this network so you would put certain number of nodes in in Azure you could put certain number in AWS you have certain in your data centers um so when we look at the blockchain layer itself because the the consensus algorithms and the database gets uh propagated and validated between nodes regardless of where they live um that's the model that you know we would love people to have all their nodes in in blockchain but that's not the reality um and so we
don't have any dependency um you can actually use Bletchley without having a single node in Azure um and and just call up to those services from wherever you are because it's you just something out there in the cloud um so when we say we look at Azure as being uh the distributed sort of fabric for that um sort of distributed execution model and not necessarily the uh place where the The Ledger uh exists uh even though you know Azure is a distributed system I mean it's all around the world but uh like I said there different levels of
distribution um in that in that case you might have a uh you Enterprises need to you make sure that they spread their their nodes across multiple providers um and and it's really against multiple counterparties because you might have uh certain counterparties um in a financial services blockchain that aren't Azure customers for example you and IBM those nodes will still work on the same network let's take a short break to talk about Jax Jax is a multicoin wallet created by the people at the central now in the past if he had a whole bunch of cryptocurrencies it was a pain to handle them you either had to leave the Mone in
exchange which was insecure or you had to have all these different wallets which was a hassle fortunately now with Jacks those medieval days of darkness misery and suffering are over Jack supports multiple cryptocurrencies and new ones are being added but it's not just storing cryptocurrencies you can do with Jacks but you can also exchange them directly from with inside the wallet thanks to their shape shift integration and since there's only one seed Jax makes it super easy to back up and syn to to the other devices Jax works with Windows Mac OS Linux Android iOS and has browser extensions for Firefox and chrome so go to ja.io that's jx. to download the wallet and get
started today we'd like to thank Jax for their support of epicenter so moving on to Bletchley uh there's a white paper that you authored which is available on GitHub we'll put the links in the show notes uh which is called The Bletchley white paper and in this white paper you discuss s of the evolution from blockchain 1.0 to blockchain 2.0 so blockchain 1.0 being the sort of uto uh Bitcoin style blockchain and then moving on from that we saw um the technology evolve into uh smart contract languages with ethereum and now uh into a new era which is what you're calling
blockchain 3.0 could you talk about the evolution between these different uh versions of blockchain Technologies sure yeah so utxo know was a was built to for a specific use case so it's built specifically for cryptocurrency which is essentially providenc in a a cryptocurrency transferring ownership and being able to make change so um and it was built and it does that very well um and it's uh we like to think of utxo if it's if you're if your applications are only dealing with Bearer instruments so you're proving ownership uh proving lineage and transferring um of assets um then that
model works very very well um and but it's somewhat restriced because uh an individual Bitcoin doesn't have an ID it's just a sum of utxos um and when you spend a Bitcoin it it's you know it's no longer the same it's just spread out as other utxos well when ethereum came out and they introduced smart contracts it it introduced some some key Innovations the first of which was it had an identity so a smart contract is essentially an account that persists so I can have an address and assign an identity to something so I know it's going to be there and I can also Define schema
whereas an utx systems you're essentially I mean it you can have properties in your transaction an asset but it doesn't have a strongly typed schema which we we found very interesting to be able to Define define schema and then it could have behavior and and the behavior piece was the the smart contracts piece I'd argue that it's actually those three things together the identity the ability to have schema and then having code or uh logic there and uh that was super interesting in that um you you could start to write these programs and do interesting things uh as an Enterprise developer that that
grew up in that well I I went from uh writing client server applications to having to write three- tiered applications and learned some painful lessons about how we manage State and scale and uh separation of concerns uh to make sure that you can version things independently and we learned a lot of painful lessons in the the '90s and the early 2000s from how to build applic web applications that could uh to that could scale uh and and and and serve uh the internet so when we looked at smart contracts this is a great way of of really doing other things on a blockchain however I don't think it's going to
scale um to you know massive um even private blockchains that have you know millions and millions and millions of smart contracts running on the network at once um so immediately just went and said okay let's decompose what a smart contract actually is and if we look at that it's um you know you have you define your schema which includes the properties that you're tracking and those could be we the the example we always give us with a loan so if you take out a loan uh maybe it's a mortgage you'll have a amount you're borrowing so that's how much you're borrowing you have an interest rate you have a term um and you'll have a u and that
interest rate could be variable right so you could get a fixed length one and then that's the case then it's you know doesn't change but you could have a variable uh interest rate um and then you have some rules about you know when what's your payment when's it due uh What uh what's the penalty if you pay it late and then what's the big penalty if you really go late you know about foreclosure and those are basically legal clauses and at the end of it um if you've ever taken on a mortgage you get an amortization schedule which is essentially uh predicting your future States if you make every payment this is how much principal is going to be over a 30-year period if it's a 30-year loan um now if it's a float uh fixed uh floating
interest rate that amortization schedule can vary based on uh you know uh how your interest rate can go up or down and things like that but that's essentially a contract and we said okay what portions of that uh need to be uh if I was going to take this smart contract and say I don't want all this stuff to be bundled into this one piece of um of code data all intermingled on a node and when I have a thousand node Network that smart contract runs a thousand times um to do uh the same thing when I don't necessarily need that kind of behavior I want to be able to take out portions of it so we said okay what if you could say
keep the schema keep some logic that just validates your data so like store procedures like type of behaviors for relational databases where you're not putting business logic but you're just validating inputs before you commit to the database so we could validate signatures and things like that and then record the the basic static properties um like the amount you're borrowing uh the signatures of of the lender and the borrower those are important to capture but then the the Clauses themselves the the payment the rate that might need to be recalculated um uh and then the conditions if is it late or not and then
how does that that payment apply that logic can be pulled out and executed somewhere else as long as we can execute it um and then ATT test that it actually does what it's supposed to do um and uh and we can guarantee that it will run so that's we said okay let's let's talk think a different differently about defining what a smart contract is in a sense it's taking what utx OAS systems always did right they didn't have a smart contract to Define schema they always built these uh applications on top that had all the business logic uh but they were schem on the bottom and it's hard to share that stuff across without using op codes and things like
that whereas this is a little cleaner and it it and it feels like it is built sort of for Enterprises for me to have strongly typed schema some uh logic Tech and execute in the smart contract to validate my transactions uh but then raise up uh any logic that doesn't necessarily have to uh be on the blockchain and can be uh had running a shared environment uh by all the counterparties um and get better performance and scale and all that good stuff okay so I I think you've sort of started to to explain with your with your answer what we'll get to uh in a bit which is which is bletchly but if I can just uh rephrase that in in the way
that I that I conceptualize it is that uh with with this idea of blockchain 3.0 that um that Bletchley introduces what you're essentially doing is rather than having all of your smart contract logic State Storage uh and distributed Network within one system which is essentially what what ethereum does uh you you you decompose those components so you decompose the business logic you decompose you take out storage and and you take out State and you take out all those components you you split them up and then once you once you have that
um base architecture right where all of those components can be sort of modularized I mean sort of like like application development today where yeah uh you know you have your database over here you may have cloud storage over here you may have some other component over here and they all interact together that you're building this sort of modulized system uh but then the other component that this introduces is this idea that uh rather than trusting all of this to a distributed Network where it's completely trustless uh you can sort of pick and choose you know with every component what where's the where's the cursor right so if you want your storage to be fully distributed you can rely on
on a fully distributed blockchain type uh you know public network to do that uh but you perhaps some of those functions feeding into smart those smart contracts don't need to be fully distributed you can trust some sort of trusted source to execute that logic and provide results and that's okay and the people you know the the participants in that Network agree on that and like some interest rate for instance uh is that sort of a good representation of what BL is trying to do yes today's magic word is Bletchley b l e t c h l e y head over to let's talk bitcoin.com to sign in enter the magic word and claim your part of a listenting
[Music] reward so then let's let's talk about the architecture describe The Bletchley architecture for us if you may sure so um at the bottom U when you're you provision one or more blockchains um and uh so you can use ethereum you could use chain you could use Corda you could use you whatever you can actually use multiple ones so above that is this thing called the the criet fabric which is actually right now running in what we call Azure service fabric which is uh ENT entially a a cloud runtime that abstracts behind it could be X number of Linux VMS and X number of Windows VMS
depending on you know what you're using um and they're they're sort of abstracted from you it spins up more and more resources as you as you go along and it manages the instantiation and life cycle and fault tolerance of components that are running in it so this is that serverless environment uh that provides the runtime which we call the criet fabric um um the criet fabric itself it is that runtime of uh you register blockchains with it um you build um uh criet uh to run on top of it and criet are uh these discrete uh levels of functionality there's different types we have utility cets
which are usually thought of as Oracle type cets or Oracle criet um we have contract criet which are taking that logic for specific smart contract and executing that um and then within contract criet there's different types of contract criet as well but those those are the two basic types and uh you have the option of running these cets and an enclave so they can run in a secure isolated uh tamper uh proof uh environment uh that attests to the results so that they've they they run they ran and did what they say they they did uh without you having to put the
code on the blockchain but rather just the attestation of the signature uh for guarantees that your logic ran um as intended so and then above that um so uh the criet fabric exposes a um sort of an event driven uh API to blockchains underneath it so you can subscribe if you have a smart contract you can subscribe to an event um so like a a a market price every you X minutes uh you can set so time based you could set it as a threshold so let me know if oil goes above $40 a barrel or below and and when it does give me this price and this
index and then I'm going to do something on my Smart contract or you could do it based on uh so that's threshold you could do it um uh the other way around you could also have um them subscribe to events just like your CRM system so maybe your CRM system feeds into a kyc service that you're using and an event that might happen in CRM you want to flow in to your kyc system to update your um uh your know your customer system um that you have there so there's a whole bunch of that exposes a a surface level API as well um above cets where you can expose a criet functionality to a front end or another system can invoke a criet from the top
and have that transaction flow to the bottom the other key piece that uh the criet fabric does is it abstracts the underlying distributed Ledger from the criet so the criet has no notion or no real idea has no dependency on a specific blockchain um it's just running trusted executed code and sending out signed Json payloads um which then get additionally signed by an onclave if if necessary um the criet fabric then uh as it routes it has Bindings that will format messages for ethereum uh chain Corda and the like so it provides that abstraction for
developers to not have to especially if you're writing reusable components which is interesting you can write these things as a criet and have it work across all blockchains and not have to write one for each blockchain which makes it simpler maybe an example for this I remember once uh I talked or we talked with a bank and and they mentioned the issue of an interest rate swap right and and the thing there is that there are some calculations that you want to be done but you know calculations putting on a blockchain doesn't work very well uh because they're just the perform performance isn't nearly good enough so that would be a good case for example for a crippler right so you would find
that function you get executed on a criet and you can you can verify you know as participants on a blockchain you can see what was run in that cripp you can see what data was used as input what was the output so you know I could I could potentially run it myself check it uh so you have you know you have lots of performance uh benefits and potentially as you mentioned right you could you can have that CET as its own sort of Standalone almost like application providing kind of an API so if if we used different types of blockchain you could always plug into that same thing is is that that's kind of the what compus make possible right yeah and and you can also keep that algorithm
secret so yeah you run it faster and you might have a an IP in that algorithm that you don't want to share um so yeah it it it allows that as well so if if you kept the algorithm secret though then you know I would be able to see the input the output but I wouldn't be able to replicate you know if if I was some other participant on the Chain um I wouldn't be able to to replicate that right right unless you subscribe to that same service so from a and as far as the the writing of the blockchain you're just writing a value down um and you can depending on the level of trust
that you have so some counterparties entering into those things that's perfectly fine with them they they Trust that algorithm you know maybe it's coming from a third party so it comes from a Reuters for example um and they say yeah we're just going to use that we we trust it and it's going to sign uh with a signature and that signature is actually based off the hash of the code that we all reviewed um so we can attest that yeah it ran the code that we all reviewed uh and that's the output uh so we trust it but it you know maybe it runs in a collocated space for Optimal Performance and things like that so the Ripple guys once did this project which was uh shut down called codius uh it sounds very similar to to
klets is is it some of the same ideas or how how did they differentiate yeah C's heavily influenced the the first approach well actually the the second approach the first approach was for contract criet so how do we how do we pull logic out of the smart contract while keeping all the goodness of smart cont contracts in the blockchain codius was how do you do secure attested oracles um and so when we looked at codius I taught to the guys at Ripple and and it wasn't it was abandoned because it they didn't have the ability to scale this right they weren't a massive worldwide cloud provider to to stand up this infrastructure um and you know said hey we are I think we could
probably deliver something like this um it's not we don't have the hardware yet but it's coming and let's go Ahad and build the infrastructure such that there's a lot of people that have value to inject in these systems and give them a platform for exposing Oracle type behaviors in a criet that then Enterprises are comfortable consuming because you could have the best Oracle in the world but if the enterpriser doesn't trust you they're not going to use it so how do we how do we empower the the the smaller innovators and the software partners that we have and marry them up to these large Enterprises that that want their capabilities but don't know how to we can't have that Marketplace to bring them
together so this this idea of a criet I mean it is some sort of an oracle right it to to a Smart contract anyway the smart contract sees it as a as a source of data uh that the participants need to trust um and before the show we were talking about how that works can you explain for those who are saying I mean I can hear the Reddit comments and Twitter comments already uh where people like you know this is just you know non-trusted data being fed into a smart contract this is ridiculous can you explain how a klet can provide a trusted source of executed data so if if if you take a criet that would uh
execute some function like calculate some sort of a maybe we can get into some use cases but uh you know a criet that calculates some sort of a some sort of a a rate uh which would go into you know the a loan contract how can the participants trust that criet like what is the software and Hardware configuration that enables them to trust it if I'm a smart contract developer and I'm going to use um uh Oracle criet or utility criet um meaning it's going to provide me some result um it could be just a raw market price or it could be a computed value that um that I just need to have for my smart contract well when
I do that I essentially make a reference um to that smart contract that I can find I mean to that criet that I find in the each fabric has a a criet Explorer where you can discover Cripps what they do uh and you could subscribe to them uh the subscription process is essentially creating a binding between your smart contract uh and the criet uh the the requirements that you have when you're buying in that way is you have to have a call back function because it's an event so it's a pub sub model so the smart contract is subscribing to that and IT wires up the you know trust that says it's only going to accept messages from this criet address um so the criet signs it has an
identity and it signs its its messages with that signature so you can trust it that's just one level of trust um that the cripp can also be running in an enclave like I said it could be if you want that level now not not every criet needs that for most utility Cripps unless it's doing encryption it's probably not worth doing it um because you really have any secrets there you're just sort of unless your algorithm secret then you want to run an onclave you can um but essentially the the you you subscribe to it you say these are my um this is what I want you to let me know let me know uh if the markets were open that day and it's 4:00 Eastern Standard Time I want to no 9:00 a.m.
eastern standard time and 4:00 Eastern Standard Time I want you to give me the liore rate and the price of this commodity or this list of Commodities and so the criet will say okay I'll let you know and the criet goes out and runs it runs in the fabric the fabric makes sure that that criet is running that there's always an instance of it that will fire your event U it will if something goes wrong it'll fire up another instance so that you're you're guaranteed to get that event it will evaluate the condition of the event you subscrib to and if it's true it will get those values it will sign its payload um if it's running an it will send that message back through the U Back through
the criet fabric which will um um send it into the blockchain in that case it's um sending it you only have to send it successfully uh item poent if you will to a single node uh that will go to that smart contract um and then that U will get executed and uh sent around the rest of the the network that's the simplest mode that's um the Oracle contract um previously people would do oracles and they would you know inject oracles to a a separate smart contract and then your smart contract would watch that other smart contract and you would look at local events on the blockchain this is more saying okay I'm delegating that uh
Pub sub model where the events can happen out in the real world and be injected directly to me so that um I don't have this other smart contract uh out there and this intermediary uh that's uh there you could still do that there's no nothing stopping someone from doing a a queuing mechanism like that for smart contract and a criet as well but you can do that straight binding between uh a smart contract address a call back function and the criet um for an oracle criet so that's that's the sort of or of the that easy the easy case the the contract criet is or a control criet is the pattern we call is where you're taking
that logic out you're not just getting uh in the previous example you're just getting a a market data price or some calculation performed and then you're actually executing other Logic on your smart contract uh and you know persisting that if we don't need that to happen if we could actually do all of that logic and just write the results back we can then upshift and move all that smart contract code up into a criet um and the criet can then uh have a subscription to the market data criet that's who maybe firing that event so cets can talk to each other um so I can subscribe to other criet events that might be providing Oracle capabilities so it would give me its signed payload um and
then I would execute my Logic for my specific smart contract in that criet and then write the result results out now contract criet are mostly usually going to be running an enclave so The Enclave will attest uh that it ran in The Enclave uh unmodified and the results are are guaranteed and write that back down to the blockchain so the blockchain you'll have uh the results of the the computation of the smart contract and then you'll have the signatures of the criet and The Enclave uh so you'll be able to have that you know full trust audit uh capability between the counterparties um which is uh how a contract cpet will
work okay so it it really all comes down to the level of trust that you have in in in this criet I mean I I think that for uh for a lot of Enterprises this will make sense because you know there we're operating in a system that or There are rules and Regulation and Enterprise tend to uh trust each other when they are operating within the S of blanket of uh regulation and it seems to me like you you can then based on your needs on the specific use case uh that you're building you can set that cursor
for trust right so if yep if you need specific application logic to be distributed and because we need to be operating in sort of a trustless way you know amongst each other uh and you know these specific functions need to operate on a blockchain because that's the only way that we can achieve this trustless then that will that will suffice our needs y however for other functions um or other pieces of data rather than relying on say like a prediction Market to retrieve the data uh we're going to rely on a criet operating on operating on an enclave uh where we have the audit Trail for provisioning of the keys provisioning of the business logic and
functions themselves we can trace that we know it's happening on onclave so there's a high you know there's a high likelihood there's a low likelihood that that will get hacked or you know there's exploited uh and then so therefore we have a high level of trust in those results because we're operating in this um formalized regulated um ecosystem or framework uh and uh where where do you think this will go then because it's it's it's quite a ways away from intellectually from you know ethereum you know or yeah blockchain Technologies sort of a distribut everything
distributed you know the application stack with ethereum ipfs uh Big Chain DB you know we're TR we're we're completely trustless uh that's quite a ways away from that um but it seems like it's enabled by technologies that perhaps aren't fully available yet like that are not really commoditized such as enclaves um where do you see that going like where do you see this going in the next 10 years uh with with regards to how sort of blockchains and these centralized Technologies but highly trusted Technologies how will they interact together yeah I think it's a it's a really good point I mean that's a
a design choice and and what we're trying to do is inject that design choice in there so if you are on the completely trustless environment you know the smart having your logic in the smart contract is the the most appropriate way for you to uh to do that but in these semi-trusted environments which these Consortium blockchains are um this gives you that design uh as a software developer and an architect you go and say well where's the right place for me to do this based on the requirements um and and sort of move it based on that trust pendulum uh but also on the Privacy pendulum so again if you have algorithms that are that need to be private uh if I have um very complex counterparty multi-c
counterparty uh contracts where each counterparty has to maintain Secrets while validating the state uh and participating in transactions the klets provides a great framework for doing that um so I think what we'll see is uh as we start to roll out uh the criet fabric and you'll be able to spin up enclaves on demand so as a developer you really don't have to think about I don't know how to write an enclave for this chip architecture it's simply a a property that you check is it enclaved or not um and your criet um it's actually getting all of its services from a wrapper anyway um so you get that and it's sort of commoditized and easy
to do uh now as we star to roll that out um we wouldn't want you to put everything in an enclave if if it's not required because it is a more expensive uh it will be a more expensive because it's a option uh so you want to do it you know kind of selectively um but uh it's a it's a good Tool uh for doing that I think as it it rolls out and becomes more and more Commodities we'll start to see enclav being used not only on uh in the cloud but on uh desktops and on mobile devices as well uh so we already have enclav on phones a good bit um we have it uh on most uh uh Intel Desktop PCS that are generation six um have uh enclav and
capabilities whether or not the bias supports it or not so as we'll start to move this this type of secure execution we come more and more prevalent the the differences in in the cloud is is it's on demand um at hypers scale um and you only pay for what you use so you don't have to go out and buy all these this hardware and stuff so I think it's going to be um help the the evolution of of applications and we'll start to see more more capabilities uh come together but you still sort of need that that we get the best of both worlds so as a a developer in public ethereum uh you can then start developing Enterprise
applications but still use a lot of the same tools uh you you approach things with a very similar mindset um that the difference is is you start to say my co my logic is distributed different than my data and my state um and it's done at different trust levels whether it's completely trustless or semi-trusted to uh very discretionary trust in the execution layer cool one of the main ways of monetization as far as I understand with with Azure is simply that you know I'm I'm putting my application on Azure I'm using up some computational resources and I'm kind of paying by the computational step now I
can certainly see how that will continue to be a role right that you say okay we make aure the best platform for blockchain applications and that way we going to get more usage but are there also some novel different business models that you guys see emerging with blockchain on a yeah I mean so for Bletchley we would spent a lot of time talking about klets but there's also some core criet libraries that will be shipping and these will be this is functionality that we're exposing in Bletchley and these are the ones that are most commonly asked for one is identity uh so that is identity and Key Management we kind of pair together because they're very similar so we have
a in Azure we have something called Azure active directory uh we have a over 800 million um unique identities uh within Azure active directory it's the standard for Enterprises um to use active directories and it does Federation it has a lot of things out of the box for you multiactor authentication and things like that so we're going to be providing that as a um as a library as a service uh for distributed ledger so it'll be a part of the criet fabric and Key Management as well so issuing Keys U managing a life cycle of keys like key expiration key renewal um those types of things are pretty hard to do um we've got a lot of
experience in doing that and you tie that with Act of directory and you start to have the ability to uh provision Keys based on someone's identity um and start to provision things remotely so you can have nodes join a Consortium blockchain as long as you have the right credentials you can you know uh have a node join a particular blockchain and the certificates for that node to participate in that will be delivered through that same infrastructure so we're actually standing on the shoulders of giants here that's stuff that's evolved over 25 years uh so Azure actor directory is a piece of that the other piece is the key management something called key vault which is our globally distributed
hsms um the other one is um around cryptographic services so we'll have libraries out there available to you if you want to use homomorphic encryptions earon knowledge proofs um all sorts of things will be sort of libraries that are available there uh as well as uh a more distributed application patterns so we call those Gateway services so things like the BTC relay for ethereum to bitcoin that can be put in that Gateway you can write your own uh um multi- blockchain uh integration pieces but it has a distributed transaction coordinator and it has a a distributed Ledger resource transaction compensation
so if you've ever seen how resource transaction happens and compensation on a relational database it can roll transactions back we can't do that on a blockchain so we have to post uh corrective transactions so it's a modified version of that but those Enterprise development patterns uh for um complex transactions are being exposed there and those again are things that evolved through products like bis talk um and to allow your Bot chain systems to work with the rest of the Enterprise whether you have an Enterprise service bus or um you know any type of product plug it in and make it a first class citizen on networks okay cool well Marley we at the end of our episode so but thanks so much
for coming on and sharing a bit about Microsoft's Vision when it comes to blockchain and and the work you guys have been doing with Bletchley thanks yeah I think it will be very interesting to see you know not just uh how this plays out once Enterprises really utilize some of these tools that you guys are building that others are building and then we really going to see how that transforms the nature of organizations and how they work into fabric of of business processes uh down down the line I think that would be very interesting to see so we yeah with that we're at the end of our episode we are epicenter as part of the let's talk Bitcoin Network you can find this show
and other shows on let's talk bitcoin.com and and of course we if you want to help the show then please leave us an iTunes review helps new people find the show so thanks so much for those who do that and uh yeah with that we're at the end and we look forward to being back next [Music] [Music] week