Designing Blockchain-based Applications a Case Study for Imported Product Traceability Source: Future generation computer systems, Vol. 92, pp. 339-406, Mar. 2019 Authors: Xiwei Xu, Qinghua Lu, Yue Liu c, Liming Zhu, Haonan Yao, and Athanasios V. Vasilakos Speaker: Chit-Jie Chew Date: 4/18/2019 1,2,4: 澳洲 新南威爾斯大學 3,5: 中國 石油大學 6: 瑞典 呂勒奧理工大學
Outline 01 Introduction 02 Related works 03 Proposed scheme 04 Experimental results 05 Conclusions
Introduction - (1/2) Supply chain
Correctness? Introduction - (2/2) Product Product information Supplier Retailer Product information Correctness? Database Certificate Photo
Blockchain layer (On-chain) Related works - (1/2) Blockchain Transparent Non-tampering Traceable Blockchain layer (On-chain) Data layer (Off-chain) Blockchain Alice Participants h(data) h( ) = ( ) ?
Related works - (2/2) Smart contract Alice Blockchain Smart contract function selectItem(uint dollar, string item){ if (item == cola) if(dollar == 10) /output cola/ } Alice Blockchain Smart contract Address Value State Functions output cola selectItem(10,cola) Bob Cola Smart contract
Traceability provider Proposed scheme - (1/5) Architecture of originChain Supplier Traceability provider Blockchain admin Management layer Data layer (Off-chain) Blockchain layer (On-chain)
Proposed scheme - (2/5) Structural design of smart contracts Blockchain layer (On-chain) Data layer (Off-chain) Supplier Factory contract source code Factory contract Contract definition Blockchain admin Deploy once Cola Instantiate Registry contract Condition # legal contract Authorities [] Threshold Traceability provider Legal contract Addr smart contract Condition Binding
Proposed scheme - (3/5) Architecture of originChain Blockchain admin Smart contract management Permission control Blockchain management Deploy smart contracts Smart contracts code Smart contracts & blockchain permission control info. Management layer System permission control info.. Smart contract repository Permission control Blockchain network info. Smart contract address, smart contract ability Data layer (Off-chain) Blockchain layer (On-chain)
Proposed scheme - (4/5) Architecture of originChain Supplier Product & enterprise management Management layer Product & enterprise Data layer (Off-chain) Blockchain layer (On-chain)
Proposed scheme - (5/5) Architecture of originChain Traceability provider Sample test management Traceability management Test results H(Certificates), H(Photos) Test results Certificates, Photos Management layer Sample test result Traceability Transaction address Transaction address Data layer (Off-chain) Blockchain layer (On-chain)
multiSignature contract Experimental results - (1/2) Upgradability multiSignature contract dyanamicBiding
Experimental results - (2/2) Quantitative analysis Writing latency (ms) Reading latency (ms)
Conclusions Adaptability Traceability