4. What’s behind the mask
Azure Unchained
Pushing it to the Edge
0b101010
0b001010
0b101110
0b101011
5. What’s behind the mask … who cares!
Azure Unchained
Pushing it to the Edge
6. Keys
PRIVATE KEY: Sign transactions (combine the message with a
prvt key) and decrypt messages encrypted with the public key
PUBLIC KEY: Get the Ethereum/BC address out of it
Blockchain address: 20 bytes KECCAK-256(public key)
Azure Unchained
Pushing it to the Edge
8. The Lingo:
• Proof of Work – needed so that rewriting the transaction/ledger history is
impossible (unless 51% attack). Regulates the heartbeat for producing blocks
• Transaction – Changes the state of the blockchain
• Mining – Finding a solution to the crypto-puzzle as part of the PoW, measured in
number of nonces tried per second
• Block – the result of “Mining”. Valid only if it contains Proof of Work of a given
difficulty. The hash of a Block needs to be smaller than a self-adjusted target
value, in order to prevent flooding the network with blocks.
Azure Unchained
Pushing it to the Edge
16. Smart Contracts cannot securely interact with systems
external to the network
Losing your private key => will not be able to access your
account. No means to recover your blockchain resources.
Azure Unchained
Break the limits of the public blockchains
17. Azure “Project Bletchley”
• Cryplets – middleware facilitating the communication
between the Blockchain and any system
• Integration with Office 365, Azure AD, data services
(Cortana Analytics Suite) etc.
Azure Unchained
Smart contract + external systems
18. Azure Key Vault to the rescue
• Centralized key store
• Will be able to recover your account
• Will require encrypted channel (TLS) when interacting
with the key vault for picking the private key
• DevOps effort will be reduced
Azure Unchained
Keeping your private keys safe
21. • Proof of Work and 51% attack
• Proof of Stake
• Contract External calls
• Contract addresses may be guessed, so do not assume
those have 0 coins
• Block timestamps can be forged by the miners
Azure Unchained
Security
22. • Communication delays in private chains might lead to
51% attack
• Blockchain mechanisms are relatively new and many are
in research phase
• 0 cost attacks
Azure Unchained
Security Risks
23. Azure Unchained
Ethereum in Azure
Ethereum Consortium Blockchain
Demo
• SSH into the machine
• Start geth
• Use the Mist browser for connecting to the provisioned Ethereum
network
• Transfer ether between the Mist node (the one running in Azure)
and the MetaMask accounts (running locally)
24. Azure Unchained
Ethereum Studio
Demo
Hello -> multiplier:
• Create contract ‘Hello’
• MetaMask intercepts the request
• The Contract is set
• Contract Address is available
• ABI (interface definition)
• Byte Code
• Call ‘Hi’
25. Azure Unchained
Smart Contract (browser-solidity)
Demo
Hello World:
• Create contract
• MetaMask intercepts the request
• The Contract is published
• Contract Address is set
• ABI (interface definition)
• Byte Code
• Call ‘Hi’
Keys: Private-Public keys are used to uniquely identify the participants in a given contract/transaction
Cryptographic hash: Ethereum SHA-3 != (KECCAK-256)
Data structure: Merkle tree
Keys: Private-Public keys are used to uniquely identify the participants in a given contract/transaction
Generate private key e.g. through openssl -> elliptic curve private key -> openssl –ec …
Get the public key out of the private key -> Apply KECCAK-256 sum
Import via the Ethereum CLI “geth” (account import)
Create private key DEMO?