vChain: Enabling Verifjable Boolean Range Queries over Blockchain Databases Cheng Xu Ce Zhang Jianliang Xu {chengxu, cezhang, xujl}@comp.hkbu.edu.hk July 2, 2019 @ SIGMOD ’19 Department of Computer Science Hong Kong Baptist University
Background • Blockchain: Append-only data structure collectively maintained by a network of (untrusted) nodes • Hash chain • Consensus • Immutability • A wide range of applications • Digital identities • Decentralized notary • Distributed storage • Smart Contracts • Blockchain Structure [Credit: Wikipedia] 1/15 • Decentralization
Background • Blockchain: Append-only data structure collectively maintained by a network of (untrusted) nodes • Hash chain • Consensus • Immutability • A wide range of applications • Digital identities • Decentralized notary • Distributed storage • Smart Contracts Blockchain Applications [Credit: FAHM Technology Partners] 1/15 • Decentralization • · · ·
• Issue : relying on a trusted party who can faithfully answer user queries Blockchain Database Solutions • Increasing demand to search the data stored in blockchains • Blockchain database solutions to support SQL-like queries Blockchain Database Solutions 2/15
Blockchain Database Solutions • Increasing demand to search the data stored in blockchains • Blockchain database solutions to support SQL-like queries Blockchain Network Trusted Service Provider User Q R fetch data Workfmow of Existing Solutions 2/15 • Issue : relying on a trusted party who can faithfully answer user queries
• Storage: to store a complete replicate (240 GB for Bitcoin as of June 2019) • Computation: to verify the consensus proofs • Network: to synchronize with the network • Becoming full node • Basic solution to integrity-assured blockchain search • Better Solution : becoming light node and outsource computation R R Q Q Secure Blockchain Search Miner • Challenge : how to maintain query integrity? Miner Full Node Light Node Full Node • The assumption of trusted party may not always hold • Low cost: maintaining block headers only (< 50 MB for Bitcoin) • High cost 3/15
• Better Solution : becoming light node and outsource computation R R Q Q Secure Blockchain Search Light Node • Challenge : how to maintain query integrity? Miner Full Node Miner Full Node • The assumption of trusted party may not always hold • Low cost: maintaining block headers only (< 50 MB for Bitcoin) • Network: to synchronize with the network • Computation: to verify the consensus proofs • Storage: to store a complete replicate (240 GB for Bitcoin as of June 2019) • High cost 3/15 • Basic solution to integrity-assured blockchain search • Becoming full node
Secure Blockchain Search • Low cost: maintaining block headers only (< 50 MB for Bitcoin) • Challenge : how to maintain query integrity? Miner Full Node Light Node • The assumption of trusted party may not always hold Miner Full Node • Network: to synchronize with the network • Computation: to verify the consensus proofs • Storage: to store a complete replicate (240 GB for Bitcoin as of June 2019) • High cost 3/15 • Basic solution to integrity-assured blockchain search • Becoming full node • Better Solution : becoming light node and outsource computation R R Q · · · Q
Secure Blockchain Search • Low cost: maintaining block headers only (< 50 MB for Bitcoin) • Challenge : how to maintain query integrity? Miner Full Node Light Node • The assumption of trusted party may not always hold Miner Full Node • Network: to synchronize with the network • Computation: to verify the consensus proofs • Storage: to store a complete replicate (240 GB for Bitcoin as of June 2019) • High cost 3/15 • Basic solution to integrity-assured blockchain search • Becoming full node • Better Solution : becoming light node and outsource computation R R Q · · · Q
Solution #1: Smart Contract Computer Smart Contract CPU Computation Blockchain RAM Storage VM Blockchain Traditional • A trusted program to execute user-defjned capabilities • Ofger trusted storage and computation consensus protocol • Execution integrity is ensured by the data computation upon the blockchain 4/15 • Smart Contract reads and writes blockchain • Function as a trusted virtual machine
• Drawbacks • Poor scalability: transaction rate of the blockchain is limited • Privacy concern: query history is permanently and publicly stored in blockchain • High cost: executing smart contract in ETH requires paying gas to miners S. Hu, C. Cai, Q. Wang, C. Wang, X. Luo, and K. Ren, “Searching an encrypted cloud meets blockchain: A decentralized, reliable 24 USD per query ) 0 18 Ether ( INFOCOM 2018 requires 4 201 232 gas Solution #1: Smart Contract • Leverage Smart Contract for trusted computation • Long latency: long time for consensus protocol to confjrm a block [Credit: Oscar W] • Users read results from blockchain • Users submit query parameters to blockchain 5/15 • Miners execute computation and write results into blockchain and fair realization,” in IEEE INFOCOM , Honolulu, HI, USA, 2018, pp. 792–800.
Solution #1: Smart Contract • Leverage Smart Contract for trusted computation • Users submit query parameters to blockchain • Users read results from blockchain [Credit: Oscar W] • Long latency: long time for consensus protocol to confjrm a block • High cost: executing smart contract in ETH requires paying gas to miners S. Hu, C. Cai, Q. Wang, C. Wang, X. Luo, and K. Ren, “Searching an encrypted cloud meets blockchain: A decentralized, reliable 5/15 • Miners execute computation and write results into blockchain • Drawbacks • Poor scalability: transaction rate of the blockchain is limited • Privacy concern: query history is permanently and publicly stored in blockchain ( INFOCOM 2018 requires 4 201 232 gas = 0 . 18 Ether = 24 USD per query ) and fair realization,” in IEEE INFOCOM , Honolulu, HI, USA, 2018, pp. 792–800.
• Outsource queries to full node and verify the results using VC • General VC: Expressive but high overhead • Authenticated Data Structure (ADS)-based VC: Effjcient but requiring customized designs Solution #2: Verifjable Computation • Verifjable Computation (VC) • Computation is outsourced to untrusted service provider • Service provider returns results with cryptographic proof • Users verify integrity of results using the proof Blockchain Network Full Node User Q R proof synchronize vChain 6/15
Solution #2: Verifjable Computation • Verifjable Computation (VC) • Computation is outsourced to untrusted service provider • Service provider returns results with cryptographic proof • Users verify integrity of results using the proof • General VC: Expressive but high overhead Blockchain Network Full Node User Q synchronize vChain 6/15 • Outsource queries to full node and verify the results using VC • Authenticated Data Structure (ADS)-based VC: Effjcient but requiring customized designs � R , proof �
• Soundness: none of the objects returned as results have been tampered with and all of • Completeness: no valid result is missing regarding the query conditions Our Solution: vChain Full Node them satisfy the query conditions • Security requirements synchronize Q User Blockchain Network • Problem : Integrity-assured Search over Blockchain Data • • Commercial interest • Security vulnerabilities • Program glitches • Full node not trusted • Queries are outsourced to full nodes • Users become light nodes • System Model : 7/15 � R , proof �
• Soundness: none of the objects returned as results have been tampered with and all of • Completeness: no valid result is missing regarding the query conditions Our Solution: vChain Full Node them satisfy the query conditions • Security requirements synchronize Q User Blockchain Network • Problem : Integrity-assured Search over Blockchain Data • • Commercial interest • Security vulnerabilities • Program glitches • Full node not trusted • Queries are outsourced to full nodes • System Model : 7/15 • Users become light nodes � R , proof �
• Soundness: none of the objects returned as results have been tampered with and all of • Completeness: no valid result is missing regarding the query conditions Our Solution: vChain Full Node them satisfy the query conditions • Security requirements synchronize Q User Blockchain Network • Problem : Integrity-assured Search over Blockchain Data • Commercial interest • Security vulnerabilities • Program glitches • Full node not trusted • Queries are outsourced to full nodes • System Model : 7/15 • Users become light nodes � R , proof � • · · ·
Our Solution: vChain • Problem : Integrity-assured Search over Blockchain Data • Completeness: no valid result is missing regarding the query conditions them satisfy the query conditions • Security requirements synchronize Q User Full Node Blockchain Network • Commercial interest • Security vulnerabilities • Program glitches • Full node not trusted • Queries are outsourced to full nodes • System Model : 7/15 • Users become light nodes � R , proof � • · · · • Soundness: none of the objects returned as results have been tampered with and all of
Recommend
More recommend