SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Fine-Grained, Secure and Efficient Data
Provenance on Blockchain Systems
Pingcheng RUAN, Gang CHEN, Tien Tuan Anh DINH,
Qian LIN, Beng Chin OOI, Meihui ZHANG
Blockchain Is a Class of Database
Blockchain
Distributed
Database
Database
Bitcoin
Distributed
Transactional
Systems
Blockchain Basics
• P2P network
– Asynchronous transaction
• Byzantine environment
– Mutual distrusting setup
• Distributed ledger
– Smart contract
• Inherent provenance-preserving
– ONLY for offline analytical query
Contract Txn 1 Txn 2
Token.Transfer( A, B, 10)
Token.Transfer( C, D, 20)Token.Transfer( A, B, 20)
Motivation
Expose provenance information
to smart contracts both
Efficiently Securely
Enabler for provenance-
dependent smart contracts
Enrich the transaction semantics
Provenance-dependent Contracts
• Previous transfer precondition:
– Enough balance from the sender
– CURRENT STATE ONLY
• New transfer precondition:
– Historical balance > threshold
– Recipient not transacted with certain blacklisted addresses recently
– HISTORICAL STATE & PROVENANCE INFO
Workarounds
Workaround 1:
•Dump every thing into current
state
•Effort-needed, expensive,
error-prune
Workaround 2:
• Offline analytics + Online
transactions
• Break of serializability
• Transaction-ordering attacks
Workaround 3:
• Minimum system
instrumentation
• NOT protocol level (e.g.,
Hyperledger Fabric v1.0+)
• Data tampering
Holistic Approach:
• Protocol-level enhancement
 Secure
• Performance-aware
 Efficient
Account1_v1: 10
Account1_v2: 20
Account1_v3: 15
Account2_v2: 12
Challenges
• With clearly-defined transformation semantics
• E.g
• Map and reduce in Hadoop
• Select, join and aggregation in SQL
NO standardized operations
• Tamper evidence
• Integrity proof
Byzantine environment
• Gas mechanism
• Verifier’s dilemma
Ever-growing ledger
Block Structure
Block Header
Prev Hash hash Txn Digest
State Digest PoW Nonce
Txn List
Enhancement Basis (Merkle Tree Variants)
• Limitation
– Latest State only
• Tamper evidence
– Succinct digest (root hash)
– Integrity proof (access path)
Block Header
Account Address and Assoicated
Balance in Global State:
0xABC: 10 0xABCD: 15
0xABCE: 20 0xBC: 25
Previous Block Hash
Transaction MPT Root Hash
Nonce
Receipt MPT Root Hash
State MPT Root Hash = H(Z)
nilA: H(X) B: H(Y)Z
BC: H(V) C: 25X Y
10D: 15 E: 20V
<Updated Chaincode ID>_<Key>:
ccid1_k1 ccid2_k1
ccid3_k1 ccid3_k2
Block Header
State Root Hash
Previous Block Hash
Transaction Root Hash
G
E F
A B C
ccid1_k1
ccid2_k1
ccid3_k1
ccid3_k2
D
Bucket List
(a) (b)
Merkle Patricia Trie Merkle Bucket Tree
LineageChain Overview
Application Layer
• Provenance specification
– User-defined input-output dependency
• Provenance query handler
– Hist(stateID, [blockNum])
 (val, blkStart, txnID)
– Backward(stateID, blkNum)
 List<(depStateID, depBlkNum)>
– Forward(stateID, blkNum)
 List<(depStateID, depBlkNum)>
InputID1
InputID2
OutputID1
OutputID2
OutputID3
Backward
Dependency
Forward
Dependency
Application Layer
Recipient -> Sender
Execution Layer
• Receive
– Contract invocation context
– Provenance specification
• Compute
– Transaction results
– Concrete dependency
• Prepare Merkle DAG
– Introduce one layer of direction
– Hash reference to encode
provenance backward
dependency
Execution Layer
• Forward tracking
– Problem: Undecided forward dependency during state update
• Solution
– Lazily store forward dependency on the successor state entry
Storage Layer
• Problem
– Efficient version-based (historical) query for a state ID
• Solution:
– Deterministic Append-only Skip List
– Hash-based reference
After appending
versions 12 and 16
Evaluation
• MICRO benchmarking (vs. flat storage)
– Preference to recent version query (with DASL)
– More efficient BFS enabled by backtrack (with ForkBase)
• MACRO benchmarking (applied to Hyperledger Fabric v0.6 and
v1.3)
– Negligible runtime overhead
o Tiny proportion of latency
– Negligible storage overhead
o >70% of space for blocks
o 25% for historical states
o 2~4% for DASL indexes and hash pointers
Performance of Provenance Query
• vs. Workaround 2
– Compute data provenance offline and conditionally trigger online transaction
Micro Performance of Provenance Query
• vs. Workaround 1
– Dump everything into the current state
• vs. Workaround 3
– Use Hyperledger Fabric’s built-in HistoryDB
Runtime Overhead
• Transaction processing
Hyperledger Fabric v0.6 Hyperledger Fabric v1.3
Storage Overhead
Conclusion
• LineageChain
– Enabler for provenance-dependent blockchain applications
– Protocol-level enhancement w.r.t. efficiency and security
– Negligible performance and storage overhead
• Key designs
– User-defined dependency specification
– Merkle DAG with dependency tracking
– DASL index to accelerate data provenance query
– Adoption in Hyperledger Fabric (v0.6 & v1.3)
ThankYou!

Contenu connexe

Similaire à Fine-Grained, Secure and Efficient Data Provenance on Blockchain Systems

Zeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptxZeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptxYongraeJo
 
TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service ChainTXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service ChainKlaytn
 
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Romeo Kienzler
 
Redesigning MPTCP in Edge clouds
Redesigning MPTCP in Edge cloudsRedesigning MPTCP in Edge clouds
Redesigning MPTCP in Edge cloudsNitinder Mohan
 
Flink Forward Berlin 2018: Nico Kruber - "Improving throughput and latency wi...
Flink Forward Berlin 2018: Nico Kruber - "Improving throughput and latency wi...Flink Forward Berlin 2018: Nico Kruber - "Improving throughput and latency wi...
Flink Forward Berlin 2018: Nico Kruber - "Improving throughput and latency wi...Flink Forward
 
BigchainDB: A Scalable Blockchain Database, In Python
  BigchainDB: A Scalable Blockchain Database, In Python   BigchainDB: A Scalable Blockchain Database, In Python
BigchainDB: A Scalable Blockchain Database, In Python BigchainDB
 
Trent McConaghy- BigchainDB
Trent McConaghy- BigchainDBTrent McConaghy- BigchainDB
Trent McConaghy- BigchainDBPyData
 

Similaire à Fine-Grained, Secure and Efficient Data Provenance on Blockchain Systems (20)

Zeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptxZeus Locality aware distributed transaction upload.pptx
Zeus Locality aware distributed transaction upload.pptx
 
4 transport-sharing
4 transport-sharing4 transport-sharing
4 transport-sharing
 
Blockchain
BlockchainBlockchain
Blockchain
 
Tribeflow on bitcoin data
Tribeflow on bitcoin dataTribeflow on bitcoin data
Tribeflow on bitcoin data
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
 
TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service ChainTXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
 
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
 
Quality of service
Quality of serviceQuality of service
Quality of service
 
Redesigning MPTCP in Edge clouds
Redesigning MPTCP in Edge cloudsRedesigning MPTCP in Edge clouds
Redesigning MPTCP in Edge clouds
 
Flink Forward Berlin 2018: Nico Kruber - "Improving throughput and latency wi...
Flink Forward Berlin 2018: Nico Kruber - "Improving throughput and latency wi...Flink Forward Berlin 2018: Nico Kruber - "Improving throughput and latency wi...
Flink Forward Berlin 2018: Nico Kruber - "Improving throughput and latency wi...
 
Chap 03
Chap 03Chap 03
Chap 03
 
Chap 03
Chap 03Chap 03
Chap 03
 
Transport Layer Description By Varun Tiwari
Transport Layer Description By Varun TiwariTransport Layer Description By Varun Tiwari
Transport Layer Description By Varun Tiwari
 
qos-f05 (2).ppt
qos-f05 (2).pptqos-f05 (2).ppt
qos-f05 (2).ppt
 
qos-f05 (3).ppt
qos-f05 (3).pptqos-f05 (3).ppt
qos-f05 (3).ppt
 
qos-f05.pdf
qos-f05.pdfqos-f05.pdf
qos-f05.pdf
 
qos-f05.ppt
qos-f05.pptqos-f05.ppt
qos-f05.ppt
 
Thaker q3 2008
Thaker q3 2008Thaker q3 2008
Thaker q3 2008
 
BigchainDB: A Scalable Blockchain Database, In Python
  BigchainDB: A Scalable Blockchain Database, In Python   BigchainDB: A Scalable Blockchain Database, In Python
BigchainDB: A Scalable Blockchain Database, In Python
 
Trent McConaghy- BigchainDB
Trent McConaghy- BigchainDBTrent McConaghy- BigchainDB
Trent McConaghy- BigchainDB
 

Plus de Qian Lin

PaxosStore: High-availability Storage Made Practical in WeChat
PaxosStore: High-availability Storage Made Practical in WeChatPaxosStore: High-availability Storage Made Practical in WeChat
PaxosStore: High-availability Storage Made Practical in WeChatQian Lin
 
Trinity: A Distributed Graph Engine on a Memory Cloud
Trinity: A Distributed Graph Engine on a Memory CloudTrinity: A Distributed Graph Engine on a Memory Cloud
Trinity: A Distributed Graph Engine on a Memory CloudQian Lin
 
Presto: Distributed Machine Learning and Graph Processing with Sparse Matrices
Presto: Distributed Machine Learning and Graph Processing with Sparse MatricesPresto: Distributed Machine Learning and Graph Processing with Sparse Matrices
Presto: Distributed Machine Learning and Graph Processing with Sparse MatricesQian Lin
 
Adaptive Execution Support for Malleable Computation
Adaptive Execution Support for Malleable ComputationAdaptive Execution Support for Malleable Computation
Adaptive Execution Support for Malleable ComputationQian Lin
 
C-Cube: Elastic Continuous Clustering in the Cloud
C-Cube: Elastic Continuous Clustering in the CloudC-Cube: Elastic Continuous Clustering in the Cloud
C-Cube: Elastic Continuous Clustering in the CloudQian Lin
 
Kineograph: Taking the Pulse of a Fast-Changing and Connected World
Kineograph: Taking the Pulse of a Fast-Changing and Connected WorldKineograph: Taking the Pulse of a Fast-Changing and Connected World
Kineograph: Taking the Pulse of a Fast-Changing and Connected WorldQian Lin
 
Optimizing Virtual Machines Using Hybrid Virtualization
Optimizing Virtual Machines Using Hybrid VirtualizationOptimizing Virtual Machines Using Hybrid Virtualization
Optimizing Virtual Machines Using Hybrid VirtualizationQian Lin
 
Virtual Machine Performance
Virtual Machine PerformanceVirtual Machine Performance
Virtual Machine PerformanceQian Lin
 
Be an Explorer, Be a Coder, Be a Writer
Be an Explorer, Be a Coder, Be a WriterBe an Explorer, Be a Coder, Be a Writer
Be an Explorer, Be a Coder, Be a WriterQian Lin
 
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data FormatsSciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data FormatsQian Lin
 
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...Qian Lin
 
In-situ MapReduce for Log Processing
In-situ MapReduce for Log ProcessingIn-situ MapReduce for Log Processing
In-situ MapReduce for Log ProcessingQian Lin
 
C-MR: Continuously Executing MapReduce Workflows on Multi-Core Processors
C-MR: Continuously Executing MapReduce Workflows on Multi-Core ProcessorsC-MR: Continuously Executing MapReduce Workflows on Multi-Core Processors
C-MR: Continuously Executing MapReduce Workflows on Multi-Core ProcessorsQian Lin
 

Plus de Qian Lin (13)

PaxosStore: High-availability Storage Made Practical in WeChat
PaxosStore: High-availability Storage Made Practical in WeChatPaxosStore: High-availability Storage Made Practical in WeChat
PaxosStore: High-availability Storage Made Practical in WeChat
 
Trinity: A Distributed Graph Engine on a Memory Cloud
Trinity: A Distributed Graph Engine on a Memory CloudTrinity: A Distributed Graph Engine on a Memory Cloud
Trinity: A Distributed Graph Engine on a Memory Cloud
 
Presto: Distributed Machine Learning and Graph Processing with Sparse Matrices
Presto: Distributed Machine Learning and Graph Processing with Sparse MatricesPresto: Distributed Machine Learning and Graph Processing with Sparse Matrices
Presto: Distributed Machine Learning and Graph Processing with Sparse Matrices
 
Adaptive Execution Support for Malleable Computation
Adaptive Execution Support for Malleable ComputationAdaptive Execution Support for Malleable Computation
Adaptive Execution Support for Malleable Computation
 
C-Cube: Elastic Continuous Clustering in the Cloud
C-Cube: Elastic Continuous Clustering in the CloudC-Cube: Elastic Continuous Clustering in the Cloud
C-Cube: Elastic Continuous Clustering in the Cloud
 
Kineograph: Taking the Pulse of a Fast-Changing and Connected World
Kineograph: Taking the Pulse of a Fast-Changing and Connected WorldKineograph: Taking the Pulse of a Fast-Changing and Connected World
Kineograph: Taking the Pulse of a Fast-Changing and Connected World
 
Optimizing Virtual Machines Using Hybrid Virtualization
Optimizing Virtual Machines Using Hybrid VirtualizationOptimizing Virtual Machines Using Hybrid Virtualization
Optimizing Virtual Machines Using Hybrid Virtualization
 
Virtual Machine Performance
Virtual Machine PerformanceVirtual Machine Performance
Virtual Machine Performance
 
Be an Explorer, Be a Coder, Be a Writer
Be an Explorer, Be a Coder, Be a WriterBe an Explorer, Be a Coder, Be a Writer
Be an Explorer, Be a Coder, Be a Writer
 
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data FormatsSciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
 
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
 
In-situ MapReduce for Log Processing
In-situ MapReduce for Log ProcessingIn-situ MapReduce for Log Processing
In-situ MapReduce for Log Processing
 
C-MR: Continuously Executing MapReduce Workflows on Multi-Core Processors
C-MR: Continuously Executing MapReduce Workflows on Multi-Core ProcessorsC-MR: Continuously Executing MapReduce Workflows on Multi-Core Processors
C-MR: Continuously Executing MapReduce Workflows on Multi-Core Processors
 

Dernier

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 

Dernier (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 

Fine-Grained, Secure and Efficient Data Provenance on Blockchain Systems

  • 1. Fine-Grained, Secure and Efficient Data Provenance on Blockchain Systems Pingcheng RUAN, Gang CHEN, Tien Tuan Anh DINH, Qian LIN, Beng Chin OOI, Meihui ZHANG
  • 2. Blockchain Is a Class of Database Blockchain Distributed Database Database Bitcoin Distributed Transactional Systems
  • 3. Blockchain Basics • P2P network – Asynchronous transaction • Byzantine environment – Mutual distrusting setup • Distributed ledger – Smart contract • Inherent provenance-preserving – ONLY for offline analytical query Contract Txn 1 Txn 2 Token.Transfer( A, B, 10) Token.Transfer( C, D, 20)Token.Transfer( A, B, 20)
  • 4. Motivation Expose provenance information to smart contracts both Efficiently Securely Enabler for provenance- dependent smart contracts Enrich the transaction semantics
  • 5. Provenance-dependent Contracts • Previous transfer precondition: – Enough balance from the sender – CURRENT STATE ONLY • New transfer precondition: – Historical balance > threshold – Recipient not transacted with certain blacklisted addresses recently – HISTORICAL STATE & PROVENANCE INFO
  • 6. Workarounds Workaround 1: •Dump every thing into current state •Effort-needed, expensive, error-prune Workaround 2: • Offline analytics + Online transactions • Break of serializability • Transaction-ordering attacks Workaround 3: • Minimum system instrumentation • NOT protocol level (e.g., Hyperledger Fabric v1.0+) • Data tampering Holistic Approach: • Protocol-level enhancement  Secure • Performance-aware  Efficient Account1_v1: 10 Account1_v2: 20 Account1_v3: 15 Account2_v2: 12
  • 7. Challenges • With clearly-defined transformation semantics • E.g • Map and reduce in Hadoop • Select, join and aggregation in SQL NO standardized operations • Tamper evidence • Integrity proof Byzantine environment • Gas mechanism • Verifier’s dilemma Ever-growing ledger
  • 8. Block Structure Block Header Prev Hash hash Txn Digest State Digest PoW Nonce Txn List
  • 9. Enhancement Basis (Merkle Tree Variants) • Limitation – Latest State only • Tamper evidence – Succinct digest (root hash) – Integrity proof (access path) Block Header Account Address and Assoicated Balance in Global State: 0xABC: 10 0xABCD: 15 0xABCE: 20 0xBC: 25 Previous Block Hash Transaction MPT Root Hash Nonce Receipt MPT Root Hash State MPT Root Hash = H(Z) nilA: H(X) B: H(Y)Z BC: H(V) C: 25X Y 10D: 15 E: 20V <Updated Chaincode ID>_<Key>: ccid1_k1 ccid2_k1 ccid3_k1 ccid3_k2 Block Header State Root Hash Previous Block Hash Transaction Root Hash G E F A B C ccid1_k1 ccid2_k1 ccid3_k1 ccid3_k2 D Bucket List (a) (b) Merkle Patricia Trie Merkle Bucket Tree
  • 11. Application Layer • Provenance specification – User-defined input-output dependency • Provenance query handler – Hist(stateID, [blockNum])  (val, blkStart, txnID) – Backward(stateID, blkNum)  List<(depStateID, depBlkNum)> – Forward(stateID, blkNum)  List<(depStateID, depBlkNum)> InputID1 InputID2 OutputID1 OutputID2 OutputID3 Backward Dependency Forward Dependency
  • 13. Execution Layer • Receive – Contract invocation context – Provenance specification • Compute – Transaction results – Concrete dependency • Prepare Merkle DAG – Introduce one layer of direction – Hash reference to encode provenance backward dependency
  • 14. Execution Layer • Forward tracking – Problem: Undecided forward dependency during state update • Solution – Lazily store forward dependency on the successor state entry
  • 15. Storage Layer • Problem – Efficient version-based (historical) query for a state ID • Solution: – Deterministic Append-only Skip List – Hash-based reference After appending versions 12 and 16
  • 16. Evaluation • MICRO benchmarking (vs. flat storage) – Preference to recent version query (with DASL) – More efficient BFS enabled by backtrack (with ForkBase) • MACRO benchmarking (applied to Hyperledger Fabric v0.6 and v1.3) – Negligible runtime overhead o Tiny proportion of latency – Negligible storage overhead o >70% of space for blocks o 25% for historical states o 2~4% for DASL indexes and hash pointers
  • 17. Performance of Provenance Query • vs. Workaround 2 – Compute data provenance offline and conditionally trigger online transaction
  • 18. Micro Performance of Provenance Query • vs. Workaround 1 – Dump everything into the current state • vs. Workaround 3 – Use Hyperledger Fabric’s built-in HistoryDB
  • 19. Runtime Overhead • Transaction processing Hyperledger Fabric v0.6 Hyperledger Fabric v1.3
  • 21. Conclusion • LineageChain – Enabler for provenance-dependent blockchain applications – Protocol-level enhancement w.r.t. efficiency and security – Negligible performance and storage overhead • Key designs – User-defined dependency specification – Merkle DAG with dependency tracking – DASL index to accelerate data provenance query – Adoption in Hyperledger Fabric (v0.6 & v1.3)