-- This presentation was made during Serverless Summit 2017 - www.inserverless.com --
In the next wave of developing serverless apps we will need a secure, auditable and persistent store that complements the rich features provided by serverless code and hence the discussion around Blockchain. In this session we will discuss how quickly and easily we will be able to build Blockchain networks on Azure to be utilized as data stores for your serverless apps. We will also discuss the vision and offerings of Microsoft in the Blockchain space to make it more enterprise grade and production ready.
4. 4
That decentralizes data in a trustless environment
Traditional System
Centralized system with
stored ledger
Blockchain System
Distributed system with
distributed ledger
§ Traditional ledgers are centralized and use 3rd
parties and middlemen to approve and record transactions
§ Blockchain safely distributes ledgers across the entire network and does not require any middleman
§ The technology maintains multiple replicas like p2p torrent file sharing
17. 17
Escrow time & costs can be reduced or eliminated
§ The buyer puts money into an escrow account until the conditions of the sale are satisfied, at which point payment is made to the
seller
₋ The conditions are obligations that must be fulfilled, such as passing an inspection
§ Escrow companies usually charge .2% of purchase price and can take several days to process paperwork. With blockchain, this charge
can be significantly reduced and process time can be reduced to minutes
§ Smart Contracts make it possible to codify real estate escrow terms
Make payment to seller if the
following terms are met:
• House inspection results in
no issues
• Both buyer and seller agree
on sale
Otherwise terminate contract
if terms are not met or if
time period exceeds 45 days
Consortium Blockchain System
Decentralized consortium
of banks/lenders
Smart Contract part of
blockchain
19. 19
Architecture
§ Two servers – mining is computationally intensive, so it is done on a different VM
§ Keys are stored and managed on the client geth node
§ State of smart contracts is replicated to local database for quick retrieval – updates occur due to contract events
§ Geth backend can be swapped for a private network with an arbitrary number of nodes once ARM templating work is done
Client geth
node
Node.js Web
Server
Server 1
Client
Mining geth
node
Server 2
MongoDB
(local state)
25. 25
3 – Build enterprise-ready blockchain middleware
§ The Blockchain Middleware will provide core services,
which will help users create and build on top of
blockchains within Azure
§ The core services can be broken down into the
following:
₋ Identity and Certificate Services – Helps with
authentication, authorization, access, and lifecycle
management.
₋ Encryption Services – Provides encryption for
blockchain transactions and fields
₋ Cryptlet Services – Provides runtime for cryptlets
and communication between blockchain and
cryptlet trusted host
₋ Blockchain Gateway Services – Provides
communication between multiple blockchains
₋ Data Services – Rich data services, such as
analytics, auditing, and machine learning
₋ Management and Operations – Tools for
deployment and management
POCs
HealthcareRetail & CPG GovernmentDiscrete
Manufacturing
Banking,
Capital
Markets
Distributed Ledger Stacks
Azure
Horizontal SaaS & Adapters
3rd
Part
y
3rd
Party
3rd Party
DL stack A
1st
Party DL Stack
1st Party 3rd
Party
Blockchain Virtual Machine Adapters
Smart Contract-based UTXO + others
MiddlewareBase Platform
3rd Party DL
stack B…
3rd Party DL
stack C…
…..
Industry Solutions
Blockchain Resource Provider
CryptoDelegate & Cryptlet architecture (secure containers, attestation, etc.)
Professional Services & Support
Identity &
Key Services
Crypto
Services
ML & BI
Services
Distributed
Ledger
Gateway
Services
31. 31
Each transaction has a unique digital signature
§ At the core of a blockchain is the ledger, which represents the history of transaction data
§ A transaction is an exchange of a digital asset from one account to another
§ Transactions between parties are broadcast to the blockchain network. Those transactions are then appended to the ledger
§ Each transaction message, in addition to the digital asset and the accounts, has a unique digital signature, which ensures the
authenticity of the message and that it originated from the right account
§ Private keys are used to create signatures while public keys are used to verify signatures
§ The unique digital signature ensures no node within the blockchain can modify the transaction message
32. 32
Blockchains create a transaction chain that maintains the history of ownership of an asset
§ The ledger itself does not keep track of digital asset account balances, it simply records transactions
§ Instead of balances, ownership of digital assets is verified by links to previous transactions, using the immutable history inherently
available in a blockchain solution
§ For example. For Alex to send $500 to Katie, he must reference previous transactions where he has received $500 or more to prove
that he, indeed, has that much money to send. These reference transactions are called previous input transactions. The current
transaction(s) is called output transaction(s)
§ Validity of each transaction is based on the validity of previous transactions, which is shared.
FROM TO PROPERTY VALUE
Alex Katie Payment $500
Transaction
From: Alex (0xf5e…)
To: Katie (0x992…)
Amount: 500
Inputs: 0x56e…,
0x987…
Digital signature
0x23e423s3234…
Transaction
From: Garth (0xas2…)
To: Alex (0xf5e…)
Amount: 200
Inputs: 0xtd6…,
0xj7d…
Digital signature 0x56e…
Transaction
From: Sally (0xkj5…)
To: Alex (0xf5e…)
Amount: 300
Inputs: 0xkf7…,
0x9dh…
Digital signature 0x987…
Previous transactions
Current transaction
34. 34
Consensus is used to add blocks to the blockchain
§ Transactions not yet placed in blocks are called unconfirmed or unordered transactions
§ Blockchain uses a consensus mechanism to determine the next block. This consensus mechanism ensures trust and accountability
instead of a middleman
§ There are several types of consensus mechanisms, such as Proof of Work and Proof of Stake
₋ The act of producing a proof is called mining
§ Proof of Work is used in Blockchain 1.0. It relies on the difficulty of solving a mathematical problem. Producing a proof of work can
be a random process with low probability so that a lot of trial and error is needed before coming to a solution
§ Proof of Stake is used in Blockchain 2.0 and is an alternative to Proof of Work. Instead of relying on power-intensive work, Proof of
Stake relies on ownership of digital asset. In other words, a node owning 1% of digital assets can mine 1% of the blocks
§ Once transactions are confirmed via a consensus mechanism, the information is stored in a new block
35. 35
Build enterprise-ready blockchain middleware
HealthcareRetail & CPG GovernmentDiscrete
Manufacturing
Banking,
Capital
Markets
Media
Distributed Ledger Stacks
Azure
Horizontal SaaS & Adapters
3rd
Party
3rd
Party
3rd Party
DL stack A
1st
Party DL Stack
1st Party 3rd
Party
Blockchain Virtual Machine Adapters
Smart Contract-based UTXO-based or other
Middleware TierBase Platform Tier
3rd Party DL
stack B…
3rd Party DL
stack C…
…..
Industry Solutions
Blockchain Resource Provider
CryptoDelegate and Cryptlet architecture (secure containers, attestation, etc.)
Professional Services & Support
Identity & Key
Services
Crypto
Services
ML & BI
Services
Distributed
Ledger
Gateway
Services
§ The Blockchain Middleware will provide core services,
which will help users create and build on top of
blockchains within Azure
§ The core services can be broken down into the
following:
₋ Identity and Certificate Services – Helps with
authentication, authorization, access, and lifecycle
management.
₋ Encryption Services – Provides encryption for
blockchain transactions and fields
₋ Cryptlet Services – Provides runtime for cryptlets
and communication between blockchain and
cryptlet trusted host
₋ Blockchain Gateway Services – Provides
communication between multiple blockchains
₋ Data Services – Rich data services, such as
analytics, auditing, and machine learning
₋ Management and Operations – Tools for
deployment and management