- Coming up, we kick off a two-part series on blockchain
and the work that we're doing
to help you harness the technology in Microsoft Azure.
We're gonna start by explaining how blockchain works,
its broader application beyond cryptocurrency,
and for any multi-party process or workflow,
and what Microsoft is doing to make it easier to
for you to spin up the required infrastructure
and services to harness the blockchain,
and develop apps using the new Azure Blockchain Workbench.
(techno music)
- I'm joined today by JT from the Azure Blockchain Team,
welcome.
- Great to be here.
- So there's been a lot of hype around blockchain,
I'm sure a lot of people watching are probably
familiar with things like cryptocurrency.
Which is probably most associated
with blockchain today.
But the concept is still a mystery for a lot of us.
What is blockchain and how should people think about it?
- So we think of blockchain as an enabling technology,
with big potential.
At its core, you can think of blockchain as a shared
ledger for recording transactions in a secure,
and verifiable way.
In the case of cryptocurrency, this becomes a means
of transferring value authentically.
Without involving third party intermediaries,
such as credit card agencies, or banks.
Or introducing the risk of falsification
and tampering along the way.
- So what makes the technology then different
than say a relational database,
or workflow tools that we have now.
- Blockchain has two unique characteristics.
The first is that the ledger is distributed, or shared.
The second is that it's cryptographically immune.
- All right, so how does this all play out then
in a context of a ledger?
- So think of it as sort of a fancy Excel spreadsheet.
Or database with these two unique characteristics.
As I mentioned, it's distributed.
It's shared between multiple parties.
Each party has an identical copy or version of the ledger.
Whenever a new transaction is committed,
each participant on the networks nodes, are updated.
The second characteristic, is that the ledger
is cryptographically immutable.
So if I want to post a transaction to the ledger,
the network participants must agree
that that transaction is true or authentic.
This is done using a consensus mechanism,
and that the participants agree to use to verify
the authenticity and the validity of a transaction.
Because once the transaction is committed to the ledger,
it's signed and hashed and cannot be changed later.
- All right, so going back to our cryptocurrency example,
it allows users then to transfer digital
currency value with the underlying blockchain effectively
serving as a single source of truth to make sure
that it's a trustworthy transaction?
- That's right, and as we just saw,
because of the way blockchains are built,
no party can tamper with it or modify data entries.
- So in principal in the blockchain ledger concept
can be applied to really any multiparty process,
or an asset by moving across organizational boundaries.
Think of a supply chain, maybe even an application
for a loan, but, this is all cases
where you need some system of accountability.
- That's right, that's a good way of thinking about it.
It absolutely can.
So blockchain has big potential for more mainstream uses.
In the early days, blockchain was used to facilitate
the immediate transferring of value.
You could send value in near real time,
without the need of intermediaries.
When businesses started to get interested,
was when you could stipulate the terms
under which that value was transferred.
Using a mechanism called the smart contract.
These serve as sort of a digital representation
of a real world contract, with a set of conditions
and terms that govern the changes
that are made in the ledger.
- Right, and if you're keeping score at home,
these smart contracts were really first introduced by
protocols like a Ethereum or Corda who developed
new ledgers to really help codify contracts
as part of the blockchain.
- That's right.
Okay, so let's walk through a real world example
of what smart contracts might look like
within the blockchain world.
So let's take the example of an ice cream retailer.
The thing about ice cream is that it's gotta be
milked, it's gotta be manufactured, and shipped
before it's sold.
So there are at least three parties involved in the
process before the ice cream reaches the customer.
The dairy farmer, the ice cream manufacturer,
and the shipper.
As the ice cream retailer, I have terms with each
of these parties.
I may want contractually require
that the dairy farmer produce only organic milk.
I want my manufacturer to make the ice cream
according to my quality specifications.
And I certainly expect the shipper
to keep the ice cream cold, as they
move it across the country.
Because if it melts, and later refreezes
before I sell it, people can get sick.
- Right and in each case all the parties that
are involved here have a vested interest to make sure
that the ice cream is arriving safely,
with it stored safely, and everyone's using an SLA.
- Right, so as the retailer, I have contracts
already in place with these parties.
What we can do with the blockchain is codify
those contracts, and track the ice cream as it moves
across parties in the chain.
Validating that the contractual terms have been
met in real time, and writing those results to the ledger.
With this, you can tell where things are,
and you can have insight at any given time,
using the blockchain as a single source of truth.
This allows you to catch and correct issues as they happen.
For example, I could author a contract use IoT sensors
on the refrigerated truck to record the temperature,
and notify the network if a reading falls outside
of a pre-agreed upon range.
This reading can trigger remediated action downstream
for example, we could stop the store from taking delivery
of a contaminated ice cream truck.
- So this also drives them more efficiency's in that you
can remove potentially redundant spot checks.
Or people kind of testing the
product as it moves along the chain.
- That's right, so you can drive more accountability
into your multi-party processes,
without relying on third party intermediaries
or carrying the overhead of these look back audits.
- All right so, what are then we doing at Microsoft
to make it easier, if I'm a developer
to harness blockchain technology?
- So this is still an emerging technology,
but we've working with it for several years.
Microsoft supports many of the most popular ledgers,
including general purpose chains,
like Ethereum, Hyperledger Fabric,
as well as purpose built ledgers, it's like Corda.
The first thing we did was make it really easy
to deploy the ledger of your choice in Azure.
We give you the required infrastructures to set up
a consortium network, in a variety of topologies,
using a variety of consensus mechanisms.
And we've also created connections to
and integrations with a number of Azure's services,
that developers need to use to
build and run these applications.
- So, tell me more.
How do these services then work, and what are
we actually provisioning under the covers
to take advantage of these apps
and leverage the blockchain?
- So what we've seen in our work with customers is
that there are several ways
to make blockchains easier to work with.
For example, you may need to be able
to link your blockchain identities,
which are usually these long hashes
or certificates depending on the chain,
to a federated identity system.
So your users can log into an app with an email address,
and more easily interact with other consortiums.
- Much easier to remember than that 21 character hash,
that I use with Ethereum.
- Exactly.
So you may want to store your secrets and keys
in the cloud securely using a service like
Azure Key Vault.
You want to be able to ingest data from devices,
and manage events using IoT hubs or event hubs.
And we've actually written logic to transform
those messages into the format,
that's expected by the blockchain's native API.
And blockchains are not easy to query.
So you'll probably want to synchronize
on chain data with off chain databases,
like SQL, you can use this data to trigger
downstream actions using logic apps.
You can also use it for post processing analytics,
and visualizations using Power BI.
- Right, you might even use that off chain storage,
in those databases for things like documents,
or other data that's coming in that you're going to want
filter out as part of your smart contract process.
And the alerting it will generate.
- That's right.
So we've observed a pattern of the types
of services that developers need to build an application.
Sort of concentric circles of Azure services
that developers wanted to use,
and they spend a lot of time just scaffolding
those services together.
So recently, we introduced a tool called
Azure Blockchain Workbench, that quickly deploys
the blockchain network, pre-integrated with these
relevant Azure services.
So this means you can now spend less time on scaffolding,
and in just a few simple clicks,
we can get you up and running so that you can
spend more time on coding the smart contract
logic and defining your workflow,
and less time on scaffolding.
- So can you give us a quick look at that in terms
of what we provision out with
the Azure Blockchain Workbench.
- Absolutely, so this tool is available on the
Azure marketplace.
When you click get it now, your taken into the Azure
portal where you can figure and deploy the set of
services and software that make up the
Azure Blockchain Workbench.
So here you can see, it's going to ask me for my user
credentials for my virtual machines, and my databases.
Then asked me to configure my active directory parameters,
and finally, I'll be providing the configuration
information for the blockchain network
it will be deployed with the workbench.
So once you make the selections in this wizard,
the Workbench auto generates a web application for us.
So this takes a little bit of time,
but I've actually provisioned one here,
we can take a look at.
So this is a blank canvas now, and I believe
Marc Mercuri from our Azure Blockchain Engineering Team
is going to take us through how to use this canvas
to write our first smart contract.
But there's actually quite a bit going on underneath
the hood here, which I can show you.
So here, I've pulled up the resource group
that's associated with this canvas.
And there's a number of services that you can see
pulled up here.
So there's a set of API's, we have a rest based API
for client development, message based API for
system to system integration,
you can also see that we have key vault included as well.
And we have an off chain database,
we've chosen here is SQL to allow folks
without blockchain specific skills,
to work with the data and do
do downstream analytics and visualization.
- All right, so let's leave it there.
This is really amazing stuff, JT.
So hopefully this helps demystify blockchain,
bring it out of the pipe cycle and really
make it more pragmatic and real.
And now we're ready to build out our smart contracts,
which we're gonna cover in show two,
when we're joined by Marc Mercuri from the
Azure Blockchain Team.
So JT at this stage, where can people go to learn more?
- So as you mentioned, Azure Blockchain Workbench
is really intended to help customers embark
on the creation of their first blockchain application
and smart contract.
The best way to learn more about it
is to try it for yourself.
It's available on the Azure marketplace,
and you can also learn more at link shown.
- Thank you JT, and also stay tuned
for our deeper dive on blockchain with Azure,
coming up next.
That's all the time we have for today's show,
thanks for watching, and we'll see you soon.
(tech music)
No comments:
Post a Comment