building enterprise blockchain...
TRANSCRIPT
Building Enterprise Blockchain
ApplicationsOverview for implementation
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Brian PlatzCo-founder / Co-CEO
Fluree PBC
@bplatz
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Blockc
hain
Types
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Validated Transparent “Trustless” Data sharing
Decentralized Immutable Tamper Resistance
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Private
FlureeDB
BigchainDB
Enterprise Ethereum
Ethereum
Hyperledger Fabric
Bitcoin
Data Oriented Transactional
Public
Blockchain Types
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Consensus
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
POW
POS
POA
RAFT
PBFT
PAXOS
Public
PrivateNetwork is
“known”
Network is
“unknown”
Consensus Types
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Application
Data Store
What is an enterprise app?
Client Tier
Application Tier
Data Tier
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Client Tier
Application Tier
Data Tier
Blockchain Network
Transactional Aspects
Transactional
Metadata
Application
Data Store
Enterprise App+Blockchain
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
The Data Problem
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
The Data Problem
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
The Data Problem
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
The Data Problem
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
The Cost of Consensus
1GB
= ?
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
1. Store on-chain
2. Store in Traditional DB
3. Use IPFS
‣ No integration needed ‣ Cost
‣ App-level exposure
(often done through a
database)
‣ Transaction-oriented
blockchain use case
‣ Very, very little data
associated with
transaction
ADVANTAGES DISADVANTAGES USE WHEN
Use Case: Payments, CryptoCurrency Transactions
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
1. Store on-chain
2. Store in Traditional DB
3. Use IPFS
ADVANTAGES DISADVANTAGES USE WHEN
Use Case: Anytime more than a “speck” of data is needed
‣ *Unlimited Data Storage
‣ Data separated,
integration required
‣ Reproducibility of
original data critical
‣ Reproducibility of
hashing approach (sort,
character, encoding,
algorithm)
‣ ??
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
1. Store on-chain
2. Store in Traditional DB
3. Use IPFS
ADVANTAGES DISADVANTAGES USE WHEN
Use Case: Leans towards object storage (pictures, etc.), data that doesn’t “build” on predecessors.
‣ You Need Object Storage
‣ *Unlimited Data
Storage
‣ Hashing Approach
Standardization
‣ Data separated,
integration required
‣ Reproducibility of
original data critical
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
ADVANTAGES DISADVANTAGES USE WHEN
Use Case: Supply Chain Management, Insurance Interoperability, Financial Technology, Government Records Mgmt
‣ Transactional
Alternatives
‣ *Unlimited On-
chain data storage
‣ Hashing Approach
standardization
‣ Query engine
‣ Flexible Schema
‣ Meta-data/data-
oriented (most
business
applications)
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
GRAPH QUERY
CONSENSUS TIME TRAVEL
IMMUTABLE LEDGER
DATABASEBLOCKCHAIN
Blockchain, Meet Database.
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Application
Data Store
What is an enterprise app?
Client Tier
Application Tier
Data Tier
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Client Tier
Application Tier
Data Tier
Blockchain Network
Transactional Aspects
Transactional
Metadata
Application
Data Store
Enterprise App+Blockchain
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Client Tier
Application Tier
Data Tier
Application
Data Store
Enterprise App+FlureeDB
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
TX
Development
Redundant, Scalable Decentralization
TX
TX
Run as a single server
Internal External
Query Peer
Query Peer
Query Peer
Query Peer
Query Peer
Query Peer
Query Peer
Query Peer
Query Peer
Query Peer
Transactor
Deployment Options
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
1. Schema
2. Spec
3. Programming Logic
If Product Being Updated
Is Connected to Company X
And Person updating Product
Is Connected to Company X
Then Allow
Else Deny
Blockchain Rules
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Internal Blockhain
Federated Blockchain
Global Blockchain
Single Application
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
[{
“_id”: “John”,
“email”: “[email protected]”
}]
ENTITY ATTRIBUTE VALUE ADD BLOCK
123 user/email [email protected] FALSE 23
123 user/email [email protected] TRUE 23
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
#ITDEVCONNECTIONS | ITDEVCONNECTIONS.COM
Thank you.
/company/FlureePBC
@FlureePBC
http://flur.ee docs.flur.ee