Blockchain is a shared, replicated ledger that underpins technology such as Bitcoin. This session gives an overview of blockchain, why it is so important for business, and introduces the Linux Foundation Hyperledger Project. The session also includes a demonstration of how to use Hyperledger Composer to easily model business networks and develop blockchain applications
6. 6
Extensive, familiar, and open development tool set
CLI utilities
Data modelling JavaScript
business logic
Web playground
Editor support Integration
$ composer
Client libraries
composer-client
composer-admin
Code generation
8. 8
Development
• All of our development plans can be tracked and viewed in GitHub:
– https://github.com/hyperledger/composer/projects
– https://github.com/hyperledger/composer/issues
• We would love for you to come along and participate!
– Review and comment on our future user stories
– Contribute code by submitting pull requests
– Help us build plans for the future
– Weekly calls to review designs, progress, and gather user feedback
• Calls run on an alternating schedule (week A – Thursday 5pm, week B – Wednesday 10am)
9. 9
Community
• You can come and speak to us as well!
– Chat to us using Rocket.Chat at https://chat.hyperledger.org
• #composer and #composer-dev channels
– Ask (and answer!) questions on Stack Overflow using the hyperledger-composer tag
– Tweet us using the #Hyperledger #Composer hashtags!
10. 10
Links
• We’re all over the internet!
– Hyperledger introduction: https://www.hyperledger.org/projects/composer
– Website, tutorial, and docs: https://hyperledger.github.io/composer/
– Public playground: https://composer-playground.mybluemix.net/
– Source code: https://github.com/hyperledger/composer/
– NPM modules: https://www.npmjs.com/search?q=hyperledger+composer
– JSDoc: https://hyperledger.github.io/composer/jsdoc/index.html
– Docker images: https://hub.docker.com/u/hyperledger/
This presentation assumes that the audience has seen Blockchain Explained (https://ibm.box.com/v/BlockchainExplained)
Lack of visibility in the supply chain
Who has heard of bitcoin?
Bitcoin was the first main stream application but what businesses need is different to bitcoin
Shared Ledger
Double entry book keeping 1494 not changed much since
the participants in the network each have their own ledger
This causes a problem with disputes and the resolution of those disputes as how can you prove which one is right
e.g. lets say I’m buying your car… we would do that transaction and I would record a receipt of the car on my ledger and you would record the debit of the car on your ledger
The problem occurs when those two ledgers get out of sync how do we resolve it.
Wouldn’t it be good if there was a data structure that we could share that could irrefutably record who owns the car on a given date and time.
Smart Contracts
eg. If the car was to break down in 6 months maybe I get my money back….
Think about what a contract is, they are the terms under which a transaction is valid
A smart contract just says wouldn’t it be good if I could store those rules within that transaction such they could be automatically enforced by all the parities involved within that transaction.
A smart contract is just a piece of code abit like a stored procedure on a database
Privicy
Businesses never operate in isolation they always operate within a network inorder to generate wealth
The scope of a business blockchain is the network and you need to control who has access to that network
This is where blockchain for business differs from bitcoin
Bitcoin is about anonymity… which means you know something happened but not who did it e.g. I could buy a bitcoin you could see someone had bought it but not that it was me
Businesses need to know who did something but don’t need to know what happened .Every business has anti money laundering requirements
E.g. I can see transactions with a and my transactions with b but I can’t see what a and b did.
If didn’t have this E.g. I send can send £500 to a, if I can see that a send £500 to b then ill just cut out a in the future and just send it to b
Trust
Businesses need to be able to trust the transactions that are recorded on the blockchain
Inorder to achieve agreement on the network With bitcoin you have whats called proof of work. So when a transaction occurs there is a puzzle that has to be solved inorder to burn electricity and cause a cost of doing that transaction which stops people from wanting to do fraudulent transactions because of this cost
On blockchain for business you don’t need proof of work because you already know who you are dealing with and you stand to lose reputationly or finanacially if you start putting in bad transactions. They can be traced to you due to no annonimity.
Proof of work comes at a huge cost. It takes more electricity to run the bit coin network than the country of Ireland uses
End of 2015 looked around to see if there was a blockchain that met those 4 requirements and didn’t find one
IBM decided to try and create one
The linux foundation running a project called hyperledger with the aim of implementing blockchain technologies for business
Hyperledger fabric is a one of the projects underneath hyperledger which provides an implementation of the shared ledger and smart contracts
V1.0 was released in july 2017 and is developed by people from 27 organisations.
Every blockchain application can be described in terms of its assets, participants, and transactions. These make up your business network
Creatting these using hyperledger fabric means writing go code at a really low level
Hyperledger composer is another project under hyperledger
It provides a set of abstractions on top of hyperledger fabric so you can model assets, participants and transactions and write your transactions using javascript.
Modelling these thing allows you to develop applications a lot more quickly and focus on the business problem and not the implementation.
Composer provides lots of tools to develop with
A web playground to develop and try out your business network without even installing anything
You can then use it with a real blockchain
If you want to use a full editor there is support for the modelling language within vs code and atom. And then you can import this into the playground to test it.
There is a cli for scripting things like deploying the network
And then for helping with developing your applications you can using the loopback rest server which will generate an api so that you can interact with the business network from your application just using rest calls.
There is even a generator which will create you an app from the details about your business network that can be used as a starting point for your app
Now going to show you a demo letts think about the lifecycle of a car?
So what would be the assets and participants and transactions involved with the life cycle of a car?
Hyperledger composer is free and available so go play with it and use it
As a maintainer I would love you all to get involved and participate by submitting pull request.
Also have a weekly community call where you can discuss progress review designs and give feedback on what could be better
Three ways to get in contact.
Rocket chat
Stack overflow
twitter