8

Click here to load reader

Excelian hyperledger fabric-feb17

Embed Size (px)

Citation preview

Page 1: Excelian hyperledger fabric-feb17

1

Hyperledger Fabric

Page 2: Excelian hyperledger fabric-feb17

Hyperledger Fabric – What is it?

2

Originally developed by IBM/DAH and donated to Linux

foundation

More of a framework with default implementations

Smart contracts are known as chaincode invoked

through Protobuf

Chaincode runs inside a Docker container as its

sandbox

Provides table-like storage using RocksDB

(RocksDB is by Facebook and originally forked from

LevelDB by Google, so its scalability is okay ;-)

Implemented in anything that can be run through the

chaincode compiler

currently, Go and Java

We will be using v0.6

Page 3: Excelian hyperledger fabric-feb17

Architecture

Fabric has several framework

components:

Membership services for security:

audit, registration & identity

management

Blockchain services: Consensus,

Storage & transactions

Chaincode services: Secure

container & registry

For the hackathon we will focus on

the container and blockchain

storage

3

Chaincode

REST ENDPOINTS

Hyperledger-java API

Application code

Validating P

eer

Node

Docker

conta

iner

RocksDB storage

Other Validating

PeersREST

Consensus

Consensus

Consensus

Page 4: Excelian hyperledger fabric-feb17

Fabric Vs Ethereum – Key Differences

Storage Model RocksDB allows for a table of data with primary key lookup (think Excel, not Sybase!)

Data structures (maps, lists etc) held in smart contracts

Sandbox/ execution

Java or Golang turned into chaincode for remote execution in Docker containers of validating peer nodes

Ethereum Virtual machine and Soliditysmart contracts

Permissions Model

Roles/groups and digital signatures ofaccounts that are enrolled into the membership services

Application-specific, no permissions model as-yet

Consensus Mechanism

Consensus can be ignored, or batch PBFT Usually Ethash/Proof of Work

4

Page 5: Excelian hyperledger fabric-feb17

Fabric - The Pros & Cons

✔ Any and all Java development tooling is

available

✔ The Docker paradigm is familiar

✔ Learning curve is quite shallow

✔ Often in blockchain prototypes, all we want

is immutable storage

✔ No restrictions on what can be

implemented

✔ Not tied to a currency

5

❌ Platform is still maturing

❌ Deployment experience is a bit fiddly

(especially when compared to Ethereum),

nothing you can’t surmount though

❌ Debugging through Docker containers can

also be painful

Page 6: Excelian hyperledger fabric-feb17

“So, should I choose Fabric?”

Fabric is a good choice, if:

✔ Your main development language is Java/Golang

✔ All you want/need is immutable storage

✔ Your project is more of a consortium/permissioned design

✔ Your prototype is largely throwaway

6

Page 7: Excelian hyperledger fabric-feb17

Next steps

A step-by-step guide to deploying your first Hello World chaincode onto Hyperledger

Fabric click on the link below:

http://www.slideshare.net/Excelian/excelian-hyperledger-walkthroughfeb17

7

Page 8: Excelian hyperledger fabric-feb17

Thank you

www.excelian.com