Skip to content

LennartFr/blockchain-workshop-2018

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 

Repository files navigation

Blockchain for developers: from zero to running app in the cloud.

bcworkshop2018

WiFi SSID: ibmguest

Speakers

Lennart Frantzell

Lennart is a Developer Advocate with IBM on the San Francisco City Team focusing on Blockhain and Fintech. With a background in program development he works with startups and developers to help them adopt Blockchain and Fintech, talks at industry events and spends his weekends at hackathons.

Raheel Zubairy

Raheel is a Software Engineer focused on developing journeys for Emerging Technologies team, part of IBM’s Digital Business Group. He has worked on journeys showcasing Blockchain technologies and Fintech services. In addition, his interests include IoT and Data Science. Raheel’s previous experience includes over five years in the energy industry. He completed his bachelors and masters degrees from Texas A&M University. Raheel is an avid sports fan.

Agenda:

6:00-6:30 pm: Light dinner and registration

Please form teams for the exercises

6:30-8:30 pm:

Intro to Blockchain and Hyperledger

Exercise 1: Hyperledger Composer Marbles Network https://hyperledger.github.io/composer/index.html

Exercise 2: Decentralized Energy with Hyperledger Composer. https://developer.ibm.com/code/patterns/decentralized-energy-hyperledger-composer/

Exercise 3: Marbles app: https://github.com/IBM-Blockchain/marbles

Demo 4: IBM Blockchain Platform

8:30-9:00 pm : Wrap up & Networking

Requirements:
Bring a laptop

Index

Download code for Exercises

  1. Exercise 2 Decentralized energy with Hyperledger Composer: git clone https://github.com/IBM/Decentralized-Energy-Composer
  2. Exercise 3 IBM Blockchain - Marbles Demo Download zip https://github.com/IBM-Blockchain/marbles

blueband

How did it all start with Blockchain?

October 2008 It all started with Satoshi Nakamoto and his paper Bitcoin: A Peer-to-Peer Electronic Cash System which addressed a key problem in electronic commerce:

Double Spending

The first work on a cryptographically secured chain of blocks was described in 1991 by Stuart Haber and W. Scott Stornetta.[17] In 1992, Bayer, Haber and Stornetta incorporated Merkle trees to the design, which improved its efficiency by allowing several documents to be collected into one block.

A blockchain database is managed autonomously using a peer-to-peer network and a distributed timestamping server. The first blockchain was conceptualised by an anonymous person or group known as Satoshi Nakamoto in 2008.

https://en.wikipedia.org/wiki/Blockchain

A blockchain is a decentralized virtual ledger for recording transactions without central authority through a distributed cryptographic protocol. It is made up of three technologies

  1. cryptographic algorithms,
  2. a distributed protocol,
  3. and replicated data

which combined provide a trustworthy service to a group of nodes that do not fully trust each other.

With blockchain, several users can write entries into a block or a record of information, and a community can control how the record of information is modified and updated. Consensus protocol is pluggable, currently an implementation of Byzantine fault-tolerant consensus using the PBFT (Practical Byzantine Fault Tolerance) protocol.

Christian Cachin Resilient Consensus Protocols for Blockchains

Source: https://www.zurich.ibm.com/dccl/papers/cachin_dccl.pdf blueband

The Blockchain Distributed Ledger

From the Press.

MAERSK SAIGON - IMO: 9303534

IBM and Maersk Are Creating a New Blockchain Company
IBM and Danish shipping giant Maersk are teaming up to form a new company whose aim is to commercialize blockchain technology—the nifty, shared accounting ledgers first made famous by the cryptocurrency Bitcoin.

2. Hyperledger Project Explores Fighting Counterfeit Drugs with Blockchain A key point up for debate at the meeting was the question of defining what exactly constitutes counterfeit activity in the pharmaceutical industry. .... "That would be cleared up if we had a supply chain we could actually trust," she said.

The idea of using distributed time-stamping to differentiate counterfeit drugs is a compelling one, given the success of the trade.

3. Vermont city pilots blockchain for real estate

4. Blockchain could revolutionize voting and elections

5. Major Global Air Transport Player Eyes Blockchain Technology for Maintenance and Repair System Monitoring

6. The engineers of the Defense Advanced Research Projects Agency (DARPA) are currently experimenting with Blockchain to create a messaging service that is secure and impenetrable to foreign attacks. This service will be tested internally first, but if it holds up, may find its way onto the battlefield soon. DARPA has asked the public to submit proposals on the best ways to put the service into action.

7. In the music industry, the blockchain could transform publishing, monetization and the relationship of artists with their communities of fans.

First, music can be published on the ledger with a unique ID and time stamp in a way that is effectively unalterable. This can solve the historic problem of digital content being downloaded, copied and modified at the leisure of users. ....

Blockchain technology can also revolutionize the monetization of music. The infrastructure is based on smart contracts, programs that can be run on the blockchain along with the payment transactions. ..... This can support a new way of offering on-demand music services. Users can select the record of their choice and immediately reward the stakeholders with cryptocurrency upon playing it.

And, finally, one of the advantages of a blockchain ledger is that it can establish a more direct relationship between creators and consumers. Composers and artists will no longer be required to go through purchasing platforms and financial brokers — who usually take a hefty cut of the revenue — and can get directly compensated every time their songs are played. This can be a boon to all those amateur producers who don’t have the backing of huge record labels. blueband

Hyperledger, an open source collaborative effort to advance cross-industry blockchain technologies, is hosted by The Linux Foundation®.

Deployed in Docker images.

Ecxcellent Hyperledger Documentation

Hyperledger Services

Permissioned

Google RPC P2P Protocol

https://medium.com/@robertgreenfieldiv/hyperledger-blockchain-for-a-web-2-0-architecture-6d3c83818eb1

Hyperledger main components

EndorsementConsensus

ordererflow

consensus

It is also important to note the Hyperledger Fabric has HSM (Hardware Security Module) support which is vital for safeguarding and managing digital keys for strong authentication. Hyperledger Fabric provides modified and unmodified PKCS11 for key generation, which supports cases like identity management that need more protection.

Channels

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.

  1. Endorsers: Nodes with “Endorser” functionality will simulate and sign or reject the transactions. A peer can be potentially an endorser for the chaincodes deployed to it.
  2. Consenters: Consenters, also termed as “Ordering service“, will run the PBFT (Practical Byzantine Fault Tolerance) consensus algorithm on the transactions and order these transactions appropriately in a block.
  3. Committers: Committer nodes receive the block of transactions from the ordering service (consenters) and write them to the ledger.

Chaincode

Hyperledger helloworld 2

Chaincode is a piece of code that is written in one of the supported languages such as Go or Java. It is installed and instantiated through an SDK or CLI onto a network of Hyperledger Fabric peer nodes, enabling interaction with that network's shared ledger. blueband

Blockchain Usecases

Blockchain usecases from IBM

Exercises

Exercise 1: Hyperledger Composer Playground Tutorial

Composer

Hyperledger Composer Modeling Language

Hyperledger Composer is a programming model containing a modeling language, and a set of APIs to quickly define and deploy business networks and applications that allow participants to send transactions that exchange assets.

All transactions submitted through a business network are stored on the blockchain ledger, and the current state of assets and participants are stored in the blockchain state database. The blockchain distributes the ledger and the state database across a set of peers and ensures that updates to the ledger and state database are consistent across all peers using a consensus algorithm.

Hyperledeger Composer Key Concepts

  1. Assets
  2. Participants
  3. Identities and ID cards ID cards simplify the process of connecting to a business network,
  4. Transactions are the mechanism by which participants interact with assets.
  5. Queries are used to return data about the blockchain world-state.
  6. Events Once events have been defined, they can be emitted by transaction processor functions to indicate to external systems that something of importance has happened to the ledger.

Hyperledger Composer Playground Tutorial

Hyperledger Composer Documentation

Hyperledger Composer Command Line

Exercise 2 Decentralized energy with Hyperledger Composer

Decentralized energy with Hyperledger Composer

Wondering where blockchain might apply in your own life? Interested in energy, sustainability, or climate change? Try your hand at creating a basic blockchain app to interact with a decentralized energy network! The idea behind the app is a neighborhood where residents produce and sell excess solar-panel energy to residents who need it. This is an excellent example of how blockchain can begin to transform our world.

Excercise 3 Create the full marbles app

bigmarbles

https://github.com/IBM-Blockchain/marbles

An enterprise-ready blockchain platform designed to accelerate the development, governance and operation of a multi-institution business network

ibm.biz/ibmbctechpaper

Demo 4.1 Setting up a Blockchain app in the IBM Container Service ready for IBM Blockchain

Develop in a cloud sandbox IBM Blockchain Platform

Demo 4.2 Setting up a Blockchain app in the IBM Cloud

IBM Blockchain in the IBM Cloud





blueband

Where do we go from here?

Blockchain in the IBM Cloud

Set up the environment

Hyperledger Composer on IBM Cloud

Zero to Bockchain

Zero to Blockchain

IBM Code: Blockchain Distributed database maintaining a continuously growing list of secured records or blocks

Welcome to Hyperledger Fabric

Blockchain on IBM Cloud

Develop in a cloud sandbox IBM Blockchain Platform

Node-RED and Hyperledger Composer

Integrate your Blockchain with anything using Hyperledger Composer and NodeRed

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published