Hyperledger Fabric is a permissioned blockchain framework that provides confidential transactions and smart contract functionality. It uses channels to isolate data on the ledger and provide private and confidential transactions between authorized participants. Key components include assets that represent real-world value, chaincode/smart contracts that define transactions and update assets on the ledger, and a ledger to record the immutable transaction history.
The document discusses HyperLedger Fabric, a permissioned blockchain framework. It provides an overview of key Fabric concepts including its architecture, components, transaction flow, and how it differs from other blockchain platforms like Ethereum. The summary is as follows:
[1] HyperLedger Fabric is a permissioned blockchain framework that uses channels and smart contracts called chaincode to allow for private and confidential transactions between specific network members.
[2] It has a modular architecture consisting of peers that host the ledger and chaincode, an ordering service to sequence transactions into blocks, and a certificate authority for identity management.
[3] Transactions in Fabric are validated by endorsing peers running chaincode, ordered into blocks by
An introduction session in the "Blockchain: Cryptocurrencies and other Business Applications" course that I've just finished delivering to the School of Business of Hong Kong Baptist University.
Hyperledger Fabric Technical Deep Dive 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric workshop in Barecelona on July 10th, 2019.
This introduces blockchain for business and describes in details the Hyperledger Fabric design principles, overall architecture, its components, and the transaction flow.
Kafka is a distributed messaging system that allows for publishing and subscribing to streams of records, known as topics. Producers write data to topics and consumers read from topics. The data is partitioned and replicated across clusters of machines called brokers for reliability and scalability. A common data format like Avro can be used to serialize the data.
Kafka's basic terminologies, its architecture, its protocol and how it works.
Kafka at scale, its caveats, guarantees and use cases offered by it.
How we use it @ZaprMediaLabs.
The document discusses Hyperledger Fabric, a blockchain framework. It provides an overview of why blockchain is needed to solve reconciliation issues in multi-party environments. It then summarizes key aspects of Hyperledger Fabric such as its architecture, components, and how transactions flow through the network.
Banking is Now More Open: Open Banking UpdateMikeLeszcz
This document discusses Open Banking in the UK and provides an overview of its goals and implementation. Open Banking aims to give customers more control over their financial data through application programming interfaces (APIs) that allow secure data sharing and payments between banks and third parties. The Open Banking Implementation Entity (OBIE) was established to develop API standards and a security architecture for Open Banking, with the first APIs for account information and payments going live in January 2018. The document outlines the benefits of Open Banking for customers, businesses, banks and the financial technology industry.
Developing applications with Hyperledger Fabric SDKHorea Porutiu
The document discusses Hyperledger Fabric and the Hyperledger Fabric SDK. It provides an overview of the Fabric SDK and demonstrates how to use it to interact with a Hyperledger Fabric network, including enrollment, invoking chaincode to read and write to the ledger, and submitting transactions. It also discusses an IBM Food Trust use case for tracking food supply chains using Hyperledger Fabric.
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric Workshop in Barcelona on July 10th, 2019.
This covers the development of a Fabric application and smart contract (i.e. chaincode), with some tips on good practices and the IBM Blockchain Platform extension for VS Code.
- Analyze the strength and weakness of public blockchain and the goal of private blockchain.
- Explains the core architectural features, mechanisms and provisioning process of Hyperledger Fabric.
An Introduction to Blockchain Technology Niuversity
Blockchain technology allows for a shared, replicated ledger of transactions that can be viewed by all participants. It enables peer-to-peer exchanges on a distributed network in a secure and non-repudiable way. Blockchain solves issues with monitoring asset ownership and transfers in a trusted business network by providing a permissioned, replicated shared ledger. It is not just for cryptocurrencies like Bitcoin but can be used for any form of asset registry, inventory, and exchange across different industries. The future potential of blockchain applications is still emerging as it will be applied experimentally to many aspects of society over the next few years.
This document provides an overview of Hyperledger, an open source collaborative effort to advance cross-industry blockchain technologies. It discusses how blockchains and distributed ledgers can increase efficiency in business networks by providing consensus, provenance, immutability and finality. Hyperledger consists of several blockchain frameworks and tools developed by a growing global community to solve problems in industries like supply chains, healthcare, and finance.
Blockchain 101 + Use Cases + Why Blockchain As a ServiceKaleido
Kaleido - The Enterprise Blockchain Easy Button Kaleido, a ConsenSys Enterprise Business, based in Raleigh, NC, is dedicated to the growth and adoption of enterprise blockchain in ways that will transform how economic, social and political systems are built and supported in the future. Equipped with the experience of working with hundreds of companies and seeing where the difficulties lie, Kaleido was built to accelerate the implementation of blockchain by taking the technology hurdles off the table so companies can focus their energy and resources on driving higher business value of their use case and faster ROI Most CIOs today face a multitude of problems in the journey from blockchain exploration to real production business networks.
Hyperledger Fabric is a blockchain framework implementation initially developed by Digital Asset and IBM and now hosted by Linux Foundation under the hyperledger project. Fabric joined the hyperledger project for incubation in the early 2016 and after 1 year of incubation, it became the first project get into the ‘active’ state. On July 11, 2017, the hyperledger Technical Steering Committee announced their first production-ready distributed ledger codebase, Hyperledger Fabric V1.0
Blockchain technology is gaining significant attention and investment from major banks and financial institutions. Banks are projected to invest $400 million in blockchain by 2019, and over 30% of firms surveyed have annual blockchain budgets over $5 million. Blockchain uses distributed ledger technology to securely record transactions in digitally recorded "blocks" that are linked together, allowing participants on a blockchain network to reach consensus on a single view of the truth. This consensus-based approach provides advantages over traditional centralized databases by enabling trustless verification and transparency across organizations without the need for intermediaries.
Hyperledger Fabric is a blockchain framework for enterprise use. It was designed from the ground up to address enterprise needs like confidentiality, scalability, and flexibility. Some key features include built-in privacy using channels, pluggable consensus algorithms, and multiple programming languages for writing smart contracts. It uses an endorsement and validation process to ensure transactions are valid before being added to the ledger. Membership services provide identity features and Hyperledger Composer helps speed application development.
Blockchain technology allows participants to interact without a central authority by maintaining a distributed ledger of an shared database. It has applications beyond digital currencies like voting, smart contracts, and digital property records. Blockchains use cryptography and consensus to securely add transactions in blocks to an immutable chain. There are public, private, and consortium blockchains depending on who can read/write to the ledger. Blockchain technology has evolved from currency in Blockchain 1.0 to supporting smart contracts in Blockchain 2.0 and now decentralized applications in Blockchain 3.0.
This tutorial will walk you through building a Hyperledger Composer blockchain solution from scratch. In the space of a few hours you will be able to go from an idea for a disruptive blockchain innovation, to executing transactions against a real Hyperledger Fabric blockchain network and generating/running a sample Angular 2 application that interacts with a blockchain network.
This tutorial gives an overview of the techniques and resources available to apply to your own use case.
Note: This tutorial was written against the latest Hyperledger Composer build on Ubuntu Linux running with Hyperledger Fabric v1.0 where referenced below and also tested for a Mac environment.
Blockchain is a distributed database that maintains a growing list of transaction records organized in blocks. Each block contains a cryptographic hash of the previous block, transaction data, and a timestamp. This creates a permanent, unalterable record of transactions that is distributed across a peer-to-peer network of nodes. Blockchain technology enables a decentralized system of recordkeeping that does not require a central authority and allows digital transactions to be validated and recorded in a transparent yet secure manner. It has applications in finance, healthcare, supply chain management, and more.
This Edureka Blockchain 101 Training will give you a complete fundamental understanding regrading Blockchain and Bitcoin. You will learn following topics:
1. What is Blockchain?
2. Blockchain concepts
3. Hyperledger
4. Blockchain Use Case
5. Blockchain in the Industry
6. Solidity programming
7. Demo: Smart Contracts
A presentation explaining the concepts of Blockchain. It covers the introduction to blockchain, types of blockchain, process of adding blocks in bitcoin blockchain, hyperledger block structure, use cases of blockchain explained.
Overview of blockchain technology and architectureEY
The adoption of blockchain technology continues to accelerate across a wide array of industries, yet many of our clients are confused about how to deploy these solutions within their environment. EY has developed a blockchain stack that fits within the existing enterprise infrastructure, project and system development life cycle approaches that are customized to the new technology, and development frameworks to streamline our deployment.
Blockchain technology allows data to be stored and exchanged on a peer-to-peer network in a secure and decentralized manner without intermediaries. It works by validating transactions and adding them as blocks to an immutable blockchain that is shared across all nodes in the network. Blockchains use cryptography to ensure data integrity and prevent alteration of past records. Real-world applications of blockchain include powering cryptocurrencies like Bitcoin, implementing smart contracts, building decentralized applications, and developing government services like in Dubai.
HyperLedger Fabric is a blockchain framework that provides identity management, smart contracts (chaincode), privacy, and high transaction throughput. It uses a modular architecture consisting of peers, chaincode, ordering service, and certificate authority. Peers host the ledger and smart contracts, endorse and validate transactions. The ordering service orders transactions into blocks. Chaincode defines assets and transaction logic on the ledger. Channels provide isolation between different applications or groups of organizations.
This document provides an overview and summary of key concepts related to Hyperledger Fabric, a blockchain platform. It discusses how Fabric solves problems with existing systems by creating an immutable, shared ledger using blockchain technology. The key components of Fabric are peers that maintain the ledger, an ordering service that orders transactions into blocks, and a certificate authority for identity management. Smart contracts called chaincode define transactions and rules for updating ledger states. Channels provide private transaction ledgers for subsets of network members.
Developing applications with Hyperledger Fabric SDKHorea Porutiu
The document discusses Hyperledger Fabric and the Hyperledger Fabric SDK. It provides an overview of the Fabric SDK and demonstrates how to use it to interact with a Hyperledger Fabric network, including enrollment, invoking chaincode to read and write to the ledger, and submitting transactions. It also discusses an IBM Food Trust use case for tracking food supply chains using Hyperledger Fabric.
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric Workshop in Barcelona on July 10th, 2019.
This covers the development of a Fabric application and smart contract (i.e. chaincode), with some tips on good practices and the IBM Blockchain Platform extension for VS Code.
- Analyze the strength and weakness of public blockchain and the goal of private blockchain.
- Explains the core architectural features, mechanisms and provisioning process of Hyperledger Fabric.
An Introduction to Blockchain Technology Niuversity
Blockchain technology allows for a shared, replicated ledger of transactions that can be viewed by all participants. It enables peer-to-peer exchanges on a distributed network in a secure and non-repudiable way. Blockchain solves issues with monitoring asset ownership and transfers in a trusted business network by providing a permissioned, replicated shared ledger. It is not just for cryptocurrencies like Bitcoin but can be used for any form of asset registry, inventory, and exchange across different industries. The future potential of blockchain applications is still emerging as it will be applied experimentally to many aspects of society over the next few years.
This document provides an overview of Hyperledger, an open source collaborative effort to advance cross-industry blockchain technologies. It discusses how blockchains and distributed ledgers can increase efficiency in business networks by providing consensus, provenance, immutability and finality. Hyperledger consists of several blockchain frameworks and tools developed by a growing global community to solve problems in industries like supply chains, healthcare, and finance.
Blockchain 101 + Use Cases + Why Blockchain As a ServiceKaleido
Kaleido - The Enterprise Blockchain Easy Button Kaleido, a ConsenSys Enterprise Business, based in Raleigh, NC, is dedicated to the growth and adoption of enterprise blockchain in ways that will transform how economic, social and political systems are built and supported in the future. Equipped with the experience of working with hundreds of companies and seeing where the difficulties lie, Kaleido was built to accelerate the implementation of blockchain by taking the technology hurdles off the table so companies can focus their energy and resources on driving higher business value of their use case and faster ROI Most CIOs today face a multitude of problems in the journey from blockchain exploration to real production business networks.
Hyperledger Fabric is a blockchain framework implementation initially developed by Digital Asset and IBM and now hosted by Linux Foundation under the hyperledger project. Fabric joined the hyperledger project for incubation in the early 2016 and after 1 year of incubation, it became the first project get into the ‘active’ state. On July 11, 2017, the hyperledger Technical Steering Committee announced their first production-ready distributed ledger codebase, Hyperledger Fabric V1.0
Blockchain technology is gaining significant attention and investment from major banks and financial institutions. Banks are projected to invest $400 million in blockchain by 2019, and over 30% of firms surveyed have annual blockchain budgets over $5 million. Blockchain uses distributed ledger technology to securely record transactions in digitally recorded "blocks" that are linked together, allowing participants on a blockchain network to reach consensus on a single view of the truth. This consensus-based approach provides advantages over traditional centralized databases by enabling trustless verification and transparency across organizations without the need for intermediaries.
Hyperledger Fabric is a blockchain framework for enterprise use. It was designed from the ground up to address enterprise needs like confidentiality, scalability, and flexibility. Some key features include built-in privacy using channels, pluggable consensus algorithms, and multiple programming languages for writing smart contracts. It uses an endorsement and validation process to ensure transactions are valid before being added to the ledger. Membership services provide identity features and Hyperledger Composer helps speed application development.
Blockchain technology allows participants to interact without a central authority by maintaining a distributed ledger of an shared database. It has applications beyond digital currencies like voting, smart contracts, and digital property records. Blockchains use cryptography and consensus to securely add transactions in blocks to an immutable chain. There are public, private, and consortium blockchains depending on who can read/write to the ledger. Blockchain technology has evolved from currency in Blockchain 1.0 to supporting smart contracts in Blockchain 2.0 and now decentralized applications in Blockchain 3.0.
This tutorial will walk you through building a Hyperledger Composer blockchain solution from scratch. In the space of a few hours you will be able to go from an idea for a disruptive blockchain innovation, to executing transactions against a real Hyperledger Fabric blockchain network and generating/running a sample Angular 2 application that interacts with a blockchain network.
This tutorial gives an overview of the techniques and resources available to apply to your own use case.
Note: This tutorial was written against the latest Hyperledger Composer build on Ubuntu Linux running with Hyperledger Fabric v1.0 where referenced below and also tested for a Mac environment.
Blockchain is a distributed database that maintains a growing list of transaction records organized in blocks. Each block contains a cryptographic hash of the previous block, transaction data, and a timestamp. This creates a permanent, unalterable record of transactions that is distributed across a peer-to-peer network of nodes. Blockchain technology enables a decentralized system of recordkeeping that does not require a central authority and allows digital transactions to be validated and recorded in a transparent yet secure manner. It has applications in finance, healthcare, supply chain management, and more.
This Edureka Blockchain 101 Training will give you a complete fundamental understanding regrading Blockchain and Bitcoin. You will learn following topics:
1. What is Blockchain?
2. Blockchain concepts
3. Hyperledger
4. Blockchain Use Case
5. Blockchain in the Industry
6. Solidity programming
7. Demo: Smart Contracts
A presentation explaining the concepts of Blockchain. It covers the introduction to blockchain, types of blockchain, process of adding blocks in bitcoin blockchain, hyperledger block structure, use cases of blockchain explained.
Overview of blockchain technology and architectureEY
The adoption of blockchain technology continues to accelerate across a wide array of industries, yet many of our clients are confused about how to deploy these solutions within their environment. EY has developed a blockchain stack that fits within the existing enterprise infrastructure, project and system development life cycle approaches that are customized to the new technology, and development frameworks to streamline our deployment.
Blockchain technology allows data to be stored and exchanged on a peer-to-peer network in a secure and decentralized manner without intermediaries. It works by validating transactions and adding them as blocks to an immutable blockchain that is shared across all nodes in the network. Blockchains use cryptography to ensure data integrity and prevent alteration of past records. Real-world applications of blockchain include powering cryptocurrencies like Bitcoin, implementing smart contracts, building decentralized applications, and developing government services like in Dubai.
HyperLedger Fabric is a blockchain framework that provides identity management, smart contracts (chaincode), privacy, and high transaction throughput. It uses a modular architecture consisting of peers, chaincode, ordering service, and certificate authority. Peers host the ledger and smart contracts, endorse and validate transactions. The ordering service orders transactions into blocks. Chaincode defines assets and transaction logic on the ledger. Channels provide isolation between different applications or groups of organizations.
This document provides an overview and summary of key concepts related to Hyperledger Fabric, a blockchain platform. It discusses how Fabric solves problems with existing systems by creating an immutable, shared ledger using blockchain technology. The key components of Fabric are peers that maintain the ledger, an ordering service that orders transactions into blocks, and a certificate authority for identity management. Smart contracts called chaincode define transactions and rules for updating ledger states. Channels provide private transaction ledgers for subsets of network members.
Blockchain and distributed ledger technology (DLT) can help address trust issues in business networks. Blockchain provides a decentralized peer-to-peer network with a shared, distributed ledger that allows all participants to see a single system of record. It records all transactions across the business network, shares the ledger among participants, and replicates it so each participant has their own copy while maintaining privacy. This can enable use cases like maintaining shared reference data, tracking provenance in supply chains, creating immutable financial records for auditing, and facilitating faster letter of credit transactions with reduced costs and risk. DLTs like Hyperledger and Corda implement features of blockchains but without requiring a native digital asset.
- Hyperledger Fabric now supports Ethereum smart contracts through integration with the Ethereum Virtual Machine (EVM). This will allow Ethereum developers to work with Hyperledger Fabric and migrate smart contracts and decentralized apps between the platforms.
- Hyperledger is an open source blockchain project hosted by the Linux Foundation. It includes various blockchain frameworks and tools including Fabric, Sawtooth, and Composer. Fabric is the most widely adopted Hyperledger blockchain framework.
- Hyperledger blockchain applications interact with peers to access and update the shared ledger. The ledger contains a growing list of immutable transaction records organized into blocks.
Chaincode refers to programs that are run on Hyperledger blockchain networks to manage ledger state and transactions. It handles business logic that is agreed to by network members. Chaincode is isolated from endorsing peers for security and initializes and manages state through submitted transactions.
This document discusses key concepts and components related to blockchain solutions, including actors such as users, developers, operators, and architects. It describes various components that make up blockchain solutions such as ledgers, smart contracts, consensus mechanisms, and how applications interact with blockchains. It also covers considerations for blockchain developers and operators, and challenges around integrating blockchains with existing systems and achieving determinism.
Blockchain - Primer for City CIOs v05 01 22.pdfssusera441c2
Blockchain primary for city government chief information officers. Originally prepared for the Cities Leadership Forum hosted by Cities Institute, Philadelphia March 2022.
Blockchin architecture & use cases -part-2Mohammad Asif
In this session we have discussed some block chain real world use cases, different block-chain network and demo to setup hyper-ledger fabric network on Azure VM and installing chain code on peers.
This document provides an overview and guidelines for implementing blockchain technology. It discusses key considerations for selecting a blockchain platform, including assessing technical requirements and understanding how the selected platform meets business needs. It then describes the major components of blockchain deployments and presents a reference architecture. Implementation is broken into three tracks: detailing business workflows, setting up infrastructure, and developing business applications and services. Factors for integrating blockchain with existing internal and external systems are also covered.
An introduction to blockchain and hyperledger v ruLennartF
The document provides an introduction to blockchain and Hyperledger. It discusses how Hyperledger Fabric now supports Ethereum smart contracts, allowing Ethereum developers to integrate with and migrate to Hyperledger Fabric. It also summarizes some of the key components, security aspects, and functionality of IBM's blockchain platform and Hyperledger, including consensus mechanisms, identity management, pluggable components, and how applications interact with the platform.
IRJET- Different Blockchain Platforms and AlgorithmsIRJET Journal
This document discusses different blockchain platforms and algorithms. It provides an overview of 12 major blockchain platforms: BigChainDB, Chain Core, Corda, Domus Tower Blockchain, Elements Blockchain Platform, Ethereum, Ripple, Quorum, Hyperledger Sawtooth, Hyperledger Fabric, Hyperledger Iroha, and EOS. For each platform, it briefly describes its key features and capabilities. The document serves to introduce the technical characteristics and applications of these prominent blockchain technologies.
Blockchain, Hyperledger and the Oracle Blockchain PlatformJuarez Junior
This document discusses blockchain and Hyperledger Fabric. It provides an overview of enterprise blockchain, describes the key components of Hyperledger Fabric including peers, smart contracts, consensus and the ledger, and explains the transaction flow. It also covers blockchain application development and introduces Oracle's Blockchain Platform as a fully-managed blockchain as a service.
IRJET- Proof of Document using Multichain and EthereumIRJET Journal
This document proposes a proof of document system using Multichain and Ethereum blockchain technologies. It involves developing a frontend using HTML, CSS, JavaScript, and frameworks like Bootstrap and jQuery. Documents are uploaded and a unique hash is generated using SHA-256. The hash is stored on a private Multichain blockchain to prove the document's existence. An API is created using PHP frameworks like Slim to allow interaction with the blockchain. The system aims to provide a secure and verifiable way to prove ownership and existence of digital documents and records. Potential applications mentioned include securing medical, academic, and business records and agreements.
IRJET- Study of Blockchain and its ConceptsIRJET Journal
This document discusses using blockchain technology to implement a log storage system. It begins with an introduction to blockchain and its key properties. It then discusses several concepts related to implementing a log storage system using blockchain, including using a logchain as a service and the Medusa system which utilizes Hyperledger. It also covers different blockchain platforms like Hyperledger Fabric and Ethereum. Consensus algorithms including proof-based and voting-based methods are described. Finally, potential applications of a blockchain-based log storage system are outlined such as for libraries, organizations, healthcare, and cloud storage.
This document provides an overview of the anatomy of a Hyperledger application. It describes the key components including the Hyperledger architecture, application components, smart contracts, permissioned ledger access, and how applications interact with the blockchain network. The Hyperledger architecture supports various participants like developers, users, and network operators. Applications use smart contracts to interact with the ledger, while smart contracts encapsulate business logic and transactions. Permissioned access controls who can access the ledger through the use of certificates. The document also provides examples of how applications, smart contracts, and external systems integrate with the permissioned ledger.
This document discusses a proposed decentralized car hailing application that utilizes blockchain technology. Key points include:
- The current centralized car hailing models have issues with user privacy and data ownership as well as high fees taken by the intermediaries.
- The proposed application would use a consortium blockchain model where verified drivers could access available ride requests and act as miners by adding ride completions to the blockchain.
- It would use two blockchains, with one to record all requests and one to record completed rides. This would allow drivers to easily view pending local requests within a certain time window.
- Pricing would be calculated through optimized algorithms factoring in daily fuel costs rather than taking a large percentage of
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsIngo Weber
In this keynote, delivered at the Blockchain Forum of BPM 2019, I summarized and reflected on research on BPM and blockchain over the last four years, including model-driven engineering, process execution, and analysis and process mining. I also covered selected use cases and applications, as well as recent insights on adoption. The keynote closed with a discussion of open research questions.
Building Cloud-Native App Series - Part 11 of 11
Microservices Architecture Series
Service Mesh - Observability
- Zipkin
- Prometheus
- Grafana
- Kiali
Building Cloud-Native App Series - Part 7 of 11
Microservices Architecture Series
Containers Docker Kind Kubernetes Istio
- Pods
- ReplicaSet
- Deployment (Canary, Blue-Green)
- Ingress
- Service
Building Cloud-Native App Series - Part 5 of 11
Microservices Architecture Series
Microservices Architecture,
Monolith Migration Patterns
- Strangler Fig
- Change Data Capture
- Split Table
Infrastructure Design Patterns
- API Gateway
- Service Discovery
- Load Balancer
This document discusses Redis, MongoDB, and Amazon DynamoDB. It begins with an overview of NoSQL databases and the differences between SQL and NoSQL databases. It then covers Redis data types like strings, hashes, lists, sets, sorted sets, and streams. Examples use cases for Redis are also provided like leaderboards, geospatial queries, and message queues. The document also discusses MongoDB design patterns like embedding data, embracing duplication, and relationships. Finally, it provides a high-level overview of DynamoDB concepts like tables, items, attributes, and primary keys.
Building Cloud-Native App Series - Part 3 of 11
Microservices Architecture Series
AWS Kinesis Data Streams
AWS Kinesis Firehose
AWS Kinesis Data Analytics
Apache Flink - Analytics
Building Cloud-Native App Series - Part 2 of 11
Microservices Architecture Series
Event Sourcing & CQRS,
Kafka, Rabbit MQ
Case Studies (E-Commerce App, Movie Streaming, Ticket Booking, Restaurant, Hospital Management)
Building Cloud-Native App Series - Part 1 of 11
Microservices Architecture Series
Design Thinking, Lean Startup, Agile (Kanban, Scrum),
User Stories, Domain-Driven Design
This document provides an overview of microservices architecture, including concepts, characteristics, infrastructure patterns, and software design patterns relevant to microservices. It discusses when microservices should be used versus monolithic architectures, considerations for sizing microservices, and examples of pioneers in microservices implementation like Netflix and Spotify. The document also covers domain-driven design concepts like bounded context that are useful for decomposing monolithic applications into microservices.
This document discusses domain-driven design (DDD) concepts for transforming a monolithic application to microservices, including:
1. Classifying applications into areas like lift and shift, containerize, refactor, and expose APIs to prioritize high business value, low complexity projects.
2. Focusing on shorter duration projects from specifications to operations.
3. Designing around business capabilities, processes, and forming teams aligned to capabilities rather than technology.
4. Key DDD concepts like ubiquitous language, bounded contexts, and context maps to decompose the domain model into independently deployable microservices.
This document provides an overview of Docker concepts including containers, images, Dockerfiles, and the Docker architecture. It defines key Docker terms like images, containers, and registries. It explains how Docker utilizes Linux kernel features like namespaces and control groups to isolate containers. It demonstrates how to run a simple Docker container and view logs. It also describes the anatomy of a Dockerfile and common Dockerfile instructions like FROM, RUN, COPY, ENV etc. Finally, it illustrates how Docker works by interacting with the Docker daemon, client and Docker Hub registry to build, run and distribute container images.
Docker Kubernetes Istio
Understanding Docker and creating containers.
Container Orchestration based on Kubernetes
Blue Green Deployment, AB Testing, Canary Deployment, Traffic Rules based on Istio
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxAnoop Ashok
In today's fast-paced retail environment, efficiency is key. Every minute counts, and every penny matters. One tool that can significantly boost your store's efficiency is a well-executed planogram. These visual merchandising blueprints not only enhance store layouts but also save time and money in the process.
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
Blockchain HyperLedger Fabric Internals - Clavent
1. 𝑏=1
𝑛
𝑓(𝑏) =
3
𝑑𝑒𝑠𝑖3 𝑟2 𝑒 3D
BlockChain
ARAF KARSH HAMID
Co-Founder / CTO
MetaMagic Global Inc., NJ, USA
@arafkarsh
arafkarsh World Summit 2.0
February 1st, 2019,
Vivanta By Taj, Bengaluru, India
https://www.clavent.com/event-list/blockchain2-0-bangalore-2018/
2. Agenda
01-02-2019 2
1. Why do we need Blockchain?
o Problem Statement
o How Blockchain solves this problem
o Business Requirement
o Distributed Ledger
o HyperLedger Fabric
1 4. Fabric Getting Started
o Fabric Internals
o Blockchain Network
o Transaction Flow
o Private Data Usage
o Setting up Fabric Network
o Fabric Example (Node.JS)
3
6. Conclusion
o Ethereum Vs. Fabric Vs. Corda
o Blockchain Benefits
o Industry Scenarios – Media
o References
4U HyperLedger Fabric Architecture
o Fabric Key Components
o Microservices Architecture
o 3 Components of Fabric
o Fabric Models (Assets, Chaincode..)
o Fabric Channels
o Gossip Protocol
2
3. Problem Statement
01-02-2019 3
1
Customer A
Records
Insurer
Records
Bank
Records
Regulators
Records
Auditors
Records
Merchant A
Records
Expensive, Vulnerable & Inefficient
Source:BuildingBlockchainAppsforNode.JSdevelopers
withHyperLedgerComposer–SimonStoneIBM
4. How Blockchain Solves this Problem…
01-02-2019 4
1
Customer A
Records
Insurer
Records
Bank
Records
Regulators
Records
Auditors
Records
Merchant A
Records
Blockchain Ledger
A shared, replicated, permissioned ledger
Consensus
Immutability
Provenance
Finality
Source: Building Blockchain Apps for Node.JS developers with HyperLedger Composer – Simon Stone IBM
5. Business Requirements
01-02-2019 5
Shared Ledger
Append only
immutable
database
shared across
the business
network.
Business logic
is embedded
within the
database and
executed to
validate and
store the
transactions.
Smart Contract
Transactions are
secure,
authenticated
and access
controls are
enabled for
granular access.Privacy Trust
All the
transactions
are verified
and endorsed
by the trusted
relevant
parties
1
6. Properties of a Distributed Ledger
01-02-2019 6
o Decentralized, replicated across many
participants, each of whom collaborate in
its maintenance.
o Information recorded is append-only.
Immutable.
o Immutability makes it simple to
determine the provenance of the
information.
o These properties makes it called as
“Systems of Proof”
1 - - - - - - - - - - - n
1
7. How it differs from Bitcoin
01-02-2019 7
1
HyperLedger Fabric Bitcoin
Provides Identity Anonymity
Selective Endorsement Proof of Work
Assets Cryptocurrency
Bitcoin is a specific implementation of Blockchain technology
8. HyperLedger Fabric Key Features
01-02-2019 8
1
Source: http://hyperledger-fabric.readthedocs.io/en/latest/functionalities.html
o It is private and permission based
o Members of HyperLedger Fabric enrolls
thru MSP - Membership Service
Provider
o Different MSPs are supported
o Ledger data can be stored in multiple
formats.
o Consensus mechanisms can be
switched in and out
o Ability to create channels - Allowing a
group of participants to create a
separate ledger of transactions.
o Provides Membership Identity
Service that manages User IDs
and authenticates all participants
on the network.
o Access control lists can be used
to Provide additional layers of
permission.
o A Specific user ID could be
permitted to invoke a Chaincode
application but blocked from
deploying a Chaincode.
Identity Management
9. HyperLedger Fabric Key Features
01-02-2019 9
1
Source: http://hyperledger-fabric.readthedocs.io/en/latest/functionalities.html
o Transaction execution is
separated from
transaction ordering and
commitment.
o Division of labor un
burdens ordering nodes
from the demands of
transaction execution and
ledger maintenance,
o while peer nodes are
freed from ordering
(consensus) workloads.
Efficient Processing
o Chaincode Applications
encode logic that is
invoked by specific
types of transactions on
the channel.
o System Chaincode is
distinguish as
Chaincode that defines
operating params for
the entire channel.
Chaincode Functionality
o Private channels are
restricted messaging paths
that can be used to provide
transaction privacy and
confidentiality for specific
subset of network members.
o All data including transaction,
member and channel
information, on a channel are
invisible and inaccessible to
any network members not
explicitly access to that
channel.
Privacy & Confidentiality
10. Summary – Why do we need Blockchain?
01-02-2019 10
1
Reconciliation Issues in a
Multi Party environment.
o Expensive
o Vulnerable
o Inefficient
Problem Statement
o Consensus among the Parties
before a transaction is committed.
o Provenance – Origin of the asset
can be easily Tracked.
o Immutable – Transactions are
tamper proof
o Finality – Single Source of Truth
Solution
12. HyperLedger Fabric Architecture
12
2
Orderer
• Consensus
verification
• Creates Blocks
CA
• Registration
of identities
• Manage
Certificates
Peer
• Endorses Tx
• Simulates Tx
• Commits Tx
All these components can be clustered for scalability and to avoid Single Point of Failure
3 Components of Fabric
Ledger
Blockchain & World State
Smart Contract
• createCar
• queryAllCars
• queryCarProperties
• changeCarColor
• changeCarOwner
Other Concepts
• Assets : Anything that’s
valuable for the Organization
• Transactions (State changes
of Assets)
• Endorsement Policies
• Gossip Protocol : The glue
that keeps the peers in
healthy state.
Channels
• Private subnet for
a set of parties
based on Smart
contract
• Ledger / Channel
• Peers can have
multiple Channels
• Private Data
1
2
01-02-2019
13. 01-02-2019 13
Fabric
Deployment
Model in every
Enterprise Customer A Merchant B Bank Insurer
RESTful Services
Two Roles = Endorser & Committer
Smart Contracts (Chaincode) – Programmable Ledger
Persistence Layer - Ledger
GetPut
Blockchain
Events
Block
Peer
2
Gossip Protocol for P2P Communication
Orderer
• Consensus
Verification
• Creates Blocks
CA
• Registration
of identities.
• Certificate
Management
Blockchain & World State
Multiple Channels
Blockchain & World State
14. 01-02-2019 1414
Monolithic / Micro Services Architecture
Traditional Monolithic App using
Single Technology Stack
Micro Services with Multiple Technology Stack
Event Stream
API Gateway (Zuul Edge Server)
Load Balancer (Ribbon)
Circuit Breaker (Hysterix)
Service Discovery (Eureka)
Load Balancer (Ribbon)
Circuit Breaker (Hysterix)
Load Balancer (Ribbon)
Circuit Breaker (Hysterix)
UI Layer
Web Services
Business Logic
Database Layer
Database
UI Layer
Web Services
Business Logic
Database Layer
Micro
Service
1
EE 7
Container
UI Layer
Web Services
Business Logic
Database Layer
Micro
Service
2
Container
SE 8
UI Layer
Web Services
Business Logic
Database Layer
Micro
Service
4
Container
UI Layer
Web Services
Business Logic
Database Layer
Micro
Service
3
Container
2
15. HyperLedger Fabric – Ledger
01-02-2019 15
2
Source: http://hyperledger-fabric.readthedocs.io/en/release-1.0/fabric_model.html
There is one ledger
per channel.
Couch DB
As well as a state database to
maintain current fabric state.
This is auto derived by the Peers.
Each transaction results in a set of asset key-
value pairs that are committed to the ledger
as creates, updates, or deletes.
o The ledger is the
sequenced, tamper-
resistant record of all state
transitions in the fabric.
o State transitions are a result
of Chaincode invocations
(‘transactions’) submitted
by participating parties.
Blockchain
Tx Tx Tx Tx
Blocks
Tx
Ledger
16. HyperLedger Fabric : 3 Components
16
2
o Registration of identities, or
connects to LDAP as the
user registry
o Issuance of Enrollment
Certificates (ECerts)
o Certificate renewal and
revocation
o Every Single operation
MUST be signed with a
Certificate.
o Certificates are per user.
Certificate Authority
o Before anything is committed to
the Ledger it must pass thru
Orderer Service.
o Provides Order of
Transactions.
o It creates the Blocks for the
Blockchain.
o Block size can be based on no.
of transactions and / or timeout
value.
o Orderer in two modes - Solo for
the Dev environment and Kafka
for the Production environment.
Orderer
o Can update or Query the
ledger.
o One Peer can be part of
multiple channels.
o Peer Endorse the
transaction.
o All the Peers find each other
and synchronizes
automatically.
o Peer manages the Ledger
which consists of the
Transaction Log (Blockchain)
and World State.
o Peer has two roles
Endorser and Committer.
Peer
Source: http://hyperledger-fabric-
ca.readthedocs.io/en/latest/users-guide.html
01-02-2019
17. HyperLedger Fabric – CA
17
http://www.haproxy.org/
2
Source: http://hyperledger-fabric-ca.readthedocs.io/en/latest/users-guide.html#table-of-contents
CA
HA
Proxy
Peer Network
Cluster
REST API
CA Cluster with HA Proxy Load balancer
Fabric CA Server can
be connected using
1. Fabric CA Client
2. Fabric CA SDK
(REST API Calls)
Fabric CA servers in a cluster share the same database for
keeping track of identities and certificates. If LDAP is configured,
the identity information is kept in LDAP rather than the
database.
This ensures that there is NO Single Point of Failure for CA.No Single Point of
Failure for Peers.
01-02-2019
18. HyperLedger Fabric – Peer
18
2Source:http://hyperledger-fabric.readthedocs.io/en/release-1.0/fabric_model.html
Blockchain
Tx Tx Tx Tx
Block
Peer
Query ledger
history for a key,
enabling data
provenance
scenarios.
Peer
CouchDB
Read-only queries
using a rich query
language (if using
CouchDB as state
database)
Transactions contain
signatures of every
endorsing peer and
are submitted to
ordering service.
Peer
Tx
Peer
Peers validate transactions
against endorsement policies and
enforce the policies.
Endorsement
Policies
Peer
Peers can have multiple Channels
Peer
Prior to appending a block, a
versioning check is performed to
ensure that states for assets that
were read have not changed
since Chaincode execution time.
Tx
$ docker run -it hyperledger/fabric-peer bash
# peer chaincode --help01-02-2019
19. HyperLedger Fabric – Peer CLI
01-02-2019 19
$ docker run -it hyperledger/fabric-peer bash
# peer chaincode –help
Usage:
peer chaincode [command]
Available Commands:
install Package the specified chaincode into a deployment spec
and save it on the peer's path.
instantiate Deploy the specified chaincode to the network.
invoke Invoke the specified chaincode.
package Package the specified chaincode into a deployment spec.
query Query using the specified chaincode.
signpackage Sign the specified chaincode package
upgrade Upgrade chaincode.
2
Source : http://hyperledger-fabric.readthedocs.io/en/release-1.0/chaincode4noah.html
20. HyperLedgerFabric–PeerCLI
20
Flags:
--cafile string Path to file containing PEM-encoded trusted certificate(s) for the ordering endpoint
-C, --chainID string The chain on which this command should be executed (default "testchainid")
-c, --ctor string Constructor message for the chaincode in JSON format (default "{}")
-E, --escc string The name of the endorsement system chaincode to be used for this chaincode
-l, --lang string Language the chaincode is written in (default "golang")
-n, --name string Name of the chaincode
-o, --orderer string Ordering service endpoint
-p, --path string Path to chaincode
-P, --policy string The endorsement policy associated to this chaincode
-t, --tid string Name of a custom ID generation algorithm (hashing and decoding)
e.g. sha256base64
--tls Use TLS when communicating with the orderer endpoint
-u, --username string Username for chaincode operations when security is enabled
-v, --version string Version of the chaincode specified in install/instantiate/upgrade commands
-V, --vscc string The name of the verification system chaincode to be used for this chaincode
Global Flags:
--logging-level string Default logging level and overrides, see core.yaml for full syntax
--test.coverprofile string Done (default "coverage.cov")
Use "peer chaincode [command] --help" for more information about a command.
2
Source : http://hyperledger-fabric.readthedocs.io/en/release-1.0/chaincode4noah.html01-02-2019
21. HyperLedger Fabric - Orderer
01-02-2019 21
2
Source: http://hyperledger-fabric.readthedocs.io/en/release-1.0/kafka.html
Node 2
Orderer
Zookeeper
Node 1
Node 2
Node 3
Broker 1
Broker 2
Broker n
Broker ..
Kafka Zookeeper
Node 1
Orderer
Node 3
Orderer
Node 4
Orderer
Ordering
Service Client
Defining Consensus is
3 Phase Process
1. Endorsement
2. Ordering
3. Validation
ZooKeeper nodes 3,5,7
Service Type
1. Solo (Dev)
2. Kafka (Prod)
3. PBFT (Prod)* No Single Point of Failure for Orderer.
22. HyperLedger Fabric Model – Assets / Chaincode
01-02-2019 22
2
o The exchange of almost anything with monetary value over the network, from whole foods
to antique cars to currency futures.
o Represented as a collection of key-value pairs, with state changes recorded as transactions
on a Channel ledger.
o Assets can be represented in binary and/or JSON form.
Assets
Source: http://hyperledger-fabric.readthedocs.io/en/release-1.0/fabric_model.html
o It defines an asset or assets, and the transaction instructions for modifying the asset(s). Its the
business logic.
o It enforces the rules for reading or altering key value pairs or other state database information.
o It execute against the ledger’s current state database & are initiated through a transaction proposal.
o It’s execution results in a set of key value writes (write set) that can be submitted to the network
and applied to the ledger on all peers.
Chaincode / Smart Contract
23. Fabric - Endorsement Policy
23
2
• Peer uses Endorsement policies to decide if the
transaction is properly Endorsed.
• Peer invokes VSCC (Validation System Chaincode)
associated with transaction’s Chaincode
• VSCC is tasked to do the following
• All Endorsements are valid (Valid signatures from
Valid Certificates)
• There is an appropriate number of Endorsements.
• Endorsement came from expected Source(s)
Source: http://hyperledger-fabric.readthedocs.io/en/release-1.0/endorsement-policies.html
Examples
• Org1.admin
• Org2.member
• Org3.peer
Roles (of the
Signer) are
supported
1. Member
2. Admin
3. Client
4. Peer
4
01-02-2019
24. Fabric – Endorsement Policy Design
24Source: http://hyperledger-fabric.readthedocs.io/en/release-1.0/endorsement-policies.html
Endorsement Policy has two Components
P
A Principal (P) identifies the entity
whose signature is expected
T
A Threshold Gate <T> takes two inputs:
• <t> an integer : threshold
• [n] a list of : principals or gates
2
This Gate
essentially
captures the
expectation that:
• out of those
[n] principals
or gates,
• <t> are
requested to
be satisfied
T(2, ‘A’, ‘B’, ‘C’)
Requests a signature from any
2 Principals out of A,B,C
T(1, ‘A’, T(1, ‘B’, ‘C’))
Requests 1 signature from A or
1 from Principal B and C each.
01-02-2019
25. Fabric - Endorsement Policy using CLI
25
2
Source: http://hyperledger-fabric.readthedocs.io/en/release-1.0/endorsement-policies.html
Principals are described as MSP.ROLE
Examples
• Org1.admin
• Org2.member
• Org3.peer
EXPR(E[, E...])
where EXPR is either AND or OR, representing the two Boolean expressions and E is
either a principal (with the syntax described above) or another nested call to EXPR.
For example:
• AND ('Org1.member', 'Org2.member', 'Org3.member') requests 1 signature from
each of the three principals
• OR ('Org1.member', 'Org2.member') requests 1 signature from either one of the
two principals
• OR ('Org1.member', AND('Org2.member', 'Org3.member')) requests either one
signature from a member of the Org1 MSP or 1 signature from a member of
the Org2 MSP and 1 signature from a member of the Org3 MSP.
Roles (of the
Signer) are
supported
1. Member
2. Admin
3. Client
4. Peer
4
The policy can be specified at instantiate time using the -P switch, followed
by the policy. For example:
$ peer chaincode instantiate -C <channelid> -n mycc -P "AND('Org1.member', 'Org2.member')"
01-02-2019
26. HyperLedger Fabric Channels
01-02-2019 26
2
o A Hyperledger Fabric channel is a private “subnet” of communication between two or
more specific network members, for the purpose of conducting private and confidential
transactions.
o Channel is a completely separate instance of HyperLedger Fabric. Every Channel is
completely isolated and will never talk to each other.
o To create a new channel, the client SDK calls configuration system Chaincode and
references properties such as anchor peer**s, and members (organizations). This
request creates a **genesis block for the channel ledger, which stores configuration
information about the channel policies, members and anchor peers.
o The consensus service orders transactions and delivers them, in a block, to each
leading peer, which then distributes the block to its member peers, and across the
channel, using the gossip protocol.
Why Channel is unique to Fabric?
Source: http://hyperledger-fabric.readthedocs.io/en/release-1.0/channels.html
27. Gossip Protocol
01-02-2019 27
2
o Manages peer discovery and channel membership, by continually
identifying available member peers, and eventually detecting peers
that have gone offline.
o Disseminates ledger data across all peers on a channel. Any peer
with data that is out of sync with the rest of the channel identifies
the missing blocks and syncs itself by copying the correct data. A
state reconciliation process synchronizes world state across peers
on each channel. Each peer continually pulls blocks from other
peers on the channel, in order to repair its own state if
discrepancies are identified
o Bring newly connected peers up to speed by allowing peer-to-peer
state transfer update of ledger data.
Source: http://hyperledger-fabric.readthedocs.io/en/release-1.0/gossip.html
28. Summary – HyperLedger Fabric Architecture
28
2
Orderer
• Consensus
verification
• Creates Blocks
CA
• Registration
of identities
• Manage
Certificates
Peer
• Endorses Tx
• Simulates Tx
• Commits Tx
All these components can be clustered for scalability and to avoid Single Point of Failure
3 Components of Fabric
Ledger
Blockchain & World State
Smart Contract
• createCar
• queryAllCars
• queryCarProperties
• changeCarColor
• changeCarOwner
Other Concepts
• Endorsement Policies
• Assets : Anything that’s
valuable for the Organization
• Transactions (State changes
of Assets)
• Gossip Protocol : The glue
that keeps the peers in
healthy state.
Channels
• Private subnet for
a set of parties
based on Smart
contract
• Ledger / Channel
• Peers can have
multiple Channels
• Private Data
1
2
01-02-2019
31. Blockchain Structure
01-02-2019 31Source: https://hyperledger-fabric.readthedocs.io/en/release-1.3/ledger/ledger.html
In the above diagram, we can see that block B2 has a block data D2 which contains all its transactions: T5, T6, T7.
Most importantly, B2 has a block header H2, which contains a cryptographic hash of all the transactions in D2 as
well as with the equivalent hash from the previous block B1. In this way, blocks are inextricably and immutably linked
to each other, which the term blockchain so neatly captures!
3
32. Blockchain Blocks
01-02-2019 32
Block Header
This section comprises three fields, written when a block is created.
• Block number: An integer starting at 0 (the genesis block), and increased by 1 for every new
block appended to the blockchain.
• Current Block Hash: The hash of all the transactions contained in the current block.
• Previous Block Hash: A copy of the hash from the previous block in the blockchain.
Source: https://hyperledger-fabric.readthedocs.io/en/release-1.3/ledger/ledger.html
3
39. Blockchain Network
01-02-2019 39
3
Source: https://hyperledger-fabric.readthedocs.io/en/release-1.3/network/network.html
Four organizations, R1, R2, R3 and
R4 have jointly decided, and written
into an agreement, that they will set
up and exploit a Hyperledger Fabric
network. R4 has been assigned to be
the network initiator – it has been
given the power to set up the initial
version of the network. R4 has no
intention to perform business
transactions on the network.
• R1 and R2 have a need for a private communications within the overall network, as do R2 and R3.
• Organization R1 has a client application that can perform business transactions within channel C1.
• Organization R2 has a client application that can do similar work both in channel C1 and C2.
• Organization R3 has a client application that can do this on channel C2.
• Peer node P1 maintains a copy of the ledger L1 associated with C1.
• Peer node P2 maintains a copy of the ledger L1 associated with C1 and a copy of ledger L2
associated with C2.
• Peer node P3 maintains a copy of the ledger L2 associated with C2.
40. Blockchain Network
01-02-2019 40
3
Source: https://hyperledger-fabric.readthedocs.io/en/release-1.3/network/network.html
• The channel C1 is under the control of organizations R1 and R2.
• Channel C2 is governed according to the policy rules specified in channel configuration CC2;
• the channel is under the control of organizations R2 and R3.
• There is an ordering service O4 that services as a network administration point for N, and uses the
system channel.
• The ordering service also supports application channels C1 and C2, for the purposes of transaction
ordering into blocks for distribution.
• Each of the four organizations has a preferred Certificate Authority.
• The network is governed
according to policy rules
specified in network
configuration NC4,
• the network is under the
control of organizations R1
and R4.
• Channel C1 is governed
according to the policy rules
specified in channel
configuration CC1;
42. Fabric: Transaction Flow
42
3 Source:
http://hyperledger-fabric.readthedocs.io/en/release-1.0/txflow.html
1
2
Customer wants to order Red Roses
from Merchant for a new price.
Scenario
Customer Merchant
Customer
PeerBPeerA
Tx Proposal
• Endorsement Policy in the Chaincode states
proposal must be accepted by all parties.
• Proposal includes the function of the Chaincode
that needs to be triggered and other params.
• The SDK packages the transaction proposal into
the properly architected format (protocol buffer
over gRPC) and takes the user’s cryptographic
credentials to produce a unique signature for this
transaction proposal. Endorsing Peers
2.1 The Endorsing Peers : Verification
1. The transaction Proposal is well formed
2. It has not been submitted already in the past (replay attack protection)
3. The signature is valid using (MSP) and the
4. Submitter (Customer) is properly authorized to perform the proposed operation on the Channel.
01-02-2019
43. Fabric: Transaction Flow
43
3 Source:
http://hyperledger-fabric.readthedocs.io/en/release-1.0/txflow.html
2
2.2 The Endorsing Peers : Execute
1. The endorsing peers take the transaction proposal
inputs as arguments to the invoked chaincode’s
function It has not been submitted already in the
past (replay attack protection)
2. The chaincode is then executed against the current
state database to produce transaction results
including a response value, read set, and write set.
• No updates are made to the ledger at this point. Signed Proposal
3
Proposal Responses are inspected
1. App verifies the endorsing peer signatures.
2. Checks if the Endorsement policy is fulfilled (ie.
Customer and the Merchant Peer both endorse the
proposal).
01-02-2019
44. 01-02-2019 44
Fabric: Transaction Flow3
Convert Endorsement to transaction
1. The App “broadcasts” the transaction proposal and
response within a “transaction message” to the
Ordering Service
2. The transaction will contain the read/write sets. The
endorsement signatures and Channel ID.
3. The ordering service doesn't need to inspect the
content of the transaction.
4. It receives transactions from all the channels from
the network and orders them chronologically by the
Channel and
5. Creates blocks of transactions per channel.
4 Ordering
Service
Channels
45. 01-02-2019 45
Fabric: Transaction Flow3
Transaction Validated and Committed
1. The blocks of transactions are delivered to all Peers
in the network based on the Channel ID.
2. Validate the transaction based on Endorsement
policy.
3. Ensure that no change in the Ledger state based on
the Read-set variables since the read-set was
generated by the transaction execution.
4. Transactions in the block are tagged as being Valid
or Invalid.
5
Ordering
Service
Peers
46. 01-02-2019 46
Fabric: Transaction Flow3
6
Ledger Updated
1. Each Peer appends the Block to the
Channels chain.
2. For Each VALID transactions the write-set is
committed to the World State Database.
3. An Event is emitted to Notify the Client
Application.
4. Transactions in the block are tagged as being
Valid or Invalid.
Block
appended
to Tx Chain
Sends Notification
49. Private Data
01-02-2019 49
3
Private Data
06/12/18 43
3
Source: https://hyperledger-fabric.readthedocs.io/en/release-1.3/private-data/private-data.html
50. Private Data – Use Case
01-02-2019 50
3
Source: https://hyperledger-fabric.readthedocs.io/en/release-1.3/private-data/private-data.html
• A Farmer selling his goods
abroad
• A Distributor moving goods
abroad
• A Shipper moving goods
between parties
• A Wholesaler purchasing
goods from distributors
• A Retailer purchasing
goods from shippers and
wholesalers
51. Private Data – Transaction Flow
01-02-2019 51
3
Source: https://hyperledger-fabric.readthedocs.io/en/release-1.3/private-data/private-data.html
1. The client application submits a proposal request to invoke a chaincode.
2. The endorsing peers simulate the transaction and store the private data in a transient data store (a
temporary storage local to the peer). They distribute the private data, based on the collection policy,
to authorized peers via gossip protocol.
3. The endorsing peer sends the proposal response back to the client with public data, including a hash
of the private data key and value. No private data is sent back to the client.
4. The client application submits the transaction to the ordering service (with hashes of the private
data) which gets distributed into blocks as normal. The block with the hashed values is distributed to
all the peers.
5. At block-committal time, authorized peers use the collection policy to determine if they are
authorized to have access to the private data. If they do, they will first check their
local transient data store to determine if they have already received the private data at chaincode
endorsement time. If not, they will attempt to pull the private data from another peer. Then they will
validate the private data against the hashes in the public block and commit the transaction and the
block. Upon validation/commit, the private data is moved to their copy of the private state database
and private writeset storage.
53. Fabric Example : Pre requisites – Fabric Network
01-02-2019 53
3
$ git clone -b master https://github.com/hyperledger/fabric-samples.git
$ cd fabric-samples
$ git checkout {TAG}
Source: http://hyperledger-fabric.readthedocs.io/en/latest/samples.html
To ensure the samples are compatible with the version of Fabric binaries you download below,
checkout the samples {TAG} that matches your Fabric version, for example, v1.1.0. To see a list
of all fabric-samples tags, use command “git tag”.
$ curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0
Please execute the following command from within the directory into which you will extract the
platform-specific binaries:
If you get an error running the above curl command, you may have too old a version of curl that
does not handle redirects or an unsupported environment.
$ export PATH=<path to download location>/bin:$PATH
The script lists out the Docker images installed upon conclusion.
54. Fabric Example : Writing your First App
01-02-2019 54Source: http://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html
We will show the process for interacting with a Certificate
Authority and generating enrollment certificates, after which
we will leverage these generated identities (user objects) to
query and update a ledger.
1. Set up the Development Environment
2. Learn the parameters of Smart
Contract
3. Develop Apps that can Query and
Update the Ledger
3
Smart
Contract
Blockchain Network
CAOrderer
QueryExecute Smart Contracts
Get Ledger Updates
Ledger
55. Fabric Example : Install the Fabcar Example
55
3
$ cd fabric-samples/fabcar && ls *.js
enrollAdmin. js Invoke.js query.js registerUser.js
You will see for Node JS Programs as follows
Do a cleanup before u start installing the Sample App in the Ledger
$ docker rm -f $(docker ps -aq)
$ docker network prune
$ docker rmi dev-peer0.org1.example.com-fabcar-1.0-5c906e402ed29f20260ae42283216aa75549c571e2e380f3615826365d8269ba
$ npm install
$ ./startFabric.sh
Source: http://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html01-02-2019
56. Fabric Example : Enroll User
01-02-2019 56
3
Source: http://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html
$ node enrollAdmin.js
An admin user - admin - was registered with our Certificate Authority. Now we need to send an
enroll call to the CA server and retrieve the enrollment certificate (eCert) for this user.
This program will invoke a certificate signing request (CSR) and ultimately output an eCert and
key material into a newly created folder - hfc-key-store - at the root of this project.
$ node registerUser.js
Newly generated admin eCert, we will now communicate with the CA server once more to
register and enroll a new user. This user - user1 - will be the identity we use when querying and
updating the ledger.
Similar to the admin enrollment, this program invokes a CSR and outputs the keys and eCert
into the hfc-key-store subdirectory. So now we have identity material for two separate users -
admin & user1
58. 01-02-2019 58
3
Chaincode Constructor
Invoke(stub) method is called as result
of an application request to the
Chaincode
Ledger Persistence Calls – Commands
createCar(stub, args)
changeCarOwner(stub, args)
60. Fabric Example : Query The Ledger
01-02-2019 60
3
$ node query.js
Similar to the admin enrollment, this program invokes a CSR and outputs the keys and eCert
into the hfc-key-store subdirectory. So now we have identity material for two separate users -
admin & user1
Source: http://hyperledger-fabric.readthedocs.io/en/latest/write_first_app.html
Smart
Contract
Blockchain Network
CAOrderer
QueryRun the query
Return Query Results
Queries are how you read data from the ledger. This data is stored as a
series of key-value pairs, and you can query for the value of a single
key, multiple keys, or – if the ledger is written in a rich data storage
format like JSON – perform complex searches against it (looking for all
assets that contain certain keywords, for example)
fabric_client.getUserContext('user1', true);
Ledger
61. HyperLedger Fabric – Node.JS Client API
61Source: http://hyperledger-fabric.readthedocs.io/en/release-1.0/write_first_app.html
1. Initialize the Client API
2. Create a Channel
3. Create a Peer
4. Add Peer to the Channel
3
Query ChainCode: fabcar
Query Function: queryAllCars
$ node query.js
GetHistoryForKey()
GetHistoryForKey()
01-02-2019
62. HyperLedger Fabric – Node.JS Client API
01-02-2019 62
3
1. Get a Transaction ID based on the
user assigned to the client.
2. Send Transaction Proposal for
3. createCar() function in the
Chaincode creates a new transaction
4. changeCarOwner() function in the
Chaincode updates the owner.
Update function doesn't update the Blockchain instead it will have a new record with the latest status of the Asset.
$ node invoke.js
64. Ethereum Vs. HyperLedger Fabric Vs. R3 Corda
64
4
Characteristics Ethereum HyperLedger Fabric R3 Corda
Description of
the Platform
Generic Blockchain Platform Modular Blockchain Platform
Specialized distributed ledger
platform for Financial Industry
Release History July 2015
v0.6 Sept 2016, v1.0 July 2017,
v1.3 2018
v-m0.0 May 2016, v1.0 Oct 2017,
v3.0 Mar 2018
Crypto Currency
Ether / Tokens (Usage, Work) via
Smart Contract
None
Currency and Tokens via Chaincode
None
Governance
Ethereum Developers
Enterprise Ethereum Alliance
Linux Foundation
IBM
R3
Consensus
Mining based on Proof of Work
(POW) – All participants need to
agree.
Ledger Level
Selective Endorsement. Consensus
can be even within a channel with
select parties instead of everyone.
Transaction Level
Specific understanding of
Consensus. (Validity, Uniqueness)
Transaction Level
Network Permissionless, Public or Private Permissioned, Private Permissioned, Private
State Account Data
Key-value Database
Transaction Log, World State
Vault contains States
Historic & Current State
Smart Contracts Solidity Chaincode (GoLang, Node.JS, Java) Smart Contract (Kotlin, Java)
Development
Languages
GoLang, C++, Python Java, Node.JS, Python (Post 1.0) Java, Kotlin
01-02-2019
65. Summary – Benefits of Blockchain Technologies
01-02-2019 65
4
Saves Time
Immutable
transaction across
parties done at the
same time.
Remove Cost
Overheads on
maintaining and
synchronizing silos.
Increases Trust
Through shared process
and unified Systems of
Record. For end
consumers it’s a System
of Proof.
Reduces Risk
Tampering of data,
fraud and cyber crime
is avoided.
66. Disrupting the Media Value Chain
01-02-2019 66
Introduction of
Blockchain will
result in
deprecation of
critical
roles/operations
played by some
of the Business
Entities.
4
67. Content Bypassing the Aggregators
67
Source: Deloitte : Blockchain @ Media
Content Producer
/ Artist Aggregator Consumer
Current Scenario
Content Producer
/ Artist
Distributed
Ledger Consumer
After Introduction of Blockchain
Benefits
• Direct Customer Artist
relationship.
• Easy to measure marketing and
performance.
Challenges
• Content Aggregators and
Advertising networks to loose
their dominant position.
• Blockchain has the potential to
make DRMsystems obsolete or at
least to reduce it’s complexity
4
01-02-2019
68. Distribution of Royalty Payments
68
Artist Aggregator User
Current Scenario
Music
Publisher Distributor
Artist User
After Introduction of Blockchain
Distributed Ledger Distributor
Source: Deloitte : Blockchain @ Media
Benefits
• Near Real-time distribution of
Royalty payments based on Smart
Contracts
• Every usage and consumption is
tracked in Blockchain
Challenges
• Handling large amount of Data
• All the parties agreeing to
common Blockchain Platform.
4
01-02-2019
69. 01-02-2019 69
References
Blockchain Video Tutorials
• Blockchain Use Cases: https://wiki.hyperledger.org/groups/requirements/use-case-inventory
• Hyperledger Fabric Explainer: https://www.youtube.com/watch?v=js3Zjxbo8TM
• Blockchain Technology : https://www.youtube.com/watch?v=qOVAbKKSH10
• Smart Contracts : https://www.youtube.com/watch?v=ZE2HxTmxfrI
• Hyperledger Fabric v1.1 Node.JS Chaincode : https://www.youtube.com/watch?v=dzwR0dwzXNs
• Hyperledger Fabric v1.0 : https://www.youtube.com/watch?v=6nGIptzBZis
• Hyperledger Fabric for Beginners : https://www.youtube.com/watch?v=Y177TCUc4g0
• Fabric Composer : https://www.youtube.com/watch?v=fdFUsrsv5iw
• Hyperledger Composer : https://www.youtube.com/watch?v=iRlm4uY_9pA
• How does it works: Blockchain : https://www.youtube.com/watch?v=lD9KAnkZUjU
• How does Blockchain work: https://www.youtube.com/watch?v=LZEHOlZY2To
• 19 Industries The Blockchain will disrupt : https://www.youtube.com/watch?v=G3psxs3gyf8
• What is the difference between Bitcoin & Blockchain? : https://www.youtube.com/watch?v=MKwa-BqnJDg
• Bitcoin: What Bill Gates, Buffet, Elon Mush & Richard Branson has to say about Bitcoin?
4
70. 70
1. HyperLedger Architecture Volume 1
2. Creating Tokens in Hyperledger Fabric : https://github.com/Kunstmaan/hyperleder-fabric-kuma-token-example/
3. Karame, Androulaki, & Capkun. (2012). Double spending fast payments in bitcoin. ACM Conference on Computer and
communications security, (pp. 906-917).
4. King, N. (2012). PPCoin: Peer to peer cryptocurrency with proof of stake.
5. Kwon. (2014). Tendermint: Consensus without Mining. Cornell Edu.
6. Mazieres, D. (2015). The Stellar Consensus Protocol: Federated Model for Internet level consensus. Stellar Development
Foundation.
7. Narayanan, B. F. (2016). Bitcoin and cryptocurrency technologies. Princeton: Princeton University Press.
8. O'Dwyer, & Malone. (2014). Bitcoin mining and its energy footprint. Irish Signals and Systems Conference, pp. 280-285
9. Byzantine Fault Tolerance : https://en.wikipedia.org/wiki/Byzantine_fault_tolerance
10. Building Blockchain Apps for Node.JS developers with HyperLedger Composer – Simon Stone IBM
References
My Slide share Presentations
1. Enterprise Software Architecture – http://www.slideshare.net/arafkarsh/software-architecture-styles-64537120
2. Functional Reactive Programming – https://www.slideshare.net/arafkarsh/functional-reactive-programming-64780160
3. Microservices – Part 1: https://www.slideshare.net/arafkarsh/micro-services-architecture-80571009
4. Event Storming and Saga Design Pattern – Part 2 : https://www.slideshare.net/arafkarsh/event-storming-and-saga
5. Docker and Linux Containers : https://www.slideshare.net/arafkarsh/docker-container-linux-container
6. Function Point Analysis : http://www.slideshare.net/arafkarsh/functional-reactive-programming-64780160
4
01-02-2019
#24: For example:
AND('Org1.member', 'Org2.member', 'Org3.member') requests 1 signature from each of the three principals
OR('Org1.member', 'Org2.member') requests 1 signature from either one of the two principals
OR('Org1.member', AND('Org2.member', 'Org3.member')) requests either one signature from a member of the Org1 MSP or 1 signature from a member of the Org2 MSP and 1 signature from a member of the Org3 MSP.
#25: https://gerrit.hyperledger.org/r/gitweb?p=fabric.git;a=blob;f=docs/endorsement-policies.md;h=1eecf359c12c3f7c1ddc63759a0b5f3141b07f13;hb=HEAD
Endorsement policy syntax in the CLI
In the CLI, a simple language is used to express policies in terms of boolean expressions over principals.
A principal is described in terms of the MSP that is tasked to validate the identity of the signer and of the role that the signer has within that MSP. Four roles are supported: member, admin, client, and peer. Principals are described as MSP.ROLE, where MSP is the MSP ID that is required, and ROLE is one of the four strings member, admin, client and peer. Examples of valid principals are 'Org0.admin' (any administrator of the Org0 MSP) or 'Org1.member' (any member of the Org1 MSP), 'Org1.client' (any client of the Org1 MSP), and 'Org1.peer' (any peer of the Org1 MSP).
The syntax of the language is:
EXPR(E[, E...])
where EXPR is either AND or OR, representing the two boolean expressions and E is either a principal (with the syntax described above) or another nested call to EXPR.
For example:AND('Org1.member', 'Org2.member', 'Org3.member') requests 1 signature from each of the three principals
OR('Org1.member', 'Org2.member') requests 1 signature from either one of the two principals
OR('Org1.member', AND('Org2.member', 'Org3.member')) requests either one signature from a member of the Org1 MSP or 1 signature from a member of the Org2 MSP and 1 signature from a member of the Org3 MSP.
#26: For example:
AND('Org1.member', 'Org2.member', 'Org3.member') requests 1 signature from each of the three principals
OR('Org1.member', 'Org2.member') requests 1 signature from either one of the two principals
OR('Org1.member', AND('Org2.member', 'Org3.member')) requests either one signature from a member of the Org1 MSP or 1 signature from a member of the Org2 MSP and 1 signature from a member of the Org3 MSP.
#65: Hyperledger Fabric SDKs
Hyperledger Fabric intends to offer a number of SDKs for a wide variety of programming languages. The first two delivered SDKs are the Node.js and Java SDKs. Python and Go SDKs soon after the 1.0.0 release.
https://www.ibm.com/developerworks/library/j-chaincode-for-java-developers/j-chaincode-for-java-developers-pdf.pdf
https://docs.corda.net/key-concepts-states.html
http://explore-ip.com/2017_Comparison-of-Ethereum-Hyperledger-Corda.pdf