[Music]
so as you all know Microsoft is our
Premier U Premier sponsor of Devcon 2
and Marley gray who is of uh blockchain
engineering and the head of blockchain
engineerings is here to uh both speak
and give an introduction
um and come on up Marley give a hand for
Marley gray please
Microsoft thanks
[Applause]
me good
morning I think I should thank Roman for
getting you guys wasted last night so
nobody's here this morning to see see
this so uh the the title of the speech
this morning is a lapon criet but um
what I really want to do is take a trip
down memory lane uh which was late July
2015 when Frontier was released was when
we officially started playing with
ethereum um such that we then launched
with ethereum together uh using with our
partners consensus uh and started down
the uh ethereum block chain is a service
so I always feel like uh the journey
with uh a lot of people point to
Microsoft being an early adopter of
Bitcoin that was a sort of an experiment
our our uh Learning lesson for us to
really Embrace ethereum so uh I don't
want to tell you what I had to go
through to get the sponsorship for last
year's Devcon uh it was not pretty uh
this year's Devcon sponsorship was quite
easy uh for me to do it's a lot more
money as
well um but uh you know ethereum just to
set the the stage here for Microsoft's
commitment here is you know ethereum as
a first class citizen will continue to
be a first class citizen in our
distributed Ledger efforts um at
Microsoft um and it is um it dominates
our Marketplace um and our customers are
using it uh and asking us um and and
with that um we're going to um I've got
some things we're doing U I have a lot
of Partners in the room I think almost
everyone should be partner if you're not
uh please talk to your Microsoft
representative if you're a small startup
we have programs called bis spark I know
a lot of you have taken advantage of
that encourage you to do that um and
we'll be talking some more about the the
other things later but this morning I
want to announce um proud to announce
Bletchley version one so Bletchley is
our code name for everything uh
blockchain at Microsoft and uh let me
explain a little bit about what that is
and I'm going to walk you through
uh what V1 means um but blly the the
architectural diagram over here is sort
of the big picture and you'll see
ethereum is quite prominent here so our
distributed Ledger stack down at the
bottom this is what we call our
distributed uh infrastructure or blle
distributed infrastructure we are
shipping version one a
Consortium ethereum uh private Network
um starter so you can go on ethereum any
customer can uh instead of just spinning
up a single node or a single death test
lab you can actually spin up a full
Consortium Network and I'll go through
exactly what that means a little bit
later on you'll see this in the Press we
we release these announcements this
morning I timed with this keynote it's
hard to time those things I was up at
four o'clock in the morning S I know you
were up at like
three working on this stuff so uh we'll
walk through this but you know ethereum
is the first class we're going to walk
through that um I'm going to first walk
you through uh
criet so uh we introduced criet um in
June as a um a middleware um approach
for um taking blockchains or bringing
blockchains into the Enterprise all of
our interest from our major uh
Enterprises are trying to figure out how
consortiums will get together to take
advantage of this distributed uh Network
promise so criet is is uh how we sort of
get our head around this uh and we look
at it as a new tier so those of you that
have some gray hair um we'll remember
the pain we went through went from
client server to three- tiered
architecture in the web very similar to
the pain that um we're experiencing in
The Growing Pains uh within distributed
ledgers or
blockchains and um so there's a lot of
missing parts that enterprises want they
want things like some people call them
ill list but it's essentially
scalability
manageability um you know those those
types of things um so we we identified
these these key things like identity
existing systems integration Key
Management not just storing your keys
but managing the entire life cycle of
your keys it's a very difficult thing to
do uh and do correctly um Security in
depth uh just the number of talks
yesterday on security uh I don't think
we even had a topic on it last year
maybe one or two um but uh we're really
getting to the point where people can uh
start Building Solutions uh industry
specific Solutions Financial Service is
the is the largest but we're going to
see them in healthcare media uh Supply
chains huge all over the place um so uh
criet is our uh sort of our catchall for
delivering these capabilities uh in the
cloud so um with the introduction of
oracles um you know the how do you get
data injected or real world data
injected into a blockchain oracles came
out um but it's more than just trusted
data it's how do you get trusted
execution we need a very flexible and
malleable execution platform where you
as an architect or developer can make
the right decisions based on what you're
trying to do um and have clean
separation of concerns in your code
which is something um in the Enterprise
um is uh paid a lot of attention to so
things like doing things at specific
times or specific intervals uh doing
things based on triggers you can have
Market watches um you want to be able to
also protect IP if you have algorithms
that you have you don't want those
algorithms you know in the clear on the
blockchain you want to protect those you
might want to scale an algorithm you
might want to have better performance
than a blockchain uh can offer you how
do you achieve that while still getting
the benefit of a distributed Ledger and
then complex interactions when we start
getting into Enterprise systems you get
into complex uh distributed transaction
coordination where you're not just
updating an ethereum Network you might
be updating a CRM system uh old host
mainframe system an Oracle database a
CRM system and the ethereum blockchain
system in a single transaction how do
you do that well we actually know how to
do that and that technolog has been
around since the Turning part of the
century uh because we had to go through
those gr pains when we went to the web
so we want to be able to use those
things and also use libraries like net
and Java and you know pick your your
platform is yours not just going to be
about uh single language develop it we
need choice choice in platform and
choice in language so I'll put this in
here I'm not going to go through this
chart um some of the things that criet
uh I'll go through the key points uh for
this audience um getting secure data and
oracles have been around for some time
it's still A New Concept for a lot of
people how do you get real world data in
there uh oracles um really don't provide
a standard way for you to have
attestation of that data cets provide
that to you by default but criet does
more than that it's more than secure
data it's also secure execution how can
you enlist complex execution tasks off
the chain while uh keeping that
integrated uh developer um and business
and operational experience and also
create a Marketplace uh for developers
in this audience you might come up with
criet ideas to create a cripp library
that you can put in the marketplace and
sell to a specific industry they can be
vertical and hor Al in nature so there's
a lot of infrastructure here um that
that we're building uh to to wire this
up uh we are making um our goal is for
the criet fabric is what we're calling
it or the the blockchain criet fabric to
be easily uh consumed by developers so
you'll be simply being able to make uh
or discover cets out on the market place
references to them um declaratively
State what you want to do in code with
those cets um and have the
infrastructure just work uh and you be
able to focus on getting your code to
run and accomplish the business goals
that you trying to build so the goal
here um and this diagram is
oversimplified greatly down on the right
hand side we have a node this is the evm
that has this thing called a crypto
delegate which handles the delegation of
calls out to the cets uh criet manage
the entire uh security envelope so we're
essentially extending the trust envelope
for not just data but execution which
gives you lots of interesting things
that you can do so let's talk about some
of the use cases so the most common one
people think about are for oracles and
this is where you're going to want your
smart contract to do something based on
an event so it's a traditional Pub sub
type model where you're going to go and
say hey I need to um uh I want to have
this criet do something for me in this
case down here in the code which you
can't read but uh we have a little uh
attribute here where we're subscribing
to an event saying wake me up at 4:00
Eastern Standard Time if the markets
were open that day and if they were open
give me the liable rate and the price of
gold and what's going to happen is that
a subscription goes up the criet gets
the the rules for waking up that smart
contract and says okay I'll wake you up
when it's 4:00 if the markets are open
the price of gold and the liable rate so
the criet sits there and runs and EV
checks and when the event conditions are
correct it fires the event the event
payload includes an attested value of
the Lial rate and the price of gold now
you not just get the values but you also
get a three-way attestation you get the
uh signature of the criet itself you get
the signature of The Enclave which I'll
talk about here in a moment and also the
attested Hoster so you have this trust
envelope which is actually sealed
um and you can uh record all that in the
smart contract for audit
purposes so that one's the easiest one
to kind of get your head around the
second one's a little bit more advanced
and it's really taking this three-
tiered architecture to an a little bit
further
extent um this is what we call control
and this is where you're using your
smart contract more as a traditional
database so your smart contract you're
placing uh you're declaring essentially
the data that you're keeping track of
and then the stored procedures if you
will for updating that data so um you're
not writing crud functions but you're
doing um the up uh the insert um or the
create and um the read functions for the
data in the smart contract you are then
uh enlisting control surrogation so full
um surrogation of your logic out to the
criet itself so the criet can run
offchain and you can scale it vertically
so it won't run on every single node um
you can have it run on at least one or a
couple of nodes and this usually becomes
uh attractive to Consortium uh networks
where you have for example a hedge fund
and a bank entering into a a financial
trade that has to have greater
performance there might be an algorithm
uh for pricing that needs to be kept
secret um and that can be run in the uh
criet itself off the chain but but still
preserving the goodness of the
distributed
ledger so when you bring these into
practice these two use cases fall into
these types of criet so utility criet um
here's an example again I doubt you can
read this code but this is a smart
contract here I'm marked in yellow where
the event subscription happens this is
the exact same uh description I used for
event where you're subscribing to an
event for a specific time if the
Market's open for certain rate um to
give you a rate in a price of a
commodity in this case and uh what
happens is you simply uh requests that
the uh crypto delegate wires up um the
secure connections between the smart
contract and the criet itself so it's
just like a secure reference so a
developer at design time will reference
the criet they want to trust the
signatures are recorded and IT wires up
that and the crypto delegate can also
check and enforce that the messages only
come from that criet um so it wakes up
the smart contract to go ahead and
execute the code you see the code body
itself down here the the solidity code
has all the calculations that we're
performing so that's going to run on
every single node uh once that is been
seated the contract triplet is um
actually deployed in this case we're
using the uh deployment uh mechanism to
actually create the surrogate for the
smart contract in the cloud so it goes
through the crypto delegate and it goes
out and creates the contract criet uh
the contract criet doeses all the market
watching all of the uh logic and
execution to it's ready to store its
state in which it uh Records the state
down to um the smart contract
itself now here's uh where the real
value is every like hey I can write this
on my own I don't I don't really need
why would I use um Azure to do this well
the advances in um silicon and the
Hardware security uh namely Intel's sgx
um provides the capability for you to
create secure enclaves so an enclave if
you're not familiar with what sgx does
is it's uh area of um on the chip itself
that's an uh complete isolation where
you can run code and have data run uh
where it's tamper resistant and tamper
proof so you can't uh poke into it you
can't um Step On A Memory address space
to to go out and and um corrupt or
potentially um um interrupt the
execution of something um so this
Enclave provides a secure container and
then it provides full attestation level
at the CPU level that this was actually
uh
built um in the enclave and run in an
enclave now when you're starting to
build uh Solutions like this and you
want to get scale and you want to have
security and attestation and you're
trying to land that big contract with
the bank or some somebody that wants to
make sure that your security is Rock
Solid if you can make guarantees that
your code is running in a secure
isolated container in the cloud full
attestation um on in Silicon and
recorded into the blockchain um it gives
that level of security um that really
you can't get anywhere else at scale
because you're going to be able to
deploy this and in Azure and Azure has
been deployed in over 30 some odd
regions around the world there's several
here in China uh so you'll be able to um
deploy these across the application
fabric with an Azure now we're going to
be uh delivering these enclaves in what
we call a criet container uh cppc
container is essentially an enclave
based uh container wrapper where you
inject criet in there the criet are
written in the language that you want to
Target so in this case um the first one
will be the net core CLR that's the open
open source Uhn net version uh uh cripp
container then you can write it in C you
heard some of you might have read about
fstar um so you have lots of language
choices there also in the jvm which is
also very popular in the Enterprise and
then um you know the evm itself moving
into an enclave so uh this type of scale
uh rolling out this type of innovation
in these massive data centers where you
you have on demand secure execution
provides you with this five benefits so
um hyperscale um Cloud secure execution
and enclaves on demand worldwide same
thing for data um and data providers so
you can start to mix and match you might
have a great data provider for some sort
of data service um and you want to uh
create criet libraries that you can put
into the marketplace and make
discoverable you have scalability and
flexibility options now that you don't
have um and you have them at scale so
you'll have the developer tools you have
the ecosystem you have the marketplace
and the cloud where you can go out um
and not only scale Your solution but
also scale your execution off the
blockchain if you need to so you have a
lot more choices uh very uh developer
friendly so you'll see lots of tool
integration um and an ecosystem for um
isvs to start start Building Solutions
and a standard way we're not uh you know
you get a common way to do something and
it becomes fairly readily accessible
around the world and something that
becomes attractive to larger
Enterprises so that has um if you're
curious about that uh today we released
the white paper for criet in depth um to
go out this again is uh thank you it is
out it uh it almost didn't get out
because of the network here I had to to
uh to uh push it up to GitHub this
morning and I I thought it was going to
choke on it it is 26 pages long uh but
uh it has some uh fairly good detail
about
cets um but that is coming uh we're
building that now um so you're not going
to be able to go out and start writing
criet tomorrow or today I know some of
you I watch presentations you start
before the presentation is over I see
people you know downloading code and
starting to try things out can't do that
yet but you can read the spec so you can
start planning for it and thinking about
new Solutions new business opportunities
for
you um what you can do today and I'm
proud to announce is Bletchley V1 and
this is our uh ethereum consorti
blockchain network ethereum is the first
again in the marketplace with a uh and
this is anywhere from two to hundreds of
nodes uh by answering uh a couple of
simp simple questions so when we went
down this and we started to say okay
what does the Consortium Network look
like for ethereum so we we do this a lot
we have a lot of companies come to us
and say hey we want to start a
Consortium you know how do we set these
up it's not a private the private
etherum network is easy install a node
and you you stand it up so uh we had to
go through and figure out you know what
are the requirements this list of
requirements we saw uh consistently
takes about three weeks to get right
that's everything from network
configuration
isolation where do you want to put your
miners where do you want to put your
transaction nodes how do you automate
this so it's it's very fast and easy to
do so we took this three-week process
and we got it down we eliminated all but
two of the
steps okay you still have to read up on
how to do ethereum once you deploy an
ethereum Consortium Network you still
have to understand you know how to write
a smart contract um but uh we we we did
all this and we got it down to five
minutes answering eight simple questions
questions and you can deploy again as
little as two to hundreds of nodes on a
private uh ethereum Consortium Network
which is staggering we thought we did a
great job going in from two days to 20
minutes for a single ethereum node to uh
this massive Network that you can deploy
in very little
time so thank you thank you thanks Sid
Isaac those guys are out here they were
at 3:00 in the morning making sure that
this so you guys can find this the link
is uh out on Azure right now you can
find the blog post it'll take you right
there this is uh real quickly what it
looks like it creates multiple subnets
um and it puts each Consortium member in
its own separate subnet uh for example
the miners are on their own subnet you
can't reach the miners from the internet
you can only reach the miners from the
transaction nodes and the transaction
nodes are on a separate subnet as well
so we put a quite dat a quite a bit of
thought into this uh it also stands up a
portal seeds the network with ether um
and you can go out immediately go to the
portal uh we are um uh allow you to
really quickly get up to to speed and
and show your network running something
our customers have really wanted to see
so I want to leave you with a little bit
of a road map um where we're at so um
earlier this summer we released Dev test
labs for blockchain as a Serv service in
general availability so around the world
you can go out and create a Dev test lab
if you haven't done that it's very easy
that's where you can see all the not
just ethereum but all the other
blockchains that you want to build um BL
cv1 is ethereum only right now um first
on ethereum First on Azure for
Consortium Network um kakuda is our uh
security work group some of you probably
seen that Community we'll be publishing
uh more information about fstar the
tools for formal verification to the
community uh to help facilitate and move
that effort forward through Microsoft
research and then uh in sometime in the
near near future in a distant galaxy far
far away uh we'll have releasing the
Bley SDK actually it shouldn't be that
far and it should be in this galaxy so
with that I'd like to thank everyone for
your time and uh enjoy the rest of the
show thank you Marley
Gray
[Music]