- blockchain basics · 2018-10-15 · blockchain rules select blockchain technologies (ledger,...
TRANSCRIPT
- Blockchain basics
- What is Microsofts position
- How to get started?
- Smart Contract Coding
Agenda
How does it work?
What is Blockchain?
Secure
Shared
Distributed
Motivation for Blockchain?Traditional System
Centralized system with stored ledger
Blockchain System
Distributed system with distributed ledger
Tokenization
object Secure digital representation
username & password,
biometrics, …
Digest
0x27a38fd67d1233…
Digest
0x27a38fd67d1233…
0x12834ae7f7e9bc…
0x002142fdc61b22…
0x9f214bc2143a04…
…
Digest
0x184a3b1dd2ef34…
Block of chained tokens -> Blockchain
0x9786724cfe929122…
Transaction
0xa01312bc92df9211…
0x9786724cfe929122…
0x7982144fa241b27c…
0xa01312bc92df9211…
authentic
transparent
shared
How we gain trust (or: what‘s mining?)
0x??????????????????…
Consensusauthentic
transparent
shared 0x12834ae7f7e9bc…
0x27a38fd67d1233…
0x002142fdc61b22…
???
find a hash < 0x01…
Proof of Work
Why Microsoft?
Blockchain | Current & Evolution
Blockchain 1.0
Simple State
Machine
Blockchain 2.0
State Machine +
Code
Blockchain 3.0
State Machine + Code
0x1117292138928edc23dc21323c
Property
Value
0x893423022ef8s92d1223412dds321ac
0x1117292138928edc23dc21323c
Property
Value0x893423022ef8s92d1
223412dds321ac
Codecontract accountRegistry{mapping (string => address) accountMap;
function accountRegistry(){….
0x1117292138928edc23dc21323c
Property
Value0x893423022ef8s92d1
223412dds321ac
Codecontract accountRegistry{mapping (string => address) accountMap;
function accountRegistry(){….
Cryptlets
What is missing for enterpise use cases?
• Identity Management
• Integration
• Performance
• Governance & Compliance
• Contract Management
• …
Blockchain Infrastructure made easy
ARM Template
Why Cryptlets?
Blockchain Ledger
Today
Cryptlets
Coding „Best Practices“
Computes „Gas Consumption“
Prevents Compiler Attacks
Kinakuta – Static Contract Analysis
F*
"PUSH1 0x03 JUMPDEST
PUSH1 0x01 SAWP1 SUB DUP1
PUSH1 0x02 JUMPI PUSH9
0x010000000000000016 JUMP
JUMPDEST PUSH4 0xbadf000d
PUSH1 0x11 SSTORE STOP“
F*
How to start?
Use cases
Financial
ServicesCredits scoring,
Clearing,
Complementary
currency
ManufacturingSupply chain
tracking,
replacement part
tracking
Commercewarranty tracking,
loyalty programs
Automotiveelectric charging,
insurance tracking
Public Sector
Organ donation,
land register,
ressource tracking,
voting
Best PracticesPro
• Don’t start technologically
• Don‘t replace, but re-invented
• Ensure that digital identity can be
derived (Hashing)
• You are not alone: share in
consortiums and involve
additional stakeholder
• If required, make sure, additional
information can be stored
securely off-chain
Contra
• Some transactions are not suitable
for a distributed consensus
process
• Blockchain is not required if you
are the only participant or a single
instance carries all the trust (PKI is
not dead)
If you can hash it, you can use it in your blockchain
Process
Specify
Business ModelUse Machine Learning
and Advanced Analytics
Define
Blockchain
Rules
Select Blockchain
Technologies(Ledger, Consensus, Sidechains, P2P, etc.)
Distribute
Ledger
Match with existing needs
Quantify market readiness
Identify Risks and Blocker
Plan for
Run and
Scale
Blockchain Innovation
Core Process
Analyze & Improve
Incentive Alignment
Who
What
When
Why
BMI Workshop
Centralized vs. Decentralized
Smart Contracts
Trading by using an escrow
Escrow
Buyer Seller
Naive Smart contract as escrow
Escrow
Buyer Seller
Solid Smart contract as escrow
Escrow
Buyer Seller
Code is Law!
We don‘t need weapons, we code!
© 2016 Microsoft Corporation. All rights reserved. Because
Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft,
and Microsoft cannot guarantee the accuracy of any information
provided after the date of this presentation. MICROSOFT MAKES
NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE
INFORMATION IN THIS PRESENTATION.
Vielen Dank