LennartFr / 2019-7-18-LL-Blockchain-SF

Introduction to Blockchain best practices and IBM Blockchain Platform 2.0

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

blueband

An introduction to the IBM Blockchain Platform 2.0!

Contacts:

Linkedin.com/in/lennartfrantzell/

Linkedin.com/in/drnugent/

blueband

The Beginning.

It all started in October during the Global Financial Crisis in 2008 with Satoshi Nakamoto and his paper BitCoin: A Peer-to-Peer Electronic Cash System which addressed a key problem in electronic commerce:

A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution.

Digital signatures provide part of the solution, but the main benefits are lost if a trusted third party is still required to prevent double-spending.

We propose a solution to the double-spending problem using a peer-to-peer network.


On 3 January 2009, the bitcoin network came into existence with Satoshi Nakamoto mining the genesis block of bitcoin (block number 0), which had a reward of 50 bitcoins.

https://www.linkedin.com/pulse/labor-day-tribute-bitcoin-other-cryptos-jesse-lund/

Since then Bitcoin and Blockchain have inhabited two seperate worlds (Financial Use Cases vs non-financial Use Cases such as Supply Chain etc)

Until now...

Important Use Case: cross-border multi-currency payments and remittances!

IBM Blockchain World Wire:

Built on the Stellar Protocol IBM World Wire

Introducing IBM Blockchain World Wire, the new financial rail that simultaneously clears and settles cross-border payments in near real-time. Integrating with your existing payment systems, you’ll replace costly opacity with affordable transparency – and that can bring greater financial opportunity to all.

IBM is taking its banking clients a step closer to cryptocurrency.

March 18, 2019

Announced Monday, six international banks have signed letters of intent to issue stablecoins, or tokens backed by fiat currency, on World Wire, an IBM payment network that uses the Stellar public blockchain. The network promises to let regulated institutions move value across borders – remittances or foreign exchange – more quickly and cheaply than the legacy correspondent banking system.

......

Aside from issuing their own tokens, the arrangement opens up the possibility of banks using lumens, the native token of the Stellar blockchain, which can be used as a “bridge currency” when it is hard to trade one type of fiat for another. Also, World Wire “could support other cryptos” but is only supporting lumens for the moment because financial institutions are put off by the volatility of cryptocurrencies, Lund said....

https://www.coindesk.com/ibm-signs-6-banks-to-issue-stablecoins-and-use-stellars-xlm-cryptocurrency

Ripple cross-border payments.

https://www.ripple.com

JPMorgan to Start Customer Trials of Its ‘JPM Coin’ Crypto

First revealed in February, JPM Coin initially runs on top of Quorum, a private version of ethereum developed by the bank.

JPM Coin will function as a stablecoin, with fiat cash being deposited at the bank in exchange for the token, which can then be transferred via a permissioned distributed ledger. The recipient can later redeem the token for cash from JPMorgan.

Initially linked to the U.S. dollar, the coin is expected to be extended to other fiat currencies in time. https://www.coindesk.com/jpmorgan-to-start-customer-trials-of-its-jpm-coin-crypto

Consumer Space: Facebook Libra:

Libra White Paper

Hyperledger FabToken:

https://hyperledger-fabric.readthedocs.io/en/latest/token/FabToken.html Representing assets as tokens allows you to use the blockchain ledger to establish the unique state and ownership of an item, and transfer ownership using a consensus mechanism that is trusted by multiple parties. As long as the ledger is secure, the asset is immutable and cannot be transferred without the owners consent.

Tokens can represent tangible assets, such as goods moving through a supply chain or a financial instrument being traded. Tokens can also represent intangible assets such as loyalty points. Because tokens cannot be transferred without the consent of the owner, and transactions are validated on a distributed ledger, representing assets as tokens allows you to reduce the risk and difficulty of transferring assets across multiple parties.

Hiding in section 5.1 is a most important paragraph in the recent Hyperledger Fabric paper. This describes FABCOIN now renamed to FABTOKEN which is a UTXO (Unspent Transaction Output) Token for Fabric. This little thing has 3 huge implications:-

https://www.linkedin.com/pulse/token-hyperledger-fabric-andy-martin/

Non-Blockchain consumer alternatives: Venmo and Swedish Swish.

blueband

Learning Objectives:

1. How do we get started?

2. Visual Studio Code with the IBM plugin, creating our MVP

3. How do we deploy our MVP in the IBM Cloud

Learning Objective 1: How do we get started?

Know our domain.

Who do we need to recruit for our team? One architect, one domain expert, two developers, one operations person.

Understand that Blockchain is an enterprise techology that deals with the operation of ledgers and business networks where architecture, security and cryptography play importat roles.

Planning: Agile and the IBM Garage Method

Use Cases or how do we start?

Into the world of architecture: Cloud, security IBM Blockchain Platform for IBM Cloud Private

Agile and define and implement our Minimum Viable Product

Create the actors

Create the data

Create the Smart Contracts (Create, Query, Update)

Create the Business Network

===> hyperledger/fabric-ca                                                                                                                      
hyperledger/fabric-tools                                                                                                           
hyperledger/fabric-ccenv                                                                                                               
===> hyperledger/fabric-orderer                                                                                                         
===> hyperledger/fabric-peer                                                                                                            
hyperledger/fabric-javaenv                                                                                                                          
hyperledger/fabric-zookeeper                                                                                                        
hyperledger/fabric-kafka                                                                                                           
hyperledger/fabric-couchdb                                                                                                         
hyperledger/fabric-baseimage                                                                                                       
hyperledger/fabric-javaenv                                                                                                           
hyperledger/fabric-tools                                                                                                            
hyperledger/fabric-baseos                                                                                                          

Create the architecture:

Create the Ledger

And deploy in the cloud.

It is all about business networks and shared ledgers

blueband

Learning Objective 2: Visual Studio Code with the IBM plugin, creating our MVP

An introduction to programming Hyperledger Fabric on SlideShare

IBM Blockchain Platform on SlideShare

IBM Blockchain Solutions on SlideShare

Complete instructions: Install IBM Blockchain Platform VS Code extension for free

Go through Tutorial One in VS Code: Local Smart Contract Development.

Follow the typical workflow from generating a new smart contract project, deploying code to the local_fabric_runtime and testing your transactions via an application gateway

blueband

Learning Objective 3: How do we deploy our MVP in the IBM Cloud

Global Hybridcloud deployment

You can use this offering to install the IBM Blockchain Platform console on a deployment of IBM Cloud Private. You can then use the console to create all of the fundamental components of a Hyperledger Fabric blockchain, a Certificate Authority, an ordering service, and peers, on your local cluster. For more information about the building blocks of Hyperledger Fabric networks, see the blockchain component overview. You can also use your console to operate a distributed multicloud network by importing nodes deployed on other IBM Cloud Private clusters or on IBM Cloud.

Free IBM Cloud sign-up link: https://ibm.biz/BdzPVW

IBM Cloud Catalog link: https://cloud.ibm.com/catalog/

1) Find IBM Blockchain Platform service in the IBM Cloud: https://cloud.ibm.com/catalog?search=blockchain.

IAM Enabled= "Identity and Access Management"

3) Welcome to the IBM Blockchain platform

4) Deploy the IBM Blockchain Service on the IKS.

5) Your Cluster has been connected

6) IBM Blockchain Platform Console installed in IBM Cloud.

blueband

# Appendix

IBM Blockchain Platform Console Video Series. Follow along this four part series to set up a business network on the IBM Blockchain Platform

Deploy a Peer on the IBM Blockchain Platform

Deploy an Ordering Service on the IBM Blockchain Platform

Create and join a channel on the IBM Blockchain Platform

Debugging NPM

  1. The application uses Node.js and can sometimes get the wrong version of Node.
  2. If npm install gets errors,
  3. do: npm rebuild, npm install
  4. And if that doesn't work, do:
  5. nvm use 8.12.0 npm install or nvm use 8.12.0 npm rebuild npm install
  6. the same if npm start gets errors 1 You can also do the same if Visual Studio Code console, Local Fabric Ops pane, do Teardown and Restart Fabric Runtime
  7. If you get an error can't find xcode, do xcode-select --install

Where do we go from here?

Creating a basic Blockchain network using the IBM Blockchain Platform V2.0

SmartContract Trading using IBM Blockchain Platform Extension for VSCode (supports Fabric 1.4

Build a blockchain insurance app

IBM Developer SF Bay Area

IBM SF Bay Area Meetups

News

Does Hyperledger Fabric perform at scale?

Forbes: Blockchain Goes To Work At Walmart, Amazon, JPMorgan, Cargill and 46 Other Enterprises

Cargill Hyperledger Grid

Target Blockchain for Supply Chain

Why new off-chain storage is required for blockchains

IBM Blockchain Twitter feeds:

Jerry Cuomo IBM Fellow and CTO, instigator of Blockchain: https://twitter.com/jerrycuomo

Christopher Ferris. IBM Fellow CTO Open Technology https://twitter.com/christo4ferris

Arnaud J Le Hors. Senior Technical Staff Member: https://twitter.com/lehors

Christian Cachin Swiss Cryptographer, Zurich. https://twitter.com/cczurich?lang=en

IBM Blockchain: https://twitter.com/ibmblockchain?lang=en

Mark Parzygnat.Program Director IBM Blockchain: https://twitter.com/meetmarkp?lang=en

Let's start with Hyperledger:

Enterprise grade permissioned distributed ledger platform that offers modularity and versatility for a broad set of industry use cases.

  1. Hyperledger Fabric’s First long term support release

  2. Raft ordering service Fault Tolerance consensus algorithm

Whitelisting

Whitelisting.

About

Introduction to Blockchain best practices and IBM Blockchain Platform 2.0

License:Apache License 2.0