SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
@benji_fuentes @niteshpthakrar#Devoxx #Hyperledger
Introduction to Blockchain
and Hyperledger
Benjamin Fuentes
Nitesh Thakrar
IBM
@benji_fuentes @niteshpthakrar#Devoxx #Hyperledger
https://ibm.box.com/v/devoxxUS
For Part 1:
Bluemix account: https://console.ng.bluemix.net/registration
Docker: https://docs.docker.com/engine/installation/#platform-support-
matrix
Docker compose: https://docs.docker.com/compose/install
Postman: https://www.getpostman.com
For Part 2 & 3:
Java JDK 8:
http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-
138363.html
Eclipse: https://www.eclipse.org/downloads
Eclipse Maven plugin: (you can use the one embedded on Eclipse)
Eclipse Gradle plugin: (depending on the version, it can be already
included or https://projects.eclipse.org/projects/tools.buildship)
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Agenda
• First part (1H)
Introduction to Blockchain and Hyperledger (30min)
Use Blockchain As a Service on Bluemix Cloud and start a network
locally (30min)
• Pause (15min)
• Second part (45min)
Create a smart contract (in Java or Go)
• Pause (15min)
• Third part (45min)
Develop the client side (HTTP API or JAVA/HFC SDK)
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Blockchain
• Introduction
• Hyperledger
• Blockchain as a Service
(on Bluemix Cloud)
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Blockchain - Introduction
A blockchain is a distributed database,
introduced by Bitcoin (2008) on Satoshi Nakamoto’s
white paper, that maintains a continuously-
growing list of data records that each refer
to previous items on this list and is thus
hardened against tampering and revision
Distributed systems answer to a problem called
Byzantine Generals’ Problem described by Leslie
Lamport (1982)
As today, blockchains can be used to write distributed
applications named “smart contract” or “chaincode”
Mesopotamian
ledger
Byzantine Generals’
Problem
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Blockchain - Hyperledger
Hyperledger (or Hyperledger project) is a cross-
industry collaborative effort to create blockchain-based
open standard for distributed ledgers for globally
conducted business transactions under the Linux
Foundation
The project aims to create an open-standard,
public, decentralised public ledger based on
blockchain technology to advance worldwide
business transaction processing in terms of cost-
effectiveness, speed and traceability
More than 100 members
Fabric
Sawtooth Lake
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Blockchain -
Blockchain as a Service (on Bluemix Cloud)
IBM is the only provider that gives you access to a
permissioned Blockchain as a Service on its catalog of
services
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric V0.6
• Actors
• Components
• Interactions
• Architecture
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric - Actors
The business user, operating in a business network. This role interacts with the Blockchain using
an application. They are not aware of the Blockchain.
The overall authority in a business network. Specifically, regulators may require broad access to
the ledger’s contents.
The developer of applications and smart contracts that interact with the Blockchain and are used
by Blockchain users.
Defines, creates, manages and monitors the Blockchain network. Each business in the network
has a Blockchain Network operator.
Manages the different types of certificates required to run a permissioned Blockchain.
An existing computer system which may be used by the Blockchain to augment processing. This
system may also need to initiate requests into the Blockchain.
An existing data system which may provide data to influence the behavior of smart contracts.
Blockchain
User
Blockchain
Developer
Certificate
Authority
Blockchain
Regulator
Traditional
Processing
Platform
Traditional
Data
Sources
Blockchain
Network
Operator
U
R
D
O
ü
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric - Components
Membership
Smart Contract
Systems
Management
Events
Consensus
Network
Wallet
Ledger Contains the current World State of the ledger and a Blockchain of transaction
invocations
f(abc); Encapsulates business network transactions into logic code. Transaction invocations result in
gets and sets of ledger state
…
E T
A collection of network data and processing peers forming a Blockchain network.
Responsible for maintaining a consistently replicated ledger
Manages identity and transaction certificates, as well as other aspects of permissioned
access
Creates notifications of significant operations on the Blockchain (e.g. a new block), as well as
notifications related to smart contracts. Does not include event distribution.
Provides the ability to create, change and monitor Blockchain components
Securely manages a user’s security credentials
i
Responsible for integrating Blockchain bi-directionally with external systems. Not
part of Blockchain, but used with it.
Systems
Integration
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric - Interactions
Protocols :
•SDK : use gRPC to communicate with a blockchain
peer or Certificate Authority. Maintain the user’s key
wallet
•HTTP API : use HTTP (will be deprecated in V1.0)
Functional interaction methods:
•DEPLOY* : to deploy a chaincode
•QUERY : to retrieve data from World State
•INVOKE* : to call a chaincode method creating a
transaction
membership
keys
Consensus
Ledger
Events
Chaincode
state
peer
SDK
ECA, TCA, TLS-CA
API
Blockchain
network
(* Creates a block on the chain)
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric - Architecture
1.Blockchain developer codes
Application and Smart Contract
2.He deploys the app on a server
and smart contract on a peer
using DEPLOY
3.A registered user interacts with
the app sending order
(INVOKE) or retrieving
information (QUERY)
throught the smart contract
4.Smart contract can emit an
event susbcribed by the app World/Ledger
State
Blockchain
Genesis
Block
…
Blockchain
developer
Smart
Contrac
t
Invokes/queries
on a smart contract
Develops
Application
D
SDK HTTP
txn txn txn txn txn
Block n
PEER
develops, then deploys
emits
PutState/GetState
U
Blockchain
developer
Interacts
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Think distributed and deterministic !!!
Get resources from external systems
peer
Blockchain
network
peer
peer
Ext system
Put resources to external systems
peer
Blockchain
network
peer
peer
Ext system
t1
t3
t2 1 call
1 call
1 call
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Next coming on V1.0 (March 2017?)
• Endorsement/consensus model
• Plugging external identity server
• Plugging external State DB
• Historical queries
• HTTP API deprecated, use SDK
• Chaincode upgrades
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric V1.0 - Endorsement/Consensus model
Peer role has been split :
• Committer peer : commits
transactions, maintains ledger and state
• Endorsing peer: receives a transaction
proposal for endorsement, responds
granting or denying endorsement
• Ordering peer: approves the inclusion
of transaction blocks into the ledger and
communicates with peer and endorsing
peer nodes
Also a peer can now communicate via
private channels inside the network to
strenghten privacy
Different configuration options
for the ordering service include:
– SOLO
• Single node for development
– Kafka / Zookeeper
• 1:n nodes providing Crash
Fault Tolerance
• Odd number of nodes
recommended
– SBFT (future)
• 1:n nodes providing Byzantine
Fault Tolerance
Ordering-Service
OO
O O
E C
Peer types
oror
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric V1.0 - Identity server
New Identity server (COP)
•make as pluggable as possible
•make it decentralized
•default implementation : CloudFlare's
PKI/TLS toolkit
•can be configured to read from an LDAP
server
•Developed in GO
•CLI commands for server and client
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric V1.0 - External World State DB
•Key/value database (LevelDB)
•Document JSON database (CouchDB)
•SQL data stores (future?)
• requires schema definition
• difficult to change schema
CouchDB
Chaincode
APIs
LevelDB
Worldstate
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric V1.0 - Historical queries
Simple use case :
• Show history of values for an asset X
Rich queries :
• Show value of an asset at a certain point
in time
• Show all assets having same field value
through history (example : owned by a
specific owner)
tt-1t-2
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric V1.0 - HTTP deprecated, use SDK
•Do not use HTTP API anymore
•Use SDK over gRPC :
•Java
•NodeJs
•Python
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Fabric V1.0 - Chaincode upgrades
• New command UPGRADE to use
instead of redeploying another chaincode
• Chaincode will contain version number
…
Smart
Contrac
t
txn txn txn txn
Smart
Contrac
t
Application
SDK HTTP
UPGRADE
Version N+1Version N
World/Ledger
State
#Devoxx #Hyperledger @benji_fuentes @niteshpthakrar
Thank you !

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Blockchain Explored: A technical deep-dive
Blockchain Explored: A technical deep-diveBlockchain Explored: A technical deep-dive
Blockchain Explored: A technical deep-dive
 
IBM Blockchain Overview
IBM Blockchain OverviewIBM Blockchain Overview
IBM Blockchain Overview
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDK
 
Blockchain, 
Hyperledger fabric & Hyperledger cello
Blockchain, 
Hyperledger fabric & Hyperledger celloBlockchain, 
Hyperledger fabric & Hyperledger cello
Blockchain, 
Hyperledger fabric & Hyperledger cello
 
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & Composer
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & ComposerIBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & Composer
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & Composer
 
Hyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep DiveHyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep Dive
 
Hyperledger fabric 3
Hyperledger fabric 3Hyperledger fabric 3
Hyperledger fabric 3
 
Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning Talk
 
Hyperledger Fabric
Hyperledger FabricHyperledger Fabric
Hyperledger Fabric
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabric
 
Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer
 
Blockchain development using Hyperledger Composer
Blockchain development using Hyperledger ComposerBlockchain development using Hyperledger Composer
Blockchain development using Hyperledger Composer
 
Blockchain Explorer
Blockchain ExplorerBlockchain Explorer
Blockchain Explorer
 
Blockchain Hyperledger Lab
Blockchain Hyperledger LabBlockchain Hyperledger Lab
Blockchain Hyperledger Lab
 
Introduction to Hyperledger Composer
Introduction to Hyperledger ComposerIntroduction to Hyperledger Composer
Introduction to Hyperledger Composer
 
Introduction To Hyperledger Composer
Introduction To Hyperledger ComposerIntroduction To Hyperledger Composer
Introduction To Hyperledger Composer
 
Bitmark and Hyperledger Workshop: the Digital Assets and Property
Bitmark and Hyperledger Workshop: the Digital Assets and PropertyBitmark and Hyperledger Workshop: the Digital Assets and Property
Bitmark and Hyperledger Workshop: the Digital Assets and Property
 
Excelian hyperledger fabric-feb17
Excelian hyperledger fabric-feb17Excelian hyperledger fabric-feb17
Excelian hyperledger fabric-feb17
 
Fabric Composer - Construct 2017
Fabric Composer - Construct 2017Fabric Composer - Construct 2017
Fabric Composer - Construct 2017
 
Blockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricBlockchain - HyperLedger Fabric
Blockchain - HyperLedger Fabric
 

Andere mochten auch

Introduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger ProjectIntroduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger Project
Manuel Garcia
 

Andere mochten auch (18)

Blockchain for Business on Hyperledger
Blockchain for Business on HyperledgerBlockchain for Business on Hyperledger
Blockchain for Business on Hyperledger
 
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
 
Introduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger ProjectIntroduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger Project
 
Technical Introduction to IBM's Open Blockchain (OBC)
Technical Introduction to IBM's Open Blockchain (OBC)Technical Introduction to IBM's Open Blockchain (OBC)
Technical Introduction to IBM's Open Blockchain (OBC)
 
Lean and Easy IoT Applications with OSGi and Eclipse Concierge
Lean and Easy IoT Applications with OSGi and Eclipse ConciergeLean and Easy IoT Applications with OSGi and Eclipse Concierge
Lean and Easy IoT Applications with OSGi and Eclipse Concierge
 
OMP GSE
OMP GSEOMP GSE
OMP GSE
 
Blockchain and Security : A Virtuous Circle?
Blockchain and Security : A Virtuous Circle?Blockchain and Security : A Virtuous Circle?
Blockchain and Security : A Virtuous Circle?
 
Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8
 
Hands on with multichain
Hands on with multichainHands on with multichain
Hands on with multichain
 
Trading Derivatives on Hyperledger
Trading Derivatives on HyperledgerTrading Derivatives on Hyperledger
Trading Derivatives on Hyperledger
 
Blockchain as a Service and Hyperledger in 15 Minutes
Blockchain as a Service and Hyperledger in 15 MinutesBlockchain as a Service and Hyperledger in 15 Minutes
Blockchain as a Service and Hyperledger in 15 Minutes
 
Introduction to Fabric Composer
Introduction to Fabric ComposerIntroduction to Fabric Composer
Introduction to Fabric Composer
 
Blockchain Experiments in Trade Finance and IoT
Blockchain Experiments in Trade Finance and IoTBlockchain Experiments in Trade Finance and IoT
Blockchain Experiments in Trade Finance and IoT
 
Eclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s ViewEclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s View
 
Anatomy of a hyperledger application
Anatomy of a hyperledger applicationAnatomy of a hyperledger application
Anatomy of a hyperledger application
 
Orchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using ContainersOrchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using Containers
 
Kubernetes on GCP
Kubernetes on GCPKubernetes on GCP
Kubernetes on GCP
 
Blockchain Consensus Protocols
Blockchain Consensus ProtocolsBlockchain Consensus Protocols
Blockchain Consensus Protocols
 

Ähnlich wie Introduction to Blockchain and Hyperledger

Ähnlich wie Introduction to Blockchain and Hyperledger (20)

Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
Blockchain for Python Developers - Pyjamas Conf 2020
Blockchain for Python Developers - Pyjamas Conf 2020Blockchain for Python Developers - Pyjamas Conf 2020
Blockchain for Python Developers - Pyjamas Conf 2020
 
hyperledger-chaincode & hyperl fabric.pptx
hyperledger-chaincode & hyperl fabric.pptxhyperledger-chaincode & hyperl fabric.pptx
hyperledger-chaincode & hyperl fabric.pptx
 
IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0
 
Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0
 
blockchain unit 3
blockchain unit 3blockchain unit 3
blockchain unit 3
 
Blockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperBlockchain Tech Approach Whitepaper
Blockchain Tech Approach Whitepaper
 
Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101
 
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 [Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
 
Hyperledger community update February 2018
Hyperledger  community update   February 2018Hyperledger  community update   February 2018
Hyperledger community update February 2018
 
IRJET- Proof of Document using Multichain and Ethereum
IRJET- Proof of Document using Multichain and EthereumIRJET- Proof of Document using Multichain and Ethereum
IRJET- Proof of Document using Multichain and Ethereum
 
Block chain technology
Block chain technologyBlock chain technology
Block chain technology
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...
 
Oracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo YooOracle Blockchain Platform_Wonjo Yoo
Oracle Blockchain Platform_Wonjo Yoo
 
Blockchain Technology ,Architecture and its Structure
Blockchain Technology ,Architecture and its StructureBlockchain Technology ,Architecture and its Structure
Blockchain Technology ,Architecture and its Structure
 
Defrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain NetworkDefrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain Network
 
Defrag x blockchain keynote
Defrag x blockchain keynoteDefrag x blockchain keynote
Defrag x blockchain keynote
 
Azure Blockchain Workbench
Azure Blockchain WorkbenchAzure Blockchain Workbench
Azure Blockchain Workbench
 
BlockchainConf.tech - Hyperledger overview
BlockchainConf.tech - Hyperledger overviewBlockchainConf.tech - Hyperledger overview
BlockchainConf.tech - Hyperledger overview
 

Mehr von Dev_Events

Mehr von Dev_Events (20)

Eclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimesEclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimes
 
Eclipse MicroProfile: Accelerating the adoption of Java Microservices
Eclipse MicroProfile: Accelerating the adoption of Java MicroservicesEclipse MicroProfile: Accelerating the adoption of Java Microservices
Eclipse MicroProfile: Accelerating the adoption of Java Microservices
 
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
 
Node.js – ask us anything!
Node.js – ask us anything! Node.js – ask us anything!
Node.js – ask us anything!
 
Swift on the Server
Swift on the Server Swift on the Server
Swift on the Server
 
Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed? Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed?
 
Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...
 
Tools in Action: Transforming everyday objects with the power of deeplearning...
Tools in Action: Transforming everyday objects with the power of deeplearning...Tools in Action: Transforming everyday objects with the power of deeplearning...
Tools in Action: Transforming everyday objects with the power of deeplearning...
 
Microservices without Servers
Microservices without ServersMicroservices without Servers
Microservices without Servers
 
The App Evolution
The App EvolutionThe App Evolution
The App Evolution
 
Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices
 
Create and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixCreate and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and Bluemix
 
OpenWhisk - Serverless Architecture
OpenWhisk - Serverless Architecture OpenWhisk - Serverless Architecture
OpenWhisk - Serverless Architecture
 
Add Custom Model and ORM to Node.js
Add Custom Model and ORM to Node.jsAdd Custom Model and ORM to Node.js
Add Custom Model and ORM to Node.js
 
Adding User Management to Node.js
Adding User Management to Node.jsAdding User Management to Node.js
Adding User Management to Node.js
 
Creating Sentiment Line Chart with Watson
Creating Sentiment Line Chart with Watson Creating Sentiment Line Chart with Watson
Creating Sentiment Line Chart with Watson
 
Containers Lab
Containers Lab Containers Lab
Containers Lab
 
OpenWhisk Lab
OpenWhisk Lab OpenWhisk Lab
OpenWhisk Lab
 
The App Evolution
The App Evolution The App Evolution
The App Evolution
 
Serverless Apps with Open Whisk
Serverless Apps with Open Whisk Serverless Apps with Open Whisk
Serverless Apps with Open Whisk
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Introduction to Blockchain and Hyperledger

  • 1. @benji_fuentes @niteshpthakrar#Devoxx #Hyperledger Introduction to Blockchain and Hyperledger Benjamin Fuentes Nitesh Thakrar IBM
  • 2. @benji_fuentes @niteshpthakrar#Devoxx #Hyperledger https://ibm.box.com/v/devoxxUS For Part 1: Bluemix account: https://console.ng.bluemix.net/registration Docker: https://docs.docker.com/engine/installation/#platform-support- matrix Docker compose: https://docs.docker.com/compose/install Postman: https://www.getpostman.com For Part 2 & 3: Java JDK 8: http://www.oracle.com/technetwork/java/javase/downloads/index-jsp- 138363.html Eclipse: https://www.eclipse.org/downloads Eclipse Maven plugin: (you can use the one embedded on Eclipse) Eclipse Gradle plugin: (depending on the version, it can be already included or https://projects.eclipse.org/projects/tools.buildship)
  • 3. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Agenda • First part (1H) Introduction to Blockchain and Hyperledger (30min) Use Blockchain As a Service on Bluemix Cloud and start a network locally (30min) • Pause (15min) • Second part (45min) Create a smart contract (in Java or Go) • Pause (15min) • Third part (45min) Develop the client side (HTTP API or JAVA/HFC SDK)
  • 4. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Blockchain • Introduction • Hyperledger • Blockchain as a Service (on Bluemix Cloud)
  • 5. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Blockchain - Introduction A blockchain is a distributed database, introduced by Bitcoin (2008) on Satoshi Nakamoto’s white paper, that maintains a continuously- growing list of data records that each refer to previous items on this list and is thus hardened against tampering and revision Distributed systems answer to a problem called Byzantine Generals’ Problem described by Leslie Lamport (1982) As today, blockchains can be used to write distributed applications named “smart contract” or “chaincode” Mesopotamian ledger Byzantine Generals’ Problem
  • 6. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Blockchain - Hyperledger Hyperledger (or Hyperledger project) is a cross- industry collaborative effort to create blockchain-based open standard for distributed ledgers for globally conducted business transactions under the Linux Foundation The project aims to create an open-standard, public, decentralised public ledger based on blockchain technology to advance worldwide business transaction processing in terms of cost- effectiveness, speed and traceability More than 100 members Fabric Sawtooth Lake
  • 7. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Blockchain - Blockchain as a Service (on Bluemix Cloud) IBM is the only provider that gives you access to a permissioned Blockchain as a Service on its catalog of services
  • 8. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric V0.6 • Actors • Components • Interactions • Architecture
  • 9. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric - Actors The business user, operating in a business network. This role interacts with the Blockchain using an application. They are not aware of the Blockchain. The overall authority in a business network. Specifically, regulators may require broad access to the ledger’s contents. The developer of applications and smart contracts that interact with the Blockchain and are used by Blockchain users. Defines, creates, manages and monitors the Blockchain network. Each business in the network has a Blockchain Network operator. Manages the different types of certificates required to run a permissioned Blockchain. An existing computer system which may be used by the Blockchain to augment processing. This system may also need to initiate requests into the Blockchain. An existing data system which may provide data to influence the behavior of smart contracts. Blockchain User Blockchain Developer Certificate Authority Blockchain Regulator Traditional Processing Platform Traditional Data Sources Blockchain Network Operator U R D O ü
  • 10. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric - Components Membership Smart Contract Systems Management Events Consensus Network Wallet Ledger Contains the current World State of the ledger and a Blockchain of transaction invocations f(abc); Encapsulates business network transactions into logic code. Transaction invocations result in gets and sets of ledger state … E T A collection of network data and processing peers forming a Blockchain network. Responsible for maintaining a consistently replicated ledger Manages identity and transaction certificates, as well as other aspects of permissioned access Creates notifications of significant operations on the Blockchain (e.g. a new block), as well as notifications related to smart contracts. Does not include event distribution. Provides the ability to create, change and monitor Blockchain components Securely manages a user’s security credentials i Responsible for integrating Blockchain bi-directionally with external systems. Not part of Blockchain, but used with it. Systems Integration
  • 11. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric - Interactions Protocols : •SDK : use gRPC to communicate with a blockchain peer or Certificate Authority. Maintain the user’s key wallet •HTTP API : use HTTP (will be deprecated in V1.0) Functional interaction methods: •DEPLOY* : to deploy a chaincode •QUERY : to retrieve data from World State •INVOKE* : to call a chaincode method creating a transaction membership keys Consensus Ledger Events Chaincode state peer SDK ECA, TCA, TLS-CA API Blockchain network (* Creates a block on the chain)
  • 12. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric - Architecture 1.Blockchain developer codes Application and Smart Contract 2.He deploys the app on a server and smart contract on a peer using DEPLOY 3.A registered user interacts with the app sending order (INVOKE) or retrieving information (QUERY) throught the smart contract 4.Smart contract can emit an event susbcribed by the app World/Ledger State Blockchain Genesis Block … Blockchain developer Smart Contrac t Invokes/queries on a smart contract Develops Application D SDK HTTP txn txn txn txn txn Block n PEER develops, then deploys emits PutState/GetState U Blockchain developer Interacts
  • 13. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Think distributed and deterministic !!! Get resources from external systems peer Blockchain network peer peer Ext system Put resources to external systems peer Blockchain network peer peer Ext system t1 t3 t2 1 call 1 call 1 call
  • 14. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Next coming on V1.0 (March 2017?) • Endorsement/consensus model • Plugging external identity server • Plugging external State DB • Historical queries • HTTP API deprecated, use SDK • Chaincode upgrades
  • 15. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric V1.0 - Endorsement/Consensus model Peer role has been split : • Committer peer : commits transactions, maintains ledger and state • Endorsing peer: receives a transaction proposal for endorsement, responds granting or denying endorsement • Ordering peer: approves the inclusion of transaction blocks into the ledger and communicates with peer and endorsing peer nodes Also a peer can now communicate via private channels inside the network to strenghten privacy Different configuration options for the ordering service include: – SOLO • Single node for development – Kafka / Zookeeper • 1:n nodes providing Crash Fault Tolerance • Odd number of nodes recommended – SBFT (future) • 1:n nodes providing Byzantine Fault Tolerance Ordering-Service OO O O E C Peer types oror
  • 16. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric V1.0 - Identity server New Identity server (COP) •make as pluggable as possible •make it decentralized •default implementation : CloudFlare's PKI/TLS toolkit •can be configured to read from an LDAP server •Developed in GO •CLI commands for server and client
  • 17. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric V1.0 - External World State DB •Key/value database (LevelDB) •Document JSON database (CouchDB) •SQL data stores (future?) • requires schema definition • difficult to change schema CouchDB Chaincode APIs LevelDB Worldstate
  • 18. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric V1.0 - Historical queries Simple use case : • Show history of values for an asset X Rich queries : • Show value of an asset at a certain point in time • Show all assets having same field value through history (example : owned by a specific owner) tt-1t-2
  • 19. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric V1.0 - HTTP deprecated, use SDK •Do not use HTTP API anymore •Use SDK over gRPC : •Java •NodeJs •Python
  • 20. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Fabric V1.0 - Chaincode upgrades • New command UPGRADE to use instead of redeploying another chaincode • Chaincode will contain version number … Smart Contrac t txn txn txn txn Smart Contrac t Application SDK HTTP UPGRADE Version N+1Version N World/Ledger State
  • 21. #Devoxx #Hyperledger @benji_fuentes @niteshpthakrar Thank you !