SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Do you need a ledger database or a
blockchain?
Michael Labib
Principal SA
Amazon Web Services
S V C 3 1 0
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Agenda
• Blockchain at AWS
• Amazon QLDB architecture and feature overview
• Technical deep dives
• Customer use cases
• Q&A
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What is blockchain?
Consensus algorithms
No intermediaries in
decision process, support
for smart contracts
Immutable, append-only, data
integrity
Ledgers Decentralization
Distributed trust and
data replication
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Blockchain at AWS
Amazon Managed
Blockchain
Amazon Quantum
Ledger Database
(Amazon QLDB)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Centralized vs. decentralized
• Owned by a single, trusted authority
• Addresses core need of an immutable and verifiable transactional
log
• Fast—doesn’t require consent from members
to commit transactions
Centralized
• No single owner of the ledger. Joint ownership
by multiple parties
• Addresses core need of enabling multiple parties to transact
transparently and with trust with each other
• Removes intermediaries when a group of members needs
to transact. Can make business processes more efficient
Decentralized
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Need for a ledger with centralized trust
TRANSACTIONS WITH DECENTRALIZED
TRUST2
DMV
Track vehicle title history
Manufacturers
Track distribution of a recalled product
HR & payroll
Track changes to an
individual’s profile
Healthcare
Verify and track hospital
equipment inventory
LEDGERS WITH
CENTRALIZED TRUST1
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Need for running transactions with decentralized trust
Financial institutions
Peer-to-peer payments
Mortgage
lenders
Process syndicated loans
Supply chain
Transact with suppliers
and distributers
Retail
Streamline customer rewards
TRANSACTIONS WITH DECENTRALIZED
TRUST2
LEDGERS WITH
CENTRALIZED TRUST1
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon Managed Blockchain
Easily create and manage scalable blockchain networks
Quickly create blockchain networks that
span multiple AWS accounts. Easily add
or remove members
and monitor the network.
Fully managed Improves reliabilityScalable and secure
Easily scale your blockchain network as
the usage grows. Also, Managed
Blockchain secures your network
certificates with AWS KMS.
Choice of Hyperledger
Fabric or Ethereum
Choose the right framework
for your needs, whether you
are building a permissioned
or public network.
Managed Blockchain improves
the reliability of the “ordering service,” by
replacing the default
technology with Amazon QLDB.
This improves durability.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Purpose-built databases at AWS
Relational
Referential integrity,
ACID transactions,
schema-on-write
Lift and shift, ERP, CRM,
finance
Key-value
High throughput,
low-latency reads, and
writes, endless scale
Real-time bidding,
shopping cart, social,
product catalog,
customer preferences
Document
Store documents
and quickly access
querying on
any attribute
Content management,
personalization, mobile
In-memory
Query by
key with microsecond
latency
Leaderboards,
real-time analytics,
caching
Graph
Quickly and easily
create and navigate
relationships
between data
Fraud detection, social
networking,
recommendation
engine
Time-series
Collect, store, and
process data sequenced
by time
IoT applications, event
tracking
Ledger
Complete, immutable,
and verifiable history
of all changes to
application data
Systems of record,
supply chain,
healthcare,
registrations,
financial
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
Traditional database architecture
• Typically an internal implementation
• Used for replicating data
• Difficult, or impossible, to directly access
cars
tx1 tx2 tx3 tx4 tx5 tx6 tx7 tx8
logs
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon QLDB: the log is the database
• All writes go to the log—the log determines state
• Log handles concurrency, sequencing, cryptographic verifiability, and
availability
• Accessible history of all transactions
ID Version Start Manufacturer Model Year VIN Owner
1 1 7/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 8/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
1 3 9/02/2016 Deleted
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
cars.history
cars
tx1 tx2 tx3 tx4 tx5 tx6 tx7 tx8
ledger
journal
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
WritingReading
Amazon QLDB: The log is the database
ID Version Start Manufacturer Model Year VIN Owner
1 1 7/16/2012 Tesla Model S 2012 123456789 Traci Russell
1 2 8/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
1 3 9/02/2016 Deleted
ID Manufacturer Model Year VIN Owner
1 Tesla Model S 2012 123456789 Traci Russell
history.cars
current.cars
INSERT… UPDATE… DELETE… UPDATE… UPDATE… UPDATE…
SEQUENCE
NUMBER: 789
SEQUENCE
NUMBER: 790
SEQUENCE
NUMBER: 791
SEQUENCE
NUMBER: 793
SEQUENCE
NUMBER: 792
SEQUENCE
NUMBER: --
journal
ledger
Application data Amazon QLDB
Writing
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Transactions (ACID)
Isolation Level Potential Issues
Serializable
Snapshot Isolation
Repeatable read
Read committed
Read uncommitted
-
Potential write skew
Phantom reads
Phantom reads/non-repeatable reads
Phantom reads/non-repeatable reads/dirty reads
HIGHESTTOLOWEST
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Deeper look at concurrency control, isolation
Optimistic (CQL)
• Favors short-running transactions
• Encourages “hygiene” by requiring programmer to
carefully consider
read patterns
Thread 1
SELECT
UPDATE.. IF..
Thread 2
SELECT
UPDATE.. IF..
Pessimistic (SQL)
• Favors long-running transactions
• Easier to “over-include” data
in read operations
Thread 1
SELECT FOR
UPDATE
COMMIT
Thread 2
SELECT FOR
UPDATE
COMMIT
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Easy to use (SQL)
INSERT INTO cars
{ 'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012',
'VIN':'123456789',
'Owner':'Traci Russell'
}
SELECT * FROM cars
UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789'
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Serverless, scalable, highly available
CREATE LEDGER
Region
Availability zone 1 Availability zone 2
Host 1
Host 2
Host 1
Host 2
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
UPDATE… DELETE… UPDATE… UPDATE… UPDATE…
Immutable
INSERT…
SEQUENCE
NUMBER: 789
SEQUENCE
NUMBER: 790
SEQUENCE
NUMBER: 791
SEQUENCE
NUMBER: 793
SEQUENCE
NUMBER: 792
SEQUENCE
NUMBER: --
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Cryptographic verification
Entries
Record
QLDB SQL
Metadata
journal
Record
hash
Digest
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon QLDB summary
Log-first
The log is the database
ACID Transactions
Fully serializable isolation
Easy to use
Familiar SQL operators
Highly scalable
Serverless, highly available
Immutable
Append-only, sequenced
Cryptographically verifiable
Hash-chaining provide data integrity
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon QLDB data model: Ion
vehicle = {
‘VIN’ : “KM8SRDHF6EU074761”,
‘MfgDate’ : “2017-03-01”
‘Type’: “Truck”
‘Mfgr’: “Ford”
‘Model’: “F150”
‘Color”: “Black”
‘Specs’: {
‘EngSize’ : 3.3
‘CurbWeight’: 4878
‘HP’: 327
‘BatterySize’: Null
}
}
JSON document
/* Ion supports comments. */
vehicle = {
‘VIN’ : “KM8SRDHF6EU074761”,
‘MfgDate’: 2017-03-01T
‘Type’: “Truck”
‘Mfgr’: “Ford”
‘Model’: “F150”
‘Color”: “Black”
‘Specs’: {
‘EngSize’ : 3.3 (decimal)
‘CurbWeight’: 4878 (int)
‘HP’: 327 (int)
‘BatterySize’: NULL.int
}
}
Ion document
https://github.com/amzn/ion-java
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon QLDB data model: Query
vehicle = {
‘VIN’ : “KM8SRDHF6EU074761”,
‘MfgDate’ : 2017-03-01T // timestamp
‘Type’: “Truck”
‘Mfgr’: “Ford”
‘Model’: “F150”
‘Color”: “Black”
‘Specs’: {
‘EngSize’ : 3.3
‘CurbWeight’: 4,878
‘HP’: 327
‘BatterySize’ : NULL // null values
}
}
SELECT
VIN,
Specs.EngSize,
Specs.HP
FROM vehicles as v
WHERE v.type = ‘Truck’
VIN EngSize HP
KM8SRDHF6EU074761 3.3 327
3HGGK5G53FM761765 2.7 285
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Assume three tables
Amazon QLDB data model: Ecommerce data model using
Ion
ProductsCustomersOrders
CREATE TABLE Orders CREATE TABLE Customers CREATE TABLE Products
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
ProductsCustomers
How best to model this ?
Ledger: Order system
INSERT INTO customers
{
'customer-id': '1000',
'first-name': 'Mike',
'last-name': 'Labib',
'membership': true,
'address': ‘126 Brampton Lane’
'city': ‘Chicago',
'state': 'IL'
}
INSERT INTO products
{
'product-id': '346211' ,
'product-description': 'socks',
'product-color': 'blue',
'price': '5.00',
'active': true,
'external-sku': 'Ak3234211'
}
• Flexible document schema leveraging Amazon ION
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
INSERT INTO orders
{
'order-id' : '100056',
'customer' : {
'customer-id': '1000',
'first-name' : 'Mike',
'last-name' : 'Labib',
'address' : ‘126 Brampton Lane',
'city' : ‘Chicago',
'state' : 'IL'
},
'order-date' : '2019-04-30T',
'order-details' : {
'item' : {
'product-id' : '346211' ,
'product-description' : '3 pair socks',
'product-color' : 'blue',
'price' : '15.00',
'quantity' : '2'
}
},
'total' : '55.00'
}
Ledger: Order system
Nested document structure enables
optimal queries and data access
Order
Products
Customers
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Ledger: Order system
SELECT o."order-details" from orders o
WHERE o.customer."customer-id" = '1000'
AND o."order-id" = '100056'
{ item:
{'product-id':"346211",
'product-description':"3 pair socks",
'product-color':"blue",
price:"15.00",
quantity:"2"}
}
Query Result
Nested document query
(customer within orders)
Products
Customers
Orders
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Mapping constructs between RDBMS & Amazon QLDB
Table
Relational
Table
Amazon QLDB
Table row Amazon Ion Document
Column
Document
Attribute
Index Index
SQL QLDB SQL
Audit Logs Journal
Database Ledger
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Deeper look at cryptographic verifiability
Four basic steps to seeing how Amazon QLDB verifiability works
Proof: A chain of hashes that links
a document to its digest
a4e31e36910d99bd19b7f875f0
a04597dc0ff52c2f164a16a9288
aed9e710fdd
a4e31e36910d99bd19b7f875f0
a04597dc0ff52c2f164a16a9288
aed9e710fdd
a4e31e36910d99bd19b7f875f0
a04597dc0ff52c2f164a16a9288
aed9e710fdd
Digest: Periodic hash covering all history
SHA256: Unique signature of a document
a4e31e36910d99bd19b7f875f0
a04597dc0ff52c2f164a16a9288
aed9e710fdd
Merkle trees: Chaining past hashes together
MERKLE ROOT
HABCD
Hash(HAB+HCD)
HAB
Hash(HA+HB)
HCD
Hash(HC+HD)
HA
Hash(TxA)
HB
Hash(TxB)
HC
Hash(TxC)
HD
Hash(TxD)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Cryptographic verifiability: SHA-256
Amazon QLDB uses the SHA-256 algorithm to create unique, fixed-length outputs (hashes).
Change any part, even one character, and the output (hash) is different.
vehicle = {
‘VIN’ : “KM8SRDHF6EU074761”,
‘Type’: “Truck”
‘Model’: “F150”
‘Specs’: {
‘EngSize’ : 3.3
‘CurbWeight’: 4,878
‘HP’: 327
}
}
vehicle = {
‘VIN’ : “KM8SRDHF6EU074761”,
‘Type’: “Truck”
‘Model’: “F150”
‘Specs’: {
‘EngSize’ : 3.3
‘CurbWeight’: 4,879
‘HP’: 327
}
}
SHA-256
SHA-256
a4e31e36910d99bd19b7f875f
0a04597dc0ff52c2f164a16a92
88aed9e710fdd
19318457408920af2d2cbeacd
90c7afe0fbd7f6ff316972c8f65
6c8bbc402dd1
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
a4e31e36910d99bd19b7f875f
0a04597dc0ff52c2f164a16a92
88aed9e710fdd
vehicle = {
‘VIN’ : “KM8SRDHF6EU074761”,
‘Type’: “Truck”
‘Model’: “F150”
‘Specs’: {
‘EngSize’ : 3.3
‘CurbWeight’: 4,878
‘HP’: 327
}
}
Cryptographic verifiability: SHA-256
SHA-256 is one way. It is unfeasible to compute the input given an output.
SHA-256
SHA-256
19318457408920af2d2cbeacd
90c7afe0fbd7f6ff316972c8f65
6c8bbc402dd1
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
…but a tree is cheaper and faster. Merkle trees are used in most blockchain frameworks
MERKLE ROOT
HABCD
Hash(HAB+HCD)
HAB
Hash(HA+HB)
HCD
Hash(HC+HD)
HA
Hash(TxA)
HB
Hash(TxB)
HC
Hash(TxC)
HD
Hash(TxD)
Cryptographic verifiability: Merkle tree (AKA hash tree)
It’s possible to do a linear recalculation of hashes on a ledger…
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Cryptographic verifiability: the digest
Thedigestisyourledger’sMerkle
treerootatapointintime
Root hash
Doc
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
ID Manufacturer Model Year VIN Owner
ID Version Start Manufacturer Model Year VIN Owner
How it works
cars.history
H
cars
C
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H (T1)
INSERT INTO cars <<
{ 'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012',
'VIN':'123456789',
'Owner':'Traci Russell' }
>>
journal
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
ID Manufacturer Model Year VIN Owner
ID Version Start Manufacturer Model Year VIN Owner
How it works
cars.history
H
cars
C
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H (T1)
INSERT INTO cars <<
{ 'Manufacturer':'Tesla',
'Model':'Model S',
'Year':'2012',
'VIN':'123456789',
'Owner':'Traci Russell' }
>>
journal
1 Tesla Model S 2012 123456789 Traci Russell
1 1 7/16/2012 Tesla Model S 2012 123456789 Traci Russell
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
1 2 8/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
ID Manufacturer Model Year VIN Owner
ID Version Start Manufacturer Model Year VIN Owner
How it works
cars.history
H
cars
C
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H (T1)
journal
1 Tesla Model S 2012 123456789 Traci Russell
UPDATE cars SET owner = 'Ronnie Nash' WHERE
VIN = '123456789'
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
Ronnie Nash
1 1 7/16/2012 Tesla Model S 2012 123456789 Traci Russell
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
ID Manufacturer Model Year VIN Owner
ID Version Start Manufacturer Model Year VIN Owner
How it works
cars.history
H
cars
C
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H (T1)
journal
1 Tesla Model S 2012 123456789 Ronnie Nash
1 1 7/16/2012 Tesla Model S 2012 123456789 Traci Russell
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H (T2)
1 2 8/03/2013 Tesla Model S 2012 123456789 Ronnie Nash
DELETE FROM cars WHERE VIN = '123456789'
DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H (T3)
1 3 9/02/2016 Deleted
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Walk through a hash chain
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H(T1)
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
SHA-256
H(T1) =
2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Hashing and chaining transactions
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H(T1)
SHA-256
H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T2)
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T2) =
86a90e4166453d9423b84d47dcbd97c0e3099b1a1f0d7cfca6c191d8fd8994ff
H(T1) +
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Hashing and chaining transactions
J
INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
H(T1) UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T2)
H(T2) = 86a90e4166453d9423b84d47dcbd97c0e3099b1a1f0d7cfca6c191d8fd8994ff
DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H(T3)
H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Hashing and chaining transactions
J
H(T1) H(T2)INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T3)DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
H(T3) = ae2d64e562ec754ec3194c744eec72c9fdafffc6b559e0414d0e75bf96ca92ad
H(T2) = 86a90e4166453d9423b84d47dcbd97c0e3099b1a1f0d7cfca6c191d8fd8994ff
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
H(T2) = 86a90e4166453d9423b84d47dcbd97c0e3099b1a1f0d7cfca6c191d8fd8994ff
H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
A digest is a hash value at a point in time
J
H(T1) H(T2)INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Traci Russell
Metadata: {
Date:07/16/2012
}
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
H(T3)DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
H(T3) = ae2d64e562ec754ec3194c744eec72c9fdafffc6b559e0414d0e75bf96ca92ad
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
H(T3) = ae2d64e562ec754ec3194c744eec72c9fdafffc6b559e0414d0e75bf96ca92ad
H(T3) = c6268578a24dbe0c7cfba07bd967411a35462b8c875d42f1991faad02c0ac93c
H(T2) = 86a90e4166453d9423b84d47dcbd97c0e3099b1a1f0d7cfca6c191d8fd8994ff
H(T2) = a90a9898c7e4b1aab19c705b554afd9e0bf6539bb0346df19be362ff63001098
H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
H(T1) =
25d0b44e6e8878151646ffc1fea4eb85c3e4bf4baec212a9fcf67b6d5a81e01a
UPDATE cars
ID:1
Owner: Ronnie Nash
Metadata: {
Date:08/03/2013
}
DELETE cars
ID:1
Metadata: {
Date: 09/02/2016
}
Changing committed data breaks the chain
J
H(T1) H(T2)INSERT cars
ID:1
Manufacturer: Tesla
Model: Model S
Year: 2012
VIN: 123456789
Owner: Tracy Russell
Metadata: {
Date:07/16/2012
}
H(T3)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Challenges customers face
Building ledgers with traditional databases
Blockchain approaches
Adds unnecessary
complexity
Designed for a different
purpose
Error prone and
incomplete
Impossible
to verify
Resource
intensive
Difficult to
manage and scale
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Why do immutability and verifiability matter?
Reduce risk: Ensure safeguarding of critical system-of-record applications where data loss could
be expensive.
Improve data tracking: Helps you or any parties that have access to the system to quickly and
accurately track data’s entire lineage, improving efficiency in tracking the source of issues (e.g.,
manufacturing defects, maintain supply network data hygiene)
Auditability: Helps reduce downtime caused due to audit and compliance issues, saving hundreds
of productivity hours for your team
Reduce implementation effort: Building immutability and verifiability in a traditional way is time
consuming, complex, and expensive
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Michael Labib

Mais conteúdo relacionado

Mais procurados

Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...
Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...
Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...Amazon Web Services
 
Aligning to the NIST Cybersecurity Framework in the AWS Cloud - SEC204 - Chic...
Aligning to the NIST Cybersecurity Framework in the AWS Cloud - SEC204 - Chic...Aligning to the NIST Cybersecurity Framework in the AWS Cloud - SEC204 - Chic...
Aligning to the NIST Cybersecurity Framework in the AWS Cloud - SEC204 - Chic...Amazon Web Services
 
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...Amazon Web Services
 
Delivering infrastructure, security, and operations as code with AWS - DEM10-...
Delivering infrastructure, security, and operations as code with AWS - DEM10-...Delivering infrastructure, security, and operations as code with AWS - DEM10-...
Delivering infrastructure, security, and operations as code with AWS - DEM10-...Amazon Web Services
 
Unified monitoring of the container environment, containers, and applications...
Unified monitoring of the container environment, containers, and applications...Unified monitoring of the container environment, containers, and applications...
Unified monitoring of the container environment, containers, and applications...Amazon Web Services
 
Best practices for queue processing in serverless applications - MAD313 - Chi...
Best practices for queue processing in serverless applications - MAD313 - Chi...Best practices for queue processing in serverless applications - MAD313 - Chi...
Best practices for queue processing in serverless applications - MAD313 - Chi...Amazon Web Services
 
Detecting and responding to critical events with AWS IoT Events - SVC205 - Ch...
Detecting and responding to critical events with AWS IoT Events - SVC205 - Ch...Detecting and responding to critical events with AWS IoT Events - SVC205 - Ch...
Detecting and responding to critical events with AWS IoT Events - SVC205 - Ch...Amazon Web Services
 
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ch...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ch...AWS identity services: Enabling and securing your cloud journey - SEC203 - Ch...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ch...Amazon Web Services
 
Deploy and manage Kubernetes on AWS from your on-premises environment - DEM04...
Deploy and manage Kubernetes on AWS from your on-premises environment - DEM04...Deploy and manage Kubernetes on AWS from your on-premises environment - DEM04...
Deploy and manage Kubernetes on AWS from your on-premises environment - DEM04...Amazon Web Services
 
Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...Amazon Web Services
 
Architecting SAP on Amazon Web Services - SVC216 - Chicago AWS Summit
Architecting SAP on Amazon Web Services - SVC216 - Chicago AWS SummitArchitecting SAP on Amazon Web Services - SVC216 - Chicago AWS Summit
Architecting SAP on Amazon Web Services - SVC216 - Chicago AWS SummitAmazon Web Services
 
Mythical Mysfits: Monolith to microservices using Docker and Fargate - MAD309...
Mythical Mysfits: Monolith to microservices using Docker and Fargate - MAD309...Mythical Mysfits: Monolith to microservices using Docker and Fargate - MAD309...
Mythical Mysfits: Monolith to microservices using Docker and Fargate - MAD309...Amazon Web Services
 
Increasing the value of video with machine learning & AWS Media Services - SV...
Increasing the value of video with machine learning & AWS Media Services - SV...Increasing the value of video with machine learning & AWS Media Services - SV...
Increasing the value of video with machine learning & AWS Media Services - SV...Amazon Web Services
 
What's new in Amazon Aurora - ADB203 - Atlanta AWS Summit
What's new in Amazon Aurora - ADB203 - Atlanta AWS SummitWhat's new in Amazon Aurora - ADB203 - Atlanta AWS Summit
What's new in Amazon Aurora - ADB203 - Atlanta AWS SummitAmazon Web Services
 
Fundamentals of AWS networking - SVC303 - Atlanta AWS Summit
Fundamentals of AWS networking - SVC303 - Atlanta AWS SummitFundamentals of AWS networking - SVC303 - Atlanta AWS Summit
Fundamentals of AWS networking - SVC303 - Atlanta AWS SummitAmazon Web Services
 
Connecting low-power devices to the cloud with Amazon FreeRTOS BLE - SVC206 -...
Connecting low-power devices to the cloud with Amazon FreeRTOS BLE - SVC206 -...Connecting low-power devices to the cloud with Amazon FreeRTOS BLE - SVC206 -...
Connecting low-power devices to the cloud with Amazon FreeRTOS BLE - SVC206 -...Amazon Web Services
 
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...Amazon Web Services
 
Deep dive on AWS Cloud storage offerings - What to use, where, and why - STG3...
Deep dive on AWS Cloud storage offerings - What to use, where, and why - STG3...Deep dive on AWS Cloud storage offerings - What to use, where, and why - STG3...
Deep dive on AWS Cloud storage offerings - What to use, where, and why - STG3...Amazon Web Services
 
Gain visibility and real-time security alerts with VPC Flow Logs & AWS - DEM0...
Gain visibility and real-time security alerts with VPC Flow Logs & AWS - DEM0...Gain visibility and real-time security alerts with VPC Flow Logs & AWS - DEM0...
Gain visibility and real-time security alerts with VPC Flow Logs & AWS - DEM0...Amazon Web Services
 
Securely deliver applications with AWS - SVC305 - Atlanta AWS Summit
Securely deliver applications with AWS - SVC305 - Atlanta AWS SummitSecurely deliver applications with AWS - SVC305 - Atlanta AWS Summit
Securely deliver applications with AWS - SVC305 - Atlanta AWS SummitAmazon Web Services
 

Mais procurados (20)

Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...
Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...
Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...
 
Aligning to the NIST Cybersecurity Framework in the AWS Cloud - SEC204 - Chic...
Aligning to the NIST Cybersecurity Framework in the AWS Cloud - SEC204 - Chic...Aligning to the NIST Cybersecurity Framework in the AWS Cloud - SEC204 - Chic...
Aligning to the NIST Cybersecurity Framework in the AWS Cloud - SEC204 - Chic...
 
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...
 
Delivering infrastructure, security, and operations as code with AWS - DEM10-...
Delivering infrastructure, security, and operations as code with AWS - DEM10-...Delivering infrastructure, security, and operations as code with AWS - DEM10-...
Delivering infrastructure, security, and operations as code with AWS - DEM10-...
 
Unified monitoring of the container environment, containers, and applications...
Unified monitoring of the container environment, containers, and applications...Unified monitoring of the container environment, containers, and applications...
Unified monitoring of the container environment, containers, and applications...
 
Best practices for queue processing in serverless applications - MAD313 - Chi...
Best practices for queue processing in serverless applications - MAD313 - Chi...Best practices for queue processing in serverless applications - MAD313 - Chi...
Best practices for queue processing in serverless applications - MAD313 - Chi...
 
Detecting and responding to critical events with AWS IoT Events - SVC205 - Ch...
Detecting and responding to critical events with AWS IoT Events - SVC205 - Ch...Detecting and responding to critical events with AWS IoT Events - SVC205 - Ch...
Detecting and responding to critical events with AWS IoT Events - SVC205 - Ch...
 
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ch...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ch...AWS identity services: Enabling and securing your cloud journey - SEC203 - Ch...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ch...
 
Deploy and manage Kubernetes on AWS from your on-premises environment - DEM04...
Deploy and manage Kubernetes on AWS from your on-premises environment - DEM04...Deploy and manage Kubernetes on AWS from your on-premises environment - DEM04...
Deploy and manage Kubernetes on AWS from your on-premises environment - DEM04...
 
Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...
 
Architecting SAP on Amazon Web Services - SVC216 - Chicago AWS Summit
Architecting SAP on Amazon Web Services - SVC216 - Chicago AWS SummitArchitecting SAP on Amazon Web Services - SVC216 - Chicago AWS Summit
Architecting SAP on Amazon Web Services - SVC216 - Chicago AWS Summit
 
Mythical Mysfits: Monolith to microservices using Docker and Fargate - MAD309...
Mythical Mysfits: Monolith to microservices using Docker and Fargate - MAD309...Mythical Mysfits: Monolith to microservices using Docker and Fargate - MAD309...
Mythical Mysfits: Monolith to microservices using Docker and Fargate - MAD309...
 
Increasing the value of video with machine learning & AWS Media Services - SV...
Increasing the value of video with machine learning & AWS Media Services - SV...Increasing the value of video with machine learning & AWS Media Services - SV...
Increasing the value of video with machine learning & AWS Media Services - SV...
 
What's new in Amazon Aurora - ADB203 - Atlanta AWS Summit
What's new in Amazon Aurora - ADB203 - Atlanta AWS SummitWhat's new in Amazon Aurora - ADB203 - Atlanta AWS Summit
What's new in Amazon Aurora - ADB203 - Atlanta AWS Summit
 
Fundamentals of AWS networking - SVC303 - Atlanta AWS Summit
Fundamentals of AWS networking - SVC303 - Atlanta AWS SummitFundamentals of AWS networking - SVC303 - Atlanta AWS Summit
Fundamentals of AWS networking - SVC303 - Atlanta AWS Summit
 
Connecting low-power devices to the cloud with Amazon FreeRTOS BLE - SVC206 -...
Connecting low-power devices to the cloud with Amazon FreeRTOS BLE - SVC206 -...Connecting low-power devices to the cloud with Amazon FreeRTOS BLE - SVC206 -...
Connecting low-power devices to the cloud with Amazon FreeRTOS BLE - SVC206 -...
 
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
CI/CD best practices for building modern applications - MAD302 - Atlanta AWS ...
 
Deep dive on AWS Cloud storage offerings - What to use, where, and why - STG3...
Deep dive on AWS Cloud storage offerings - What to use, where, and why - STG3...Deep dive on AWS Cloud storage offerings - What to use, where, and why - STG3...
Deep dive on AWS Cloud storage offerings - What to use, where, and why - STG3...
 
Gain visibility and real-time security alerts with VPC Flow Logs & AWS - DEM0...
Gain visibility and real-time security alerts with VPC Flow Logs & AWS - DEM0...Gain visibility and real-time security alerts with VPC Flow Logs & AWS - DEM0...
Gain visibility and real-time security alerts with VPC Flow Logs & AWS - DEM0...
 
Securely deliver applications with AWS - SVC305 - Atlanta AWS Summit
Securely deliver applications with AWS - SVC305 - Atlanta AWS SummitSecurely deliver applications with AWS - SVC305 - Atlanta AWS Summit
Securely deliver applications with AWS - SVC305 - Atlanta AWS Summit
 

Semelhante a Do you need a ledger database or a blockchain? - SVC310 - Chicago AWS Summit

Building system-of-record applications with Amazon QLDB - SVC218 - New York A...
Building system-of-record applications with Amazon QLDB - SVC218 - New York A...Building system-of-record applications with Amazon QLDB - SVC218 - New York A...
Building system-of-record applications with Amazon QLDB - SVC218 - New York A...Amazon Web Services
 
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdf
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdfDo you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdf
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdfAmazon Web Services
 
Introduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitaliIntroduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitaliAmazon Web Services
 
去中心化身分識別-Decentralized-Identifiers-如何改變著未來的網路型態?
去中心化身分識別-Decentralized-Identifiers-如何改變著未來的網路型態?去中心化身分識別-Decentralized-Identifiers-如何改變著未來的網路型態?
去中心化身分識別-Decentralized-Identifiers-如何改變著未來的網路型態?Amazon Web Services
 
Building enterprise solutions with blockchain and ledger technology - SVC202 ...
Building enterprise solutions with blockchain and ledger technology - SVC202 ...Building enterprise solutions with blockchain and ledger technology - SVC202 ...
Building enterprise solutions with blockchain and ledger technology - SVC202 ...Amazon Web Services
 
Amazon Managed Blockchain and Quantum Ledger Database QLDB
Amazon Managed Blockchain and Quantum Ledger Database QLDBAmazon Managed Blockchain and Quantum Ledger Database QLDB
Amazon Managed Blockchain and Quantum Ledger Database QLDBJohn Yeung
 
Deep dive on Amazon Managed Blockchain
Deep dive on Amazon Managed BlockchainDeep dive on Amazon Managed Blockchain
Deep dive on Amazon Managed BlockchainAmazon Web Services
 
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...Amazon Web Services
 
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...AWS Summits
 
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...Amazon Web Services
 
¿Son las bases de datos de contabilidad interesantes, o son parte del hype al...
¿Son las bases de datos de contabilidad interesantes, o son parte del hype al...¿Son las bases de datos de contabilidad interesantes, o son parte del hype al...
¿Son las bases de datos de contabilidad interesantes, o son parte del hype al...javier ramirez
 
Building Data Lakes for Analytics on AWS - ADB201 - Anaheim AWS Summit
Building Data Lakes for Analytics on AWS - ADB201 - Anaheim AWS SummitBuilding Data Lakes for Analytics on AWS - ADB201 - Anaheim AWS Summit
Building Data Lakes for Analytics on AWS - ADB201 - Anaheim AWS SummitAmazon Web Services
 
AWS Summit Singapore 2019 | Big Data Analytics Architectural Patterns and Bes...
AWS Summit Singapore 2019 | Big Data Analytics Architectural Patterns and Bes...AWS Summit Singapore 2019 | Big Data Analytics Architectural Patterns and Bes...
AWS Summit Singapore 2019 | Big Data Analytics Architectural Patterns and Bes...AWS Summits
 
Build scalable applications with a serverless relational database - ADB211 - ...
Build scalable applications with a serverless relational database - ADB211 - ...Build scalable applications with a serverless relational database - ADB211 - ...
Build scalable applications with a serverless relational database - ADB211 - ...Amazon Web Services
 
Breaking Up the Monolith with Containers
Breaking Up the Monolith with ContainersBreaking Up the Monolith with Containers
Breaking Up the Monolith with ContainersAmazon Web Services
 
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdfWhat's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdfAmazon Web Services
 
Databases on AWS - The right tool for the right job - ADB203 - Santa Clara AW...
Databases on AWS - The right tool for the right job - ADB203 - Santa Clara AW...Databases on AWS - The right tool for the right job - ADB203 - Santa Clara AW...
Databases on AWS - The right tool for the right job - ADB203 - Santa Clara AW...Amazon Web Services
 
Building enterprise solutions with blockchain technology - SVC217 - New York ...
Building enterprise solutions with blockchain technology - SVC217 - New York ...Building enterprise solutions with blockchain technology - SVC217 - New York ...
Building enterprise solutions with blockchain technology - SVC217 - New York ...Amazon Web Services
 
Building data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdf
Building data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdfBuilding data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdf
Building data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdfAmazon Web Services
 
IVS CTO Night And Day 2018 Winter - [re:Cap] AWS Managed Blockchain & Amazon ...
IVS CTO Night And Day 2018 Winter - [re:Cap] AWS Managed Blockchain & Amazon ...IVS CTO Night And Day 2018 Winter - [re:Cap] AWS Managed Blockchain & Amazon ...
IVS CTO Night And Day 2018 Winter - [re:Cap] AWS Managed Blockchain & Amazon ...Amazon Web Services Japan
 

Semelhante a Do you need a ledger database or a blockchain? - SVC310 - Chicago AWS Summit (20)

Building system-of-record applications with Amazon QLDB - SVC218 - New York A...
Building system-of-record applications with Amazon QLDB - SVC218 - New York A...Building system-of-record applications with Amazon QLDB - SVC218 - New York A...
Building system-of-record applications with Amazon QLDB - SVC218 - New York A...
 
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdf
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdfDo you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdf
Do you need a ledger database or a blockchain - SVC208 - Atlanta AWS Summit.pdf
 
Introduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitaliIntroduzione a blockchain e registri digitali
Introduzione a blockchain e registri digitali
 
去中心化身分識別-Decentralized-Identifiers-如何改變著未來的網路型態?
去中心化身分識別-Decentralized-Identifiers-如何改變著未來的網路型態?去中心化身分識別-Decentralized-Identifiers-如何改變著未來的網路型態?
去中心化身分識別-Decentralized-Identifiers-如何改變著未來的網路型態?
 
Building enterprise solutions with blockchain and ledger technology - SVC202 ...
Building enterprise solutions with blockchain and ledger technology - SVC202 ...Building enterprise solutions with blockchain and ledger technology - SVC202 ...
Building enterprise solutions with blockchain and ledger technology - SVC202 ...
 
Amazon Managed Blockchain and Quantum Ledger Database QLDB
Amazon Managed Blockchain and Quantum Ledger Database QLDBAmazon Managed Blockchain and Quantum Ledger Database QLDB
Amazon Managed Blockchain and Quantum Ledger Database QLDB
 
Deep dive on Amazon Managed Blockchain
Deep dive on Amazon Managed BlockchainDeep dive on Amazon Managed Blockchain
Deep dive on Amazon Managed Blockchain
 
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
Building Enterprise Solutions with Blockchain and Ledger Technology - SVC202 ...
 
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...
 
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...
Need for Speed – Intro To Real-Time Data Streaming Analytics on AWS | AWS Sum...
 
¿Son las bases de datos de contabilidad interesantes, o son parte del hype al...
¿Son las bases de datos de contabilidad interesantes, o son parte del hype al...¿Son las bases de datos de contabilidad interesantes, o son parte del hype al...
¿Son las bases de datos de contabilidad interesantes, o son parte del hype al...
 
Building Data Lakes for Analytics on AWS - ADB201 - Anaheim AWS Summit
Building Data Lakes for Analytics on AWS - ADB201 - Anaheim AWS SummitBuilding Data Lakes for Analytics on AWS - ADB201 - Anaheim AWS Summit
Building Data Lakes for Analytics on AWS - ADB201 - Anaheim AWS Summit
 
AWS Summit Singapore 2019 | Big Data Analytics Architectural Patterns and Bes...
AWS Summit Singapore 2019 | Big Data Analytics Architectural Patterns and Bes...AWS Summit Singapore 2019 | Big Data Analytics Architectural Patterns and Bes...
AWS Summit Singapore 2019 | Big Data Analytics Architectural Patterns and Bes...
 
Build scalable applications with a serverless relational database - ADB211 - ...
Build scalable applications with a serverless relational database - ADB211 - ...Build scalable applications with a serverless relational database - ADB211 - ...
Build scalable applications with a serverless relational database - ADB211 - ...
 
Breaking Up the Monolith with Containers
Breaking Up the Monolith with ContainersBreaking Up the Monolith with Containers
Breaking Up the Monolith with Containers
 
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdfWhat's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
What's new in Amazon Aurora - ADB204 - Santa Clara AWS Summit.pdf
 
Databases on AWS - The right tool for the right job - ADB203 - Santa Clara AW...
Databases on AWS - The right tool for the right job - ADB203 - Santa Clara AW...Databases on AWS - The right tool for the right job - ADB203 - Santa Clara AW...
Databases on AWS - The right tool for the right job - ADB203 - Santa Clara AW...
 
Building enterprise solutions with blockchain technology - SVC217 - New York ...
Building enterprise solutions with blockchain technology - SVC217 - New York ...Building enterprise solutions with blockchain technology - SVC217 - New York ...
Building enterprise solutions with blockchain technology - SVC217 - New York ...
 
Building data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdf
Building data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdfBuilding data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdf
Building data lakes for analytics on AWS - ADB201 - Santa Clara AWS Summit.pdf
 
IVS CTO Night And Day 2018 Winter - [re:Cap] AWS Managed Blockchain & Amazon ...
IVS CTO Night And Day 2018 Winter - [re:Cap] AWS Managed Blockchain & Amazon ...IVS CTO Night And Day 2018 Winter - [re:Cap] AWS Managed Blockchain & Amazon ...
IVS CTO Night And Day 2018 Winter - [re:Cap] AWS Managed Blockchain & Amazon ...
 

Mais de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mais de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Do you need a ledger database or a blockchain? - SVC310 - Chicago AWS Summit

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Do you need a ledger database or a blockchain? Michael Labib Principal SA Amazon Web Services S V C 3 1 0
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Agenda • Blockchain at AWS • Amazon QLDB architecture and feature overview • Technical deep dives • Customer use cases • Q&A
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T What is blockchain? Consensus algorithms No intermediaries in decision process, support for smart contracts Immutable, append-only, data integrity Ledgers Decentralization Distributed trust and data replication
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Blockchain at AWS Amazon Managed Blockchain Amazon Quantum Ledger Database (Amazon QLDB)
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Centralized vs. decentralized • Owned by a single, trusted authority • Addresses core need of an immutable and verifiable transactional log • Fast—doesn’t require consent from members to commit transactions Centralized • No single owner of the ledger. Joint ownership by multiple parties • Addresses core need of enabling multiple parties to transact transparently and with trust with each other • Removes intermediaries when a group of members needs to transact. Can make business processes more efficient Decentralized
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Need for a ledger with centralized trust TRANSACTIONS WITH DECENTRALIZED TRUST2 DMV Track vehicle title history Manufacturers Track distribution of a recalled product HR & payroll Track changes to an individual’s profile Healthcare Verify and track hospital equipment inventory LEDGERS WITH CENTRALIZED TRUST1
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Need for running transactions with decentralized trust Financial institutions Peer-to-peer payments Mortgage lenders Process syndicated loans Supply chain Transact with suppliers and distributers Retail Streamline customer rewards TRANSACTIONS WITH DECENTRALIZED TRUST2 LEDGERS WITH CENTRALIZED TRUST1
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amazon Managed Blockchain Easily create and manage scalable blockchain networks Quickly create blockchain networks that span multiple AWS accounts. Easily add or remove members and monitor the network. Fully managed Improves reliabilityScalable and secure Easily scale your blockchain network as the usage grows. Also, Managed Blockchain secures your network certificates with AWS KMS. Choice of Hyperledger Fabric or Ethereum Choose the right framework for your needs, whether you are building a permissioned or public network. Managed Blockchain improves the reliability of the “ordering service,” by replacing the default technology with Amazon QLDB. This improves durability.
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Purpose-built databases at AWS Relational Referential integrity, ACID transactions, schema-on-write Lift and shift, ERP, CRM, finance Key-value High throughput, low-latency reads, and writes, endless scale Real-time bidding, shopping cart, social, product catalog, customer preferences Document Store documents and quickly access querying on any attribute Content management, personalization, mobile In-memory Query by key with microsecond latency Leaderboards, real-time analytics, caching Graph Quickly and easily create and navigate relationships between data Fraud detection, social networking, recommendation engine Time-series Collect, store, and process data sequenced by time IoT applications, event tracking Ledger Complete, immutable, and verifiable history of all changes to application data Systems of record, supply chain, healthcare, registrations, financial
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T ID Manufacturer Model Year VIN Owner 1 Tesla Model S 2012 123456789 Traci Russell Traditional database architecture • Typically an internal implementation • Used for replicating data • Difficult, or impossible, to directly access cars tx1 tx2 tx3 tx4 tx5 tx6 tx7 tx8 logs
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amazon QLDB: the log is the database • All writes go to the log—the log determines state • Log handles concurrency, sequencing, cryptographic verifiability, and availability • Accessible history of all transactions ID Version Start Manufacturer Model Year VIN Owner 1 1 7/16/2012 Tesla Model S 2012 123456789 Traci Russell 1 2 8/03/2013 Tesla Model S 2012 123456789 Ronnie Nash 1 3 9/02/2016 Deleted ID Manufacturer Model Year VIN Owner 1 Tesla Model S 2012 123456789 Traci Russell cars.history cars tx1 tx2 tx3 tx4 tx5 tx6 tx7 tx8 ledger journal
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T WritingReading Amazon QLDB: The log is the database ID Version Start Manufacturer Model Year VIN Owner 1 1 7/16/2012 Tesla Model S 2012 123456789 Traci Russell 1 2 8/03/2013 Tesla Model S 2012 123456789 Ronnie Nash 1 3 9/02/2016 Deleted ID Manufacturer Model Year VIN Owner 1 Tesla Model S 2012 123456789 Traci Russell history.cars current.cars INSERT… UPDATE… DELETE… UPDATE… UPDATE… UPDATE… SEQUENCE NUMBER: 789 SEQUENCE NUMBER: 790 SEQUENCE NUMBER: 791 SEQUENCE NUMBER: 793 SEQUENCE NUMBER: 792 SEQUENCE NUMBER: -- journal ledger Application data Amazon QLDB Writing
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Transactions (ACID) Isolation Level Potential Issues Serializable Snapshot Isolation Repeatable read Read committed Read uncommitted - Potential write skew Phantom reads Phantom reads/non-repeatable reads Phantom reads/non-repeatable reads/dirty reads HIGHESTTOLOWEST
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Deeper look at concurrency control, isolation Optimistic (CQL) • Favors short-running transactions • Encourages “hygiene” by requiring programmer to carefully consider read patterns Thread 1 SELECT UPDATE.. IF.. Thread 2 SELECT UPDATE.. IF.. Pessimistic (SQL) • Favors long-running transactions • Easier to “over-include” data in read operations Thread 1 SELECT FOR UPDATE COMMIT Thread 2 SELECT FOR UPDATE COMMIT
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Easy to use (SQL) INSERT INTO cars { 'Manufacturer':'Tesla', 'Model':'Model S', 'Year':'2012', 'VIN':'123456789', 'Owner':'Traci Russell' } SELECT * FROM cars UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789'
  • 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Serverless, scalable, highly available CREATE LEDGER Region Availability zone 1 Availability zone 2 Host 1 Host 2 Host 1 Host 2
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T UPDATE… DELETE… UPDATE… UPDATE… UPDATE… Immutable INSERT… SEQUENCE NUMBER: 789 SEQUENCE NUMBER: 790 SEQUENCE NUMBER: 791 SEQUENCE NUMBER: 793 SEQUENCE NUMBER: 792 SEQUENCE NUMBER: --
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Cryptographic verification Entries Record QLDB SQL Metadata journal Record hash Digest
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amazon QLDB summary Log-first The log is the database ACID Transactions Fully serializable isolation Easy to use Familiar SQL operators Highly scalable Serverless, highly available Immutable Append-only, sequenced Cryptographically verifiable Hash-chaining provide data integrity
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amazon QLDB data model: Ion vehicle = { ‘VIN’ : “KM8SRDHF6EU074761”, ‘MfgDate’ : “2017-03-01” ‘Type’: “Truck” ‘Mfgr’: “Ford” ‘Model’: “F150” ‘Color”: “Black” ‘Specs’: { ‘EngSize’ : 3.3 ‘CurbWeight’: 4878 ‘HP’: 327 ‘BatterySize’: Null } } JSON document /* Ion supports comments. */ vehicle = { ‘VIN’ : “KM8SRDHF6EU074761”, ‘MfgDate’: 2017-03-01T ‘Type’: “Truck” ‘Mfgr’: “Ford” ‘Model’: “F150” ‘Color”: “Black” ‘Specs’: { ‘EngSize’ : 3.3 (decimal) ‘CurbWeight’: 4878 (int) ‘HP’: 327 (int) ‘BatterySize’: NULL.int } } Ion document https://github.com/amzn/ion-java
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Amazon QLDB data model: Query vehicle = { ‘VIN’ : “KM8SRDHF6EU074761”, ‘MfgDate’ : 2017-03-01T // timestamp ‘Type’: “Truck” ‘Mfgr’: “Ford” ‘Model’: “F150” ‘Color”: “Black” ‘Specs’: { ‘EngSize’ : 3.3 ‘CurbWeight’: 4,878 ‘HP’: 327 ‘BatterySize’ : NULL // null values } } SELECT VIN, Specs.EngSize, Specs.HP FROM vehicles as v WHERE v.type = ‘Truck’ VIN EngSize HP KM8SRDHF6EU074761 3.3 327 3HGGK5G53FM761765 2.7 285
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Assume three tables Amazon QLDB data model: Ecommerce data model using Ion ProductsCustomersOrders CREATE TABLE Orders CREATE TABLE Customers CREATE TABLE Products
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T ProductsCustomers How best to model this ? Ledger: Order system INSERT INTO customers { 'customer-id': '1000', 'first-name': 'Mike', 'last-name': 'Labib', 'membership': true, 'address': ‘126 Brampton Lane’ 'city': ‘Chicago', 'state': 'IL' } INSERT INTO products { 'product-id': '346211' , 'product-description': 'socks', 'product-color': 'blue', 'price': '5.00', 'active': true, 'external-sku': 'Ak3234211' } • Flexible document schema leveraging Amazon ION
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T INSERT INTO orders { 'order-id' : '100056', 'customer' : { 'customer-id': '1000', 'first-name' : 'Mike', 'last-name' : 'Labib', 'address' : ‘126 Brampton Lane', 'city' : ‘Chicago', 'state' : 'IL' }, 'order-date' : '2019-04-30T', 'order-details' : { 'item' : { 'product-id' : '346211' , 'product-description' : '3 pair socks', 'product-color' : 'blue', 'price' : '15.00', 'quantity' : '2' } }, 'total' : '55.00' } Ledger: Order system Nested document structure enables optimal queries and data access Order Products Customers
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Ledger: Order system SELECT o."order-details" from orders o WHERE o.customer."customer-id" = '1000' AND o."order-id" = '100056' { item: {'product-id':"346211", 'product-description':"3 pair socks", 'product-color':"blue", price:"15.00", quantity:"2"} } Query Result Nested document query (customer within orders) Products Customers Orders
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Mapping constructs between RDBMS & Amazon QLDB Table Relational Table Amazon QLDB Table row Amazon Ion Document Column Document Attribute Index Index SQL QLDB SQL Audit Logs Journal Database Ledger
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Deeper look at cryptographic verifiability Four basic steps to seeing how Amazon QLDB verifiability works Proof: A chain of hashes that links a document to its digest a4e31e36910d99bd19b7f875f0 a04597dc0ff52c2f164a16a9288 aed9e710fdd a4e31e36910d99bd19b7f875f0 a04597dc0ff52c2f164a16a9288 aed9e710fdd a4e31e36910d99bd19b7f875f0 a04597dc0ff52c2f164a16a9288 aed9e710fdd Digest: Periodic hash covering all history SHA256: Unique signature of a document a4e31e36910d99bd19b7f875f0 a04597dc0ff52c2f164a16a9288 aed9e710fdd Merkle trees: Chaining past hashes together MERKLE ROOT HABCD Hash(HAB+HCD) HAB Hash(HA+HB) HCD Hash(HC+HD) HA Hash(TxA) HB Hash(TxB) HC Hash(TxC) HD Hash(TxD)
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Cryptographic verifiability: SHA-256 Amazon QLDB uses the SHA-256 algorithm to create unique, fixed-length outputs (hashes). Change any part, even one character, and the output (hash) is different. vehicle = { ‘VIN’ : “KM8SRDHF6EU074761”, ‘Type’: “Truck” ‘Model’: “F150” ‘Specs’: { ‘EngSize’ : 3.3 ‘CurbWeight’: 4,878 ‘HP’: 327 } } vehicle = { ‘VIN’ : “KM8SRDHF6EU074761”, ‘Type’: “Truck” ‘Model’: “F150” ‘Specs’: { ‘EngSize’ : 3.3 ‘CurbWeight’: 4,879 ‘HP’: 327 } } SHA-256 SHA-256 a4e31e36910d99bd19b7f875f 0a04597dc0ff52c2f164a16a92 88aed9e710fdd 19318457408920af2d2cbeacd 90c7afe0fbd7f6ff316972c8f65 6c8bbc402dd1
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T a4e31e36910d99bd19b7f875f 0a04597dc0ff52c2f164a16a92 88aed9e710fdd vehicle = { ‘VIN’ : “KM8SRDHF6EU074761”, ‘Type’: “Truck” ‘Model’: “F150” ‘Specs’: { ‘EngSize’ : 3.3 ‘CurbWeight’: 4,878 ‘HP’: 327 } } Cryptographic verifiability: SHA-256 SHA-256 is one way. It is unfeasible to compute the input given an output. SHA-256 SHA-256 19318457408920af2d2cbeacd 90c7afe0fbd7f6ff316972c8f65 6c8bbc402dd1
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T …but a tree is cheaper and faster. Merkle trees are used in most blockchain frameworks MERKLE ROOT HABCD Hash(HAB+HCD) HAB Hash(HA+HB) HCD Hash(HC+HD) HA Hash(TxA) HB Hash(TxB) HC Hash(TxC) HD Hash(TxD) Cryptographic verifiability: Merkle tree (AKA hash tree) It’s possible to do a linear recalculation of hashes on a ledger…
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Cryptographic verifiability: the digest Thedigestisyourledger’sMerkle treerootatapointintime Root hash Doc
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T ID Manufacturer Model Year VIN Owner ID Version Start Manufacturer Model Year VIN Owner How it works cars.history H cars C J INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Traci Russell Metadata: { Date:07/16/2012 } H (T1) INSERT INTO cars << { 'Manufacturer':'Tesla', 'Model':'Model S', 'Year':'2012', 'VIN':'123456789', 'Owner':'Traci Russell' } >> journal
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T ID Manufacturer Model Year VIN Owner ID Version Start Manufacturer Model Year VIN Owner How it works cars.history H cars C J INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Traci Russell Metadata: { Date:07/16/2012 } H (T1) INSERT INTO cars << { 'Manufacturer':'Tesla', 'Model':'Model S', 'Year':'2012', 'VIN':'123456789', 'Owner':'Traci Russell' } >> journal 1 Tesla Model S 2012 123456789 Traci Russell 1 1 7/16/2012 Tesla Model S 2012 123456789 Traci Russell
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 1 2 8/03/2013 Tesla Model S 2012 123456789 Ronnie Nash ID Manufacturer Model Year VIN Owner ID Version Start Manufacturer Model Year VIN Owner How it works cars.history H cars C J INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Traci Russell Metadata: { Date:07/16/2012 } H (T1) journal 1 Tesla Model S 2012 123456789 Traci Russell UPDATE cars SET owner = 'Ronnie Nash' WHERE VIN = '123456789' UPDATE cars ID:1 Owner: Ronnie Nash Metadata: { Date:08/03/2013 } H (T2) Ronnie Nash 1 1 7/16/2012 Tesla Model S 2012 123456789 Traci Russell
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T ID Manufacturer Model Year VIN Owner ID Version Start Manufacturer Model Year VIN Owner How it works cars.history H cars C J INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Traci Russell Metadata: { Date:07/16/2012 } H (T1) journal 1 Tesla Model S 2012 123456789 Ronnie Nash 1 1 7/16/2012 Tesla Model S 2012 123456789 Traci Russell UPDATE cars ID:1 Owner: Ronnie Nash Metadata: { Date:08/03/2013 } H (T2) 1 2 8/03/2013 Tesla Model S 2012 123456789 Ronnie Nash DELETE FROM cars WHERE VIN = '123456789' DELETE cars ID:1 Metadata: { Date: 09/02/2016 } H (T3) 1 3 9/02/2016 Deleted
  • 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Walk through a hash chain J INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Traci Russell Metadata: { Date:07/16/2012 } H(T1) INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Traci Russell Metadata: { Date:07/16/2012 } SHA-256 H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Hashing and chaining transactions J INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Traci Russell Metadata: { Date:07/16/2012 } H(T1) SHA-256 H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7 UPDATE cars ID:1 Owner: Ronnie Nash Metadata: { Date:08/03/2013 } H(T2) UPDATE cars ID:1 Owner: Ronnie Nash Metadata: { Date:08/03/2013 } H(T2) = 86a90e4166453d9423b84d47dcbd97c0e3099b1a1f0d7cfca6c191d8fd8994ff H(T1) +
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Hashing and chaining transactions J INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Traci Russell Metadata: { Date:07/16/2012 } H(T1) UPDATE cars ID:1 Owner: Ronnie Nash Metadata: { Date:08/03/2013 } H(T2) H(T2) = 86a90e4166453d9423b84d47dcbd97c0e3099b1a1f0d7cfca6c191d8fd8994ff DELETE cars ID:1 Metadata: { Date: 09/02/2016 } H(T3) H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7
  • 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Hashing and chaining transactions J H(T1) H(T2)INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Traci Russell Metadata: { Date:07/16/2012 } UPDATE cars ID:1 Owner: Ronnie Nash Metadata: { Date:08/03/2013 } H(T3)DELETE cars ID:1 Metadata: { Date: 09/02/2016 } H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7 H(T3) = ae2d64e562ec754ec3194c744eec72c9fdafffc6b559e0414d0e75bf96ca92ad H(T2) = 86a90e4166453d9423b84d47dcbd97c0e3099b1a1f0d7cfca6c191d8fd8994ff
  • 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T H(T2) = 86a90e4166453d9423b84d47dcbd97c0e3099b1a1f0d7cfca6c191d8fd8994ff H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7 A digest is a hash value at a point in time J H(T1) H(T2)INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Traci Russell Metadata: { Date:07/16/2012 } UPDATE cars ID:1 Owner: Ronnie Nash Metadata: { Date:08/03/2013 } H(T3)DELETE cars ID:1 Metadata: { Date: 09/02/2016 } H(T3) = ae2d64e562ec754ec3194c744eec72c9fdafffc6b559e0414d0e75bf96ca92ad
  • 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T H(T3) = ae2d64e562ec754ec3194c744eec72c9fdafffc6b559e0414d0e75bf96ca92ad H(T3) = c6268578a24dbe0c7cfba07bd967411a35462b8c875d42f1991faad02c0ac93c H(T2) = 86a90e4166453d9423b84d47dcbd97c0e3099b1a1f0d7cfca6c191d8fd8994ff H(T2) = a90a9898c7e4b1aab19c705b554afd9e0bf6539bb0346df19be362ff63001098 H(T1) = 2526f16306c819d651af075934170d2430d246d9ab98d975d28a83baded47ca7 H(T1) = 25d0b44e6e8878151646ffc1fea4eb85c3e4bf4baec212a9fcf67b6d5a81e01a UPDATE cars ID:1 Owner: Ronnie Nash Metadata: { Date:08/03/2013 } DELETE cars ID:1 Metadata: { Date: 09/02/2016 } Changing committed data breaks the chain J H(T1) H(T2)INSERT cars ID:1 Manufacturer: Tesla Model: Model S Year: 2012 VIN: 123456789 Owner: Tracy Russell Metadata: { Date:07/16/2012 } H(T3)
  • 42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Challenges customers face Building ledgers with traditional databases Blockchain approaches Adds unnecessary complexity Designed for a different purpose Error prone and incomplete Impossible to verify Resource intensive Difficult to manage and scale
  • 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Why do immutability and verifiability matter? Reduce risk: Ensure safeguarding of critical system-of-record applications where data loss could be expensive. Improve data tracking: Helps you or any parties that have access to the system to quickly and accurately track data’s entire lineage, improving efficiency in tracking the source of issues (e.g., manufacturing defects, maintain supply network data hygiene) Auditability: Helps reduce downtime caused due to audit and compliance issues, saving hundreds of productivity hours for your team Reduce implementation effort: Building immutability and verifiability in a traditional way is time consuming, complex, and expensive
  • 44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Thank you! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Michael Labib